
# Changelog

## 1.4.75

	- Fixed an issue where copying List fields in a multi-page form could result in List field values reverting.

## 1.4.74

	- Fixed regression where Copy Cat did not work as expected with [Gravity Forms Chain Selects](https://www.gravityforms.com/add-ons/chained-selects/).

## 1.4.73

	- Fixed an issue where Time fields would not copy correctly.

## 1.4.72

	- Fixed a PHP 8.1 warning.

## 1.4.71

	- Fixed issue with the Name field where if the Prefix input is present, only the Prefix would be copied.

## 1.4.70

	- Fixed an issue where Copy Cat could change user-entered values back to the copied value when navigating pages.

## 1.4.69

	- Fixed issue where Copy Cat would copy to conditionally hidden fields.

## 1.4.68

	- Improved performance of List field copying.

## 1.4.67

	- Fixed an issue with Address fields not copying correctly.

## 1.4.66

	- Fixed an issue where Select fields would not have their default values copied in some cases.
	- Fixed an issue with Multi Select field not copying values correctly to the List field.

## 1.4.65

	- Fixed an issue with Copy Cat not working for List fields.
	- Updated `require` call to use `plugin_dir_path()`.

## 1.4.64

	- Updated references to `String.prototype.format()` to use `String.prototype.gformFormat()` as the former will be removed in Gravity Forms 2.8.

## 1.4.63

	- Fixed issue where numbers using decimal comma format could get converted incorrectly. For example, `1.000` (one thousand) could become just `1` in some situations.

## 1.4.62

	- Fixed an issue where decimal comma numbers would be copied into the quantity field which does not support decimal comma formatted numbers.

## 1.4.61

	- Added ability to add "if" condition for conditional copying based on other field values. Example usage: `copy-1-to-2-if-3` to check if field ID `3` has a value. `copy-1-to-2-if-3.0` will copy if field ID `3`'s first choice is selected.
	- Added compatibility for GP Limit Date’s Inline Date Picker.

## 1.4.60

	- Added `sourceValues` as a fourth parameter for all instances of the `gpcc_copied_value` JavaScript filter.

## 1.4.59

	- Added support for using Advanced Phone Fields as source and target fields.

## 1.4.58

	- Added support for Select All/Unselect All buttons for checkbox fields.

## 1.4.57

	- Added German translations. Credit: Florian Rinnhofer of sportunion.at

## 1.4.56

	- Fixed issue with List fields not properly removing rows in target List fields if using newer form markup versions.

## 1.4.55

	- Fixed an issue that could occur with infinite recursion in some form setups with conditional logic.

## 1.4.54

	- Fixed performance issue when clearing values was triggered via conditional logic.
	- Fixed an issue where clearing values for checkbox triggers when a target input was revealed via conditional logic could created an infinite loop.

## 1.4.53

	- Fixed issue where GPCC's conditioanl logic handling would overwrite edited values when the form was reloaded.

## 1.4.52

	- Fixed issue where multiple values copied into a single input would not be cleared if unchecking a checkbox.
	- Fixed issue where using the `gpcc_copied_value` filter would prevent filtered values from being cleared if the checkbox controlling the copying is unchecked.
	- Added "Update URI" to plugin header to improve security.

## 1.4.51

	- Added `getSourceField` method to `gwCopyObj` to open up more possibilities with snippets such as automatic copying depending on checkbox value.

## 1.4.50

	- Improved conditional logic handling for accuracy and efficiency. (#40)

## 1.4.49

	- Improved performance by only triggering change events when value has actually changed.

## 1.4.48

	- Fixed issue where copying from one List field to another did not work in Gravity Forms 2.5.

## 1.4.47

	- Fixed issue where only the first Copy Cat class was respected when clearing values after a checkbox click.

## 1.4.46

	- Fixed a potential issue where conditionally hidden target fields may not be copied to if manual copy is used to also show the target fields.
	- Fixed an issue where multiple conditionally hidden inline date pickers would not trigger copy on page load.

## 1.4.45

	- Fixed a regression where GPCC would not copy values to hidden fields.

## 1.4.44

	- Fixed a potential issue where copied prices to radio fields may not update the form's total amount.
	- Fixed an issue where GPCC would not copy values to quantity fields correctly.

## 1.4.43

	- Fixed an issue where the [gpcc_copied_value](https://gravitywiz.com/documentation/gpcc_copied_value-js/) filter did not fire when copying checkbox or radio fields.

## 1.4.42

	- Fixed an issue where conditional logic may clear copied fields after hiding them multiple times.
	- Improved consistency of how Total field values are handled by always removing the currency symbol and thousand separators.

## 1.4.41

	- Fixed an issue where GPCC would apply custom CSS even when no value was copied.
	- Fixed potential recursion issue when pricing and conditional logic are used together.
	- Improved performance on larger forms.

## 1.4.40

	- Fixed a potential issue where manual copying may be triggered by conditional logic.

## 1.4.39

	- Fixed a potential error when GPCC is used in a form with a coupon code.

## 1.4.38

	- Fixed a potential issue where conditionally shown fields may not trigger a copy action.

## 1.4.37

	- Fixed an issue where GPCC could lag on large AJAX enabled forms.

## 1.4.36

	- Added a new parameter to [`gpcc_custom_copy`](https://gravitywiz.com/documentation/gpcc_custom_copy/) and [`gpcc_custom_clear`](https://gravitywiz.com/documentation/gpcc_custom_clear/) distinguishing the current field being operated on.

## 1.4.35

	- Fixed an issue where conditional logic may not trigger on target radio fields.

## 1.4.34

	- Added `gpcc_custom_copy` and `gpcc_custom_clear` filters to handle corner cases.

## 1.4.33

	- Added GF Chained Selects Support.

## 1.4.32

	- Fixed issue where using a Password field with confirmation as a source field would result in the password and confirm password inputs being concatenated rather than just copying the password.

## 1.4.31

	- Fixed a regression where GPCC may throw a JS error if the class is added to the target field.

## 1.4.30

	- Fixed issue where value filtered with deprecated filter was ignored.

## 1.4.29

	- Fixed a regression with subfields copying introduced in 1.4.26.

## 1.4.28

	- Fixed an issue where the new `gpcc-populated` classes may apply on page load.

## 1.4.27

	- Added `gpcc-populated-input` and `gpcc-populated` to mark populated inputs and their parent field container respectively.

## 1.4.26

	- Fixed an issue where values weren't copied if the target field is a rich text editor.
	- Fixed issue where clicking a checkbox would result in a JavaScript error rather than copying values when using Gravity Forms 2.5 and newer.

## 1.4.25

	- Fixed an issue where clearing copied values would fail for checkboxes.

## 1.4.24

	- Fixed issue where Drop Down value was set to null when attempting to populate value that did not exist.
	- Updated plugin author.

## 1.4.23

	- Added support for copying simple value to their equivalent value in a choice-based Pricing field.

## 1.4.22

	- Added "gpcc_field_group" filter to allow including non-GF inputs in the Copy Cat field group.

## 1.4.21

	- Added support for targeting Credit Card field expiration date.

## 1.4.20

	- Fixed issue where when resuming from Gravity Forms' Save & Continue - and - deleting an entry from a source List field, it would remove all except one row from the target List field.

## 1.4.19

	- Fixed issue where no rows were added when Maximum Rows was not set.

## 1.4.18

    - Fixed issue when copying from List field to read-only List field (via GP Read Only).
    - Fixed issue with row count when copying from List field to List field.
    - Added support for respecting List field "Maximum Rows" setting.
    - Updated bootstrap for WordPress styling changes.

## 1.4.17

    - Added support for copying from specific List field column to another List field column.
    - Added support for clearing a target List field when a row from the source List is removed.

## 1.4.16

    - Added 'gpcc_copied_value' filter to allow modifying the copied value before it is inserted into the target field.

## 1.4.15

    - Added support for not overwriting target values by default when the form is rendered; resolves issue where target values were overridden when loading data via Save & Continue.
    - Added 'gpcc_overwrite_existing_values_on_init' filter; allows forcing source values to overwite target values when form is rendered.
    - Updated gwCopyObj JS object to be more extensible.

## 1.4.14

    - Fixed issue in gwCopyCat class where assignment issue result in errors.

## 1.4.13

    - Updated copyValues() to trigger conditional logic for unchecked inputs in addition to checked inputs.

## 1.4.12

    - Updated forceEmptyCopy option to default to the value of isOverride; this will automatically overwriting existing values with empty valeus.

## 1.4.11

    - Fixed issue where coping to hidden fields was broken in v1.4

## 1.4.9

    - Fixed issue where target List field rows could be completely removed when targeted from another List field.
    - Fixed issue where read only checkboxes were unchecked incorrectly have being checked.

## 1.4.8

    - Fixed issue where copying checkbox field to checkbox field did not correctly clear unselected checkbox fields from the target field.

## 1.4.7

    - Fixed issue where targeting a field from itself (via copy cat class) would cause infinte loop.

## 1.4.6

    - Fixed issue introduced in 1.4.5 that would incorrectly sort values when copying from multi-input fields.

## 1.4.5

    - Added support for copying to/from a specific List field column or input.
    - Fixed issue where copying to a clickable field would not correctly "check" the field.

## 1.4.4

    - Updated to only select inputs from inside the .ginput_container class.

## 1.4.3

    - Added 'gpcc_copy_cat_fields' filter to allow adding copy cat fields programmatically. See: https://gist.github.com/spivurno/51df05b385c0b93f3eef7c582a2d9d13

## 1.4.2

    - Updated List field support to copy by row/column index; better supports mapping non-identical List fields to each other.

## 1.4.1

    - Fixed issue were gravityforms.js dependency was not enforced.

## 1.4

    - Added support for copying to and from List fields. A special thanks to [Edi Weigh](https://ff3dm.com/) for sponsoring this feature.

## 1.3.13

    - Fixed issue where conditional logic based on checkable fields (i.e radio, checkbox) was not applied when copying to a checkable field

## 1.3.12

    - Added support for clearing deselected checkbox values when copying into a Single Line Text field

## 1.3.11

    - Fixed issue when clearing checked checkboxes

## 1.3.9

    - Fixed issue where Radio Buttons could be copied from but not to

## 1.3.8

    - Fixed issue where Enhanced-UI-enabled drop downs did not copy correctly

## 1.3.7

    - Updated so copied values overwrite existing values by default.
    - Updated 'gp-copy-cat' script to depend on 'jquery'

## 1.3.6

    - Updated perk to use GP_Bootstrap

## 1.3.5

    - Added support for copying values from one form to another (on the same page)

## 1.3.4

    - Updated init copy to no longer force overwriting values (caused changes to be overwritten on validation error)

## 1.3.3

    - Added initial support for field-type-sensitive copying (i.e. copying from calculation field to quantity field: 1,024 is converted to 1024)

## 1.3.2

    - Fixed issue where unchecked checkboxes were copying their associated copy cat fields on form render

## 1.3.1

    - Added support for processing checkbox-based copy cats on init; allows checking box on page 1 to copy value to field on page 2

## 1.3

    - Major overhaul to codebase to better confirm to Gravity Forms standards
    - Updated JS to be loaded in separate file
    - Add helper functions has_copy_cat_field() and get_copy_cat_fields() to consolidate these checks and processes

## 1.2.7

    - Added support for auto-copying from a drop down
    - Added support for auto-copying when a value is pre-populated

## 1.2.6

    - Fixed issue where values were not clearing from field when checkbox was unchecked

## 1.2.5

    - Added support for copying checkboxes to checkboxes

## 1.2.4

    - Added support for targeting Quantity inputs on Single Product fields

## 1.2.3

    - Fixed issue where targetting specific input of email field did not allow copying of value

## 1.2.2

    - Added support for copying from specific inputs of multi-input fields to single input fields or specific inputs of other multi-input fields

## 1.2.1

    - Added support for copying textareas

## 1.2

    - Updated support for copying only the selected value from radio and checkbox fields

## 1.1

    - Added support for copying values when the field value changes, allowing support for automatically copying a value from one field two another without a checkbox

## 1.0.7

    - Fixed bug introduced in 1.0.6 where Country (if select type) was not copied

## 1.0.6

    - Fixed issue where calcultions were not updated when copy cat enabled fields were updated

## 1.0.5

    - Fixed issue which caused Copy Cat to break when applied to multiple forms displayed on the same page

## 1.0.4

    - Added namespace to checkbox click event which triggers copy cat functionality ("click.gpcopycat")
    - Added form-specific instance of gwCopyObj to #gform_wrapper div for use in customizations

## 1.0.3

    - Updated minimum required version of Gravity Perks: 1.0.6
    - Added 'gpcc_overwrite_existing_values' filter to allow users to indicate whether existing values in fields being copied *to* should have their value overwritten if already have a value

## 1.0.1

    - Updated minimum required version of Gravity Perks: 1.0.5
    - Updated documentation to return GravityWiz.com URL
