Changeset 3206929
- Timestamp:
- 12/12/2024 11:50:35 AM (16 months ago)
- Location:
- extra-product-data-for-woocommerce
- Files:
-
- 8 added
- 4 deleted
- 18 edited
- 37 copied
-
tags/1.7.0 (copied) (copied from extra-product-data-for-woocommerce/trunk)
-
tags/1.7.0/CHANGELOG.md (copied) (copied from extra-product-data-for-woocommerce/trunk/CHANGELOG.md) (1 diff)
-
tags/1.7.0/LICENSE (copied) (copied from extra-product-data-for-woocommerce/trunk/LICENSE)
-
tags/1.7.0/assets (copied) (copied from extra-product-data-for-woocommerce/trunk/assets)
-
tags/1.7.0/assets/css/admin-backend.css (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/css/admin-backend.css) (1 diff)
-
tags/1.7.0/assets/css/forms.css (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/css/forms.css)
-
tags/1.7.0/assets/css/order-frontend.css (added)
-
tags/1.7.0/assets/css/user-frontend.css (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/css/user-frontend.css)
-
tags/1.7.0/assets/js/wc-conditional-rules-js.js (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/js/wc-conditional-rules-js.js)
-
tags/1.7.0/assets/js/wc-meta-boxes-order.js (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/js/wc-meta-boxes-order.js)
-
tags/1.7.0/assets/js/wc-meta-boxes-product.js (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/js/wc-meta-boxes-product.js) (1 diff)
-
tags/1.7.0/assets/js/wc-meta-boxes-product.js.LICENSE.txt (copied) (copied from extra-product-data-for-woocommerce/trunk/assets/js/wc-meta-boxes-product.js.LICENSE.txt)
-
tags/1.7.0/assets/js/wc-user-order.js (added)
-
tags/1.7.0/extra-product-data-for-woocommerce.php (copied) (copied from extra-product-data-for-woocommerce/trunk/extra-product-data-for-woocommerce.php) (3 diffs)
-
tags/1.7.0/index.html (copied) (copied from extra-product-data-for-woocommerce/trunk/index.html)
-
tags/1.7.0/readme.txt (copied) (copied from extra-product-data-for-woocommerce/trunk/readme.txt) (2 diffs)
-
tags/1.7.0/src (copied) (copied from extra-product-data-for-woocommerce/trunk/src)
-
tags/1.7.0/src/classes/class-exprdawc-admin-order.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-admin-order.php) (3 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-helper.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-helper.php) (3 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-main.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-main.php) (3 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-overview-cart.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-overview-cart.php) (4 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-overview-order.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-overview-order.php) (1 diff)
-
tags/1.7.0/src/classes/class-exprdawc-product-page-backend.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-product-page-backend.php) (7 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-product-page-fronted.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-product-page-fronted.php) (2 diffs)
-
tags/1.7.0/src/classes/class-exprdawc-settings.php (added)
-
tags/1.7.0/src/classes/class-exprdawc-user-order.php (added)
-
tags/1.7.0/src/functions.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/functions.php)
-
tags/1.7.0/src/lib/core.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/lib/core.php)
-
tags/1.7.0/src/templates/view/admin (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/admin)
-
tags/1.7.0/src/templates/view/admin/html-admin-order-edit-form.php (deleted)
-
tags/1.7.0/src/templates/view/admin/html-admin-order-edit-overview-js.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/admin/html-admin-order-edit-overview-js.php)
-
tags/1.7.0/src/templates/view/admin/html-admin-order-edit-overview.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/admin/html-admin-order-edit-overview.php)
-
tags/1.7.0/src/templates/view/fields (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields)
-
tags/1.7.0/src/templates/view/fields/checkbox.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/checkbox.php) (1 diff)
-
tags/1.7.0/src/templates/view/fields/custom-field-end.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/custom-field-end.php)
-
tags/1.7.0/src/templates/view/fields/custom-field-start.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/custom-field-start.php)
-
tags/1.7.0/src/templates/view/fields/date.php (deleted)
-
tags/1.7.0/src/templates/view/fields/email.php (deleted)
-
tags/1.7.0/src/templates/view/fields/number.php (deleted)
-
tags/1.7.0/src/templates/view/fields/radio.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/radio.php) (1 diff)
-
tags/1.7.0/src/templates/view/fields/select.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/select.php) (1 diff)
-
tags/1.7.0/src/templates/view/fields/text.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/text.php) (1 diff)
-
tags/1.7.0/src/templates/view/fields/textarea.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/fields/textarea.php) (1 diff)
-
tags/1.7.0/src/templates/view/html-tab-extra-attributes-fields.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/html-tab-extra-attributes-fields.php) (1 diff)
-
tags/1.7.0/src/templates/view/html-tab-extra-attributes.php (copied) (copied from extra-product-data-for-woocommerce/trunk/src/templates/view/html-tab-extra-attributes.php)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/assets/css/admin-backend.css (modified) (1 diff)
-
trunk/assets/css/order-frontend.css (added)
-
trunk/assets/js/wc-meta-boxes-product.js (modified) (1 diff)
-
trunk/assets/js/wc-user-order.js (added)
-
trunk/extra-product-data-for-woocommerce.php (modified) (3 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/src/classes/class-exprdawc-admin-order.php (modified) (3 diffs)
-
trunk/src/classes/class-exprdawc-helper.php (modified) (3 diffs)
-
trunk/src/classes/class-exprdawc-main.php (modified) (3 diffs)
-
trunk/src/classes/class-exprdawc-overview-cart.php (modified) (4 diffs)
-
trunk/src/classes/class-exprdawc-overview-order.php (modified) (1 diff)
-
trunk/src/classes/class-exprdawc-product-page-backend.php (modified) (7 diffs)
-
trunk/src/classes/class-exprdawc-product-page-fronted.php (modified) (2 diffs)
-
trunk/src/classes/class-exprdawc-settings.php (added)
-
trunk/src/classes/class-exprdawc-user-order.php (added)
-
trunk/src/templates/view/fields/checkbox.php (modified) (1 diff)
-
trunk/src/templates/view/fields/radio.php (modified) (1 diff)
-
trunk/src/templates/view/fields/select.php (modified) (1 diff)
-
trunk/src/templates/view/fields/text.php (modified) (1 diff)
-
trunk/src/templates/view/fields/textarea.php (modified) (1 diff)
-
trunk/src/templates/view/html-tab-extra-attributes-fields.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
extra-product-data-for-woocommerce/tags/1.7.0/CHANGELOG.md
r3204699 r3206929 1 # [1.6.0](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.5.1...v1.6.0) (2024-12-09) 2 3 4 ### Features 5 6 * add setting page and add options for "Show on Cart" and "Show on Checkout" ([80a68f2](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/commit/80a68f2ee47a7a04c179f819bb64474f3beec4a4)) 7 8 ## [1.5.1](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.5.0...v1.5.1) (2024-12-09) 9 10 11 ### Bug Fixes 12 13 * edit button dont visible on order overview ([3276eb3](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/commit/3276eb306b338cb307f95b97b71433b350926efd)) 14 1 15 # [1.5.0](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.4.1...v1.5.0) (2024-12-09) 2 16 -
extra-product-data-for-woocommerce/tags/1.7.0/assets/css/admin-backend.css
r3203398 r3206929 1 #extra-product-data{padding:10px}table.exprdawc_attribute_table td{vertical-align:middle!important}table.exprdawc_attribute_table td.exprdawc_attribute_require_checkbox label{padding-top:15px}table.exprdawc_field_table{border-collapse:collapse;width:100%}table.exprdawc_field_table tr:nth-child(2n){background-color:#f9f9f9}table.exprdawc_field_table tr.exprdawc_fields_wrapper{border-bottom:1px solid #ddd}table.exprdawc_field_table tr.exprdawc_fields_wrapper:hover{background-color:#f1f1f1}table.exprdawc_field_table tr.exprdawc_fields_wrapper:last-child{border-bottom:none}table.exprdawc_field_table td{padding:0}table.exprdawc_field_table tfoot tr{background-color:#f5f5f5;border:1px solid #ccc}table.exprdawc_field_table tfoot td{padding:10px;text-align:center;vertical-align:middle}table.exprdawc_field_table tfoot .button{line-height:13px;padding:5px}table.exprdawc_fields_table{border-collapse:collapse;width:100%}table.exprdawc_fields_table tr{border:0}table.exprdawc_fields_table tbody td{padding:10px;vertical-align:middle}table.exprdawc_fields_table tbody td input[type=number],table.exprdawc_fields_table tbody td input[type=text],table.exprdawc_fields_table tbody td select,table.exprdawc_fields_table tbody td textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}table.exprdawc_fields_table tbody td select{text-overflow:ellipsis}table.exprdawc_fields_table tbody td button.add_rule,table.exprdawc_fields_table tbody td button.exprdawc_remove_custom_field,table.exprdawc_fields_table tbody td button.remove_rule{line-height:13px;padding:5px}table.exprdawc_fields_table tbody td.move i{cursor:move}table.exprdawc_fields_table tbody td.cl-arr i{cursor:pointer}table.exprdawc_settings_table{width:100%}table.exprdawc_settings_table label.exprdawc_label{align-items:center;display:flex;float:none;margin:5px 0;padding:0;text-align:left;width:auto}table.exprdawc_settings_table label.exprdawc_label .checkbox{margin-right:5px!important}table.exprdawc_settings_table td{padding:10px;vertical-align:middle}table.exprdawc_options_table{border:1px solid #ccc;border-collapse:collapse;margin-top:10px;width:100%}table.exprdawc_options_table td,table.exprdawc_options_table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}table.exprdawc_options_table th{background-color:#f1f1f1}table.exprdawc_options_table tr:hover{background-color:#f9f9f9}table.exprdawc_options_table .button{background-color:#0073aa;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}table.exprdawc_options_table .button:hover{background-color:#005a87;color:#fff}.exprdawc_attribute h3 .sort{cursor:move;float:right;font-size:15px;font-weight:400;height:26px;margin-right:.5em;text-align:center;vertical-align:middle;width:17px}.exprdawc_attribute h3 .sort:before{color:#999;content:" \f333";display:block;float:left;font-family:Dashicons;height:100%;line-height:28px;text-align:center;width:17px}.exprdawc_attribute h3 .sort:hover:before{color:#777}.exprdawc_attribute h3:hover .sort,.exprdawc_attribute.ui-sortable-helper .sort{visibility:visible}.exprdawc_attribute.wc-metabox.postbox{border-left:0;border-right:0;border-top:0}.exprdawc_panel{display:block}.exprdawc_panel h2{font-size:1.2em!important;padding:0 0 10px!important}.exprdawc_panel .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3 .sort,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.delete,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.edit{margin-top:.25em}#woocommerce-coupon-data ul.wc-tabs li.custom_fields_options a:before,#woocommerce-product-data ul.wc-tabs li.custom_fields_options a:before,.woocommerce ul.wc-tabs li.custom_fields_options a:before{content:"\f163";font-family:Dashicons}.exprdawc_conditional_logic_table{border-collapse:collapse;margin-bottom:20px;width:100%}.exprdawc_conditional_logic_table td,.exprdawc_conditional_logic_table th{border:1px solid #ddd;padding:10px;text-align:left}.exprdawc_conditional_logic_table th{background-color:#f9f9f9;font-weight:700}.exprdawc_conditional_logic_table .exprdawc_label{display:block;font-weight:700;margin-bottom:5px}.exprdawc_conditional_logic_table .exprdawc_input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}.exprdawc_conditional_logic_table .exprdawc_checkbox{width:auto}.exprdawc_conditional_logic_table .exprdawc_textarea{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}.exprdawc_conditional_logic_table .exprdawc_no_entry_message{color:#a00;font-weight:700}.exprdawc_conditional_logic_table h2{text-align:left;text-transform:uppercase}.exprdawc_conditional_logic_table .exprdawc_rule_group{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule{align-items:center;display:flex;margin-bottom:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .exprdawc_input{margin-right:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .button{margin-left:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .add_rule_group{margin-top:10px}.exprdawc_no_entry_message{display:block;margin:10px 0 0;padding-bottom:1em;padding-top:75px;position:relative;text-align:center}.exprdawc_no_entry_message:before{color:#eee;content:"\f163";font-family:Dashicons;font-size:70px;left:50%;position:absolute;top:0;transform:translateX(-50%)}p.exprdawc_toolbar{align-items:center;background-color:#f5f5f5;border:1px solid #ccc;display:flex;justify-content:center;text-align:center}a.exprdawc-export,a.exprdawc-import{color:#0073aa;font-size:small;margin:0 5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before,a.exprdawc-import:before{font-family:Dashicons;margin-right:5px;position:relative}a.exprdawc-export:hover,a.exprdawc-import:hover{color:#005a87;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before{content:"\f346"}a.exprdawc-import:before{content:"\f342"}1 #extra-product-data{padding:10px}table.exprdawc_attribute_table td{vertical-align:middle!important}table.exprdawc_attribute_table td.exprdawc_attribute_require_checkbox label{padding-top:15px}table.exprdawc_field_table{border-collapse:collapse;width:100%}table.exprdawc_field_table tr:nth-child(2n){background-color:#f9f9f9}table.exprdawc_field_table tr.exprdawc_fields_wrapper{border-bottom:1px solid #ddd}table.exprdawc_field_table tr.exprdawc_fields_wrapper:hover{background-color:#f1f1f1}table.exprdawc_field_table tr.exprdawc_fields_wrapper:last-child{border-bottom:none}table.exprdawc_field_table td{padding:0}table.exprdawc_field_table tfoot tr{background-color:#f5f5f5;border:1px solid #ccc}table.exprdawc_field_table tfoot td{padding:10px;text-align:center;vertical-align:middle}table.exprdawc_field_table tfoot .button{line-height:13px;padding:5px}table.exprdawc_fields_table{border-collapse:collapse;width:100%}table.exprdawc_fields_table tr{border:0}table.exprdawc_fields_table tbody td{padding:10px;vertical-align:middle}table.exprdawc_fields_table tbody td input[type=number],table.exprdawc_fields_table tbody td input[type=text],table.exprdawc_fields_table tbody td select,table.exprdawc_fields_table tbody td textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}table.exprdawc_fields_table tbody td select{text-overflow:ellipsis}table.exprdawc_fields_table tbody td button.add_rule,table.exprdawc_fields_table tbody td button.exprdawc_remove_custom_field,table.exprdawc_fields_table tbody td button.remove_rule{line-height:13px;padding:5px}table.exprdawc_fields_table tbody td.move i{cursor:move}table.exprdawc_fields_table tbody td.cl-arr i{cursor:pointer}table.exprdawc_settings_table{width:100%}table.exprdawc_settings_table label.exprdawc_label{align-items:center;display:flex;float:none;margin:5px 0;padding:0;text-align:left;width:auto}table.exprdawc_settings_table label.exprdawc_label .checkbox{margin-right:5px!important}table.exprdawc_settings_table td{padding:10px;vertical-align:middle}table.exprdawc_options_table{border:1px solid #ccc;border-collapse:collapse;margin-top:10px;width:100%}table.exprdawc_options_table td,table.exprdawc_options_table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}table.exprdawc_options_table th{background-color:#f1f1f1}table.exprdawc_options_table tr:hover{background-color:#f9f9f9}table.exprdawc_options_table .button{background-color:#0073aa;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}table.exprdawc_options_table .button:hover{background-color:#005a87;color:#fff}.exprdawc_attribute h3 .sort{cursor:move;float:right;font-size:15px;font-weight:400;height:26px;margin-right:.5em;text-align:center;vertical-align:middle;width:17px}.exprdawc_attribute h3 .sort:before{color:#999;content:"";display:block;float:left;font-family:Dashicons;height:100%;line-height:28px;text-align:center;width:17px}.exprdawc_attribute h3 .sort:hover:before{color:#777}.exprdawc_attribute h3:hover .sort,.exprdawc_attribute.ui-sortable-helper .sort{visibility:visible}.exprdawc_attribute.wc-metabox.postbox{border-left:0;border-right:0;border-top:0}.exprdawc_panel{display:block}.exprdawc_panel h2{font-size:1.2em!important;padding:0 0 10px!important}.exprdawc_panel .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3 .sort,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.delete,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.edit{margin-top:.25em}#woocommerce-coupon-data ul.wc-tabs li.custom_fields_options a:before,#woocommerce-product-data ul.wc-tabs li.custom_fields_options a:before,.woocommerce ul.wc-tabs li.custom_fields_options a:before{content:"";font-family:Dashicons}.exprdawc_conditional_logic_table{border-collapse:collapse;margin-bottom:20px;width:100%}.exprdawc_conditional_logic_table td,.exprdawc_conditional_logic_table th{border:1px solid #ddd;padding:10px;text-align:left}.exprdawc_conditional_logic_table th{background-color:#f9f9f9;font-weight:700}.exprdawc_conditional_logic_table .exprdawc_label{display:block;font-weight:700;margin-bottom:5px}.exprdawc_conditional_logic_table .exprdawc_input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}.exprdawc_conditional_logic_table .exprdawc_checkbox{width:auto}.exprdawc_conditional_logic_table .exprdawc_textarea{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}.exprdawc_conditional_logic_table .exprdawc_no_entry_message{color:#a00;font-weight:700}.exprdawc_conditional_logic_table h2{text-align:left;text-transform:uppercase}.exprdawc_conditional_logic_table .exprdawc_rule_group{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule{align-items:center;display:flex;margin-bottom:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .exprdawc_input{margin-right:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .button{margin-left:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .add_rule_group{margin-top:10px}.exprdawc_no_entry_message{display:block;margin:10px 0 0;padding-bottom:1em;padding-top:75px;position:relative;text-align:center}.exprdawc_no_entry_message:before{color:#eee;content:"";font-family:Dashicons;font-size:70px;left:50%;position:absolute;top:0;transform:translateX(-50%)}p.exprdawc_toolbar{align-items:center;background-color:#f5f5f5;border:1px solid #ccc;display:flex;justify-content:center;text-align:center}a.exprdawc-export,a.exprdawc-import{color:#0073aa;font-size:small;margin:0 5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before,a.exprdawc-import:before{font-family:Dashicons;margin-right:5px;position:relative}a.exprdawc-export:hover,a.exprdawc-import:hover{color:#005a87;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before{content:""}a.exprdawc-import:before{content:""} -
extra-product-data-for-woocommerce/tags/1.7.0/assets/js/wc-meta-boxes-product.js
r3203398 r3206929 1 1 /*! For license information please see wc-meta-boxes-product.js.LICENSE.txt */ 2 (()=>{var e,t={976:()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function n(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var o=a.call(t,n||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}jQuery((function(e){new(function(){return n=function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.fieldIndex=e("#exprdawc_field_body tr.exprdawc_attribute").length,this.isDirty=!1,this.init()},a=[{key:"init",value:function(){this.bindEvents(),this.noEntryContent()}},{key:"bindEvents",value:function(){e("#exprdawc_add_custom_field").on("click",this.addCustomField.bind(this)),e(document).on("click",".exprdawc_remove_custom_field",this.removeCustomField.bind(this)),e(document).on("change",".exprdawc_attribute_type",this.toggleOptions.bind(this)),e(document).on("click",".toggle-options",this.toggleOptionsTable.bind(this)),e(document).on("click",".add_option",this.addOption.bind(this)),e(document).on("click",".remove_option",this.removeOption.bind(this)),e(document).on("click","a.exprdawc-export",this.exportContent.bind(this)),e(document).on("click","a.exprdawc-import",this.importContent.bind(this)),e(document).on("change",".exprdawc_input",this.setDirty.bind(this)),e(document).on("change",".exprdawc_autocomplete_field",this.checkAutocompleteField.bind(this)),e(document).on("click",".add_rule_group",this.addRuleGroup.bind(this)),e(document).on("click",".add_rule",this.addRule.bind(this)),e(document).on("click",".remove_rule",this.removeRule.bind(this)),e(document).on("change",".exprdawc_conditional_operator",this.toggleConditionalValueField.bind(this)),e(document).on("change",".exprdawc_conditional_logic_field",this.toggleConditionalTable.bind(this)),this.toggleConditionalValueFieldAll(),e(".exprdawc_field_table tbody").sortable({items:"tr.exprdawc_fields_wrapper",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}}),e(document).on("mouseenter",".exprdawc_options_table tbody",(function(){e(this).sortable({items:"tr",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}})})),e("#exprdawc_attribute_container").on("input",".exprdawc_attribute .exprdawc_attribute_input_name input",(function(){var t=e(this).val(),n=e(this).closest(".exprdawc_attribute").find(".attribute_name");t&&n.text(t)}))}},{key:"addCustomField",value:function(){this.fieldIndex++,this.setDirty(),e("#exprdawc_field_body").append('\n <tr class="exprdawc_fields_wrapper">\n <td colspan="5">\n <table class="exprdawc_fields_table" data-index="'.concat(this.fieldIndex,'">\n\t <tbody>\n <tr class="exprdawc_attribute">\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td class="cl-arr"><i class="dashicons dashicons-arrow-up toggle-options"></i></td>\n <td class="exprdawc_attribute_input_name">\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.label_placeholder,'" />\n </td>\n <td>\n <select id="exprdawc_attribute_type_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][type]" class="exprdawc_attribute_type">\n <option value="text">').concat(exprdawc_admin_meta_boxes.short_text,'</option>\n <option value="long_text">').concat(exprdawc_admin_meta_boxes.long_text,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="number">').concat(exprdawc_admin_meta_boxes.number,'</option>\n <option value="date">').concat(exprdawc_admin_meta_boxes.date,'</option>\n <option value="yes-no">').concat(exprdawc_admin_meta_boxes.yes_no,'</option>\n <option value="radio">').concat(exprdawc_admin_meta_boxes.radio,'</option>\n <option value="checkbox">').concat(exprdawc_admin_meta_boxes.checkbox,'</option>\n <option value="select">').concat(exprdawc_admin_meta_boxes.select,'</option>\n </select>\n </td>\n <td>\n <button type="button" class="exprdawc_remove_custom_field button"><i class="dashicons dashicons-trash"></i></button>\n <input type="hidden" class="exprdawc_attribute_index" name="extra_product_fields[').concat(this.fieldIndex,'][index]" value="').concat(this.fieldIndex,'"/>\n </td>\n </tr>\n <tr class="exprdawc_options" style="display: none;">\n <td colspan="5">\n\n <table class="exprdawc_settings_table exprdawc_general_table">\n <tbody>\n\n \x3c!-- Text Area Option/Settings --\x3e\n <tr>\n <td class="exprdawc_attribute_require_checkbox">\n <label class="exprdawc_label" for="exprdawc_text_required_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_required_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][required]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.require_input,'\n </label> \n <label class="exprdawc_label" for="exprdawc_text_autofocus_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_autofocus_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][autofocus]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_autofocus,'\n </label>\n\n \x3c!-- Enable Conditional Logic and show table --\x3e\n <label class="exprdawc_label" for="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_conditional_logic_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_logic]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_conditional_logic,'\n </label>\n </td>\n <td class="exprdawc_attribute_placeholder_text">\n <label class="exprdawc_label" for="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.placeholder_text,'</label>\n <input type="text" id="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_placeholder" name="extra_product_fields[').concat(this.fieldIndex,'][placeholder_text]" placeholder="').concat(exprdawc_admin_meta_boxes.placeholder_text,'" />\n </td>\n <td class="exprdawc_attribute_help_text">\n <label class="exprdawc_label" for="exprdawc_text_help_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.help_text,'</label>\n <input type="text" id="exprdawc_text_help_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_helptext" name="extra_product_fields[').concat(this.fieldIndex,'][help_text]" placeholder="').concat(exprdawc_admin_meta_boxes.help_text,'" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_autocomplete_function_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.autocomplete_function,'</label>\n <select id="exprdawc_autocomplete_function_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][autocomplete]" class="exprdawc_input exprdawc_attribute_type">\n <option value="on">').concat(exprdawc_admin_meta_boxes.autocomplete_on,'</option>\n <option value="off">').concat(exprdawc_admin_meta_boxes.autocomplete_off,'</option>\n <option value="address-level1">').concat(exprdawc_admin_meta_boxes.address_level1,'</option>\n <option value="address-level2">').concat(exprdawc_admin_meta_boxes.address_level2,'</option>\n <option value="address-level3">').concat(exprdawc_admin_meta_boxes.address_level3,'</option>\n <option value="address-level4">').concat(exprdawc_admin_meta_boxes.address_level4,'</option>\n <option value="address-line1">').concat(exprdawc_admin_meta_boxes.address_line1,'</option>\n <option value="address-line2">').concat(exprdawc_admin_meta_boxes.address_line2,'</option>\n <option value="address-line3">').concat(exprdawc_admin_meta_boxes.address_line3,'</option>\n <option value="bday">').concat(exprdawc_admin_meta_boxes.bday,'</option>\n <option value="bday-day">').concat(exprdawc_admin_meta_boxes.bday_day,'</option>\n <option value="bday-month">').concat(exprdawc_admin_meta_boxes.bday_month,'</option>\n <option value="bday-year">').concat(exprdawc_admin_meta_boxes.bday_year,'</option>\n <option value="cc-additional-name">').concat(exprdawc_admin_meta_boxes.cc_additional_name,'</option>\n <option value="cc-csc">').concat(exprdawc_admin_meta_boxes.cc_csc,'</option>\n <option value="cc-exp">').concat(exprdawc_admin_meta_boxes.cc_exp,'</option>\n <option value="cc-exp-month">').concat(exprdawc_admin_meta_boxes.cc_exp_month,'</option>\n <option value="cc-exp-year">').concat(exprdawc_admin_meta_boxes.cc_exp_year,'</option>\n <option value="cc-family-name">').concat(exprdawc_admin_meta_boxes.cc_family_name,'</option>\n <option value="cc-given-name">').concat(exprdawc_admin_meta_boxes.cc_given_name,'</option>\n <option value="cc-name">').concat(exprdawc_admin_meta_boxes.cc_name,'</option>\n <option value="cc-number">').concat(exprdawc_admin_meta_boxes.cc_number,'</option>\n <option value="cc-type">').concat(exprdawc_admin_meta_boxes.cc_type,'</option>\n <option value="country">').concat(exprdawc_admin_meta_boxes.country,'</option>\n <option value="country-name">').concat(exprdawc_admin_meta_boxes.country_name,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="language">').concat(exprdawc_admin_meta_boxes.language,'</option>\n <option value="photo">').concat(exprdawc_admin_meta_boxes.photo,'</option>\n <option value="postal-code">').concat(exprdawc_admin_meta_boxes.postal_code,'</option>\n <option value="sex">').concat(exprdawc_admin_meta_boxes.sex,'</option>\n <option value="street-address">').concat(exprdawc_admin_meta_boxes.street_address,'</option>\n <option value="tel">').concat(exprdawc_admin_meta_boxes.tel,'</option>\n <option value="tel-area-code">').concat(exprdawc_admin_meta_boxes.tel_area_code,'</option>\n <option value="tel-country-code">').concat(exprdawc_admin_meta_boxes.tel_country_code,'</option>\n <option value="tel-extension">').concat(exprdawc_admin_meta_boxes.tel_extension,'</option>\n <option value="tel-local">').concat(exprdawc_admin_meta_boxes.tel_local,'</option>\n <option value="tel-local-prefix">').concat(exprdawc_admin_meta_boxes.tel_local_prefix,'</option>\n <option value="tel-local-suffix">').concat(exprdawc_admin_meta_boxes.tel_local_suffix,'</option>\n <option value="tel-national">').concat(exprdawc_admin_meta_boxes.tel_national,'</option>\n <option value="transaction-amount">').concat(exprdawc_admin_meta_boxes.transaction_amount,'</option>\n <option value="transaction-currency">').concat(exprdawc_admin_meta_boxes.transaction_currency,'</option>\n <option value="url">').concat(exprdawc_admin_meta_boxes.url,'</option>\n </select>\n </td>\n </tr>\n </tbody>\n </table>\n <hr>\n\n \x3c!-- Conditional Logic --\x3e\n\t\t\t\t <table class="exprdawc_settings_table exprdawc_conditional_logic_table" style="display:none;">\n <tbody>\n <tr>\n <td colspan="3">\n <label class="exprdawc_label">').concat(exprdawc_admin_meta_boxes.conditionals,"</label>\n\t\t\t\t\t\t\t\t <p>").concat(exprdawc_admin_meta_boxes.conditionals_description,'</p>\n <div class="exprdawc_conditional_rules">\n <div class="exprdawc_rule_group_container">\n <div class="exprdawc_rule_group">\n <div class="exprdawc_rule">\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">').concat(exprdawc_admin_meta_boxes.and,'</button>\n </div>\n </div>\n </div>\n </div>\n </td> \n </tr>\n </tbody>\n </table>\n\n\n \x3c!-- Text Area Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_long_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_rows_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.rows,'</label>\n <input type="number" id="exprdawc_long_text_rows_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_rows" name="extra_product_fields[').concat(this.fieldIndex,'][rows]" value="2" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_cols_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.columns,'</label>\n <input type="number" id="exprdawc_long_text_cols_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_cols" name="extra_product_fields[').concat(this.fieldIndex,'][cols]" value="5" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <textarea id="exprdawc_long_text_default_').concat(this.fieldIndex,'" class="exprdawc_textarea" rows="3" cols="30" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]"></textarea>\n </td>\n </tr>\n </tbody>\n </table>\n\n \x3c!-- Text Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_min_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.min_length,'</label>\n <input type="number" id="exprdawc_text_min_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_min_length" name="extra_product_fields[').concat(this.fieldIndex,'][minlength]" value="0" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_max_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.max_length,'</label>\n <input type="number" id="exprdawc_text_max_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_max_length" name="extra_product_fields[').concat(this.fieldIndex,'][maxlength]" value="255" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <input type="text" id="exprdawc_text_default_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_default" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]" />\n </td>\n </tr>\n </tbody>\n </table>\n\n <table class="exprdawc_options_table" style="display:none;">\n <thead>\n <tr>\n <th></th>\n <th>').concat(exprdawc_admin_meta_boxes.option_label,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.option_value,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.default,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.action,'</th>\n </tr>\n </thead>\n <tbody>\n \x3c!-- Options will be dynamically added here --\x3e\n </tbody>\n <tfoot>\n <tr>\n <td colspan="4">\n <button type="button" class="button add_option">').concat(exprdawc_admin_meta_boxes.add_option,'</button>\n </td>\n </tr>\n </tfoot>\n </table>\n <p class="exprdawc_no_entry_message" style="display: none;">').concat(exprdawc_admin_meta_boxes.no_options,"</p>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n ")),this.noEntryContent(),e("#exprdawc_attribute_type_"+this.fieldIndex).trigger("change")}},{key:"removeCustomField",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").next(".exprdawc_options").remove(),e(t.currentTarget).closest("tr").remove(),this.noEntryContent()),!1}},{key:"toggleOptions",value:function(t){this.setDirty();var n=e(t.currentTarget).closest("tr"),a=n.next(".exprdawc_options"),o=a.find(".exprdawc_options_table"),c=n.find(".exprdawc_placeholder");"radio"===e(t.currentTarget).val()||"checkbox"===e(t.currentTarget).val()||"select"===e(t.currentTarget).val()?(c.prop("disabled",!0),o.show()):(c.prop("disabled",!1),o.hide()),"long_text"===e(t.currentTarget).val()?a.find(".exprdawc_long_text_table").show():a.find(".exprdawc_long_text_table").hide(),"text"===e(t.currentTarget).val()||"email"===e(t.currentTarget).val()||"number"===e(t.currentTarget).val()||"date"===e(t.currentTarget).val()?a.find(".exprdawc_text_table").show():a.find(".exprdawc_text_table").hide()}},{key:"toggleOptionsTable",value:function(t){var n=e(t.currentTarget);n.closest("tr").next(".exprdawc_options").toggle(),n.toggleClass("dashicons-arrow-down dashicons-arrow-up")}},{key:"addOption",value:function(t){this.setDirty();var n=e(t.currentTarget).closest(".exprdawc_options_table"),a=n.find("tbody tr").length;n.find("tbody").append('\n <tr>\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td>\n <input type="text" name="extra_product_fields['.concat(this.fieldIndex,"][options][").concat(a,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.option_label_placeholder,'" />\n </td>\n <td>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,"][options][").concat(a,'][value]" placeholder="').concat(exprdawc_admin_meta_boxes.option_value_placeholder,'" />\n </td>\n <td>\n <input type="radio" name="extra_product_fields[').concat(this.fieldIndex,'][default]" value="').concat(a,'" />\n </td>\n <td>\n <button type="button" class="button remove_option">').concat(exprdawc_admin_meta_boxes.remove,"</button>\n </td>\n </tr>\n ")),this.checkOptions(n.closest(".exprdawc_options"))}},{key:"removeOption",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").remove(),this.checkOptions(e(t.currentTarget).closest(".exprdawc_options"))),!1}},{key:"checkOptions",value:function(e){var t=e.find(".exprdawc_options_table tbody"),n=e.find(".exprdawc_no_entry_message");0===t.find("tr").length?n.show():n.hide()}},{key:"exportContent",value:function(t){if(t.preventDefault(),console.log("exportContent"),console.log(this.isDirty),this.isDirty)alert("".concat(exprdawc_admin_meta_boxes.pleaseSaveBeforeExportMsg));else{var n=e("#exprdawc_export_string").val();n?navigator.clipboard.writeText(n).then((function(){alert("".concat(exprdawc_admin_meta_boxes.copySuccessMsg))}),(function(e){console.error("Could not copy text: ",e),alert("".concat(exprdawc_admin_meta_boxes.copyErrorMsg))})):alert("".concat(exprdawc_admin_meta_boxes.emptyExportMsg))}}},{key:"importContent",value:function(t){t.preventDefault();var n=prompt(exprdawc_admin_meta_boxes.enterExportString);if(n){if(!confirm(exprdawc_admin_meta_boxes.sureImportQuestion))return;var a=e("#post_ID").val();e.ajax({url:ajaxurl,method:"POST",data:{action:"exprdawc_import_custom_fields",product_id:a,export_string:n,security:exprdawc_admin_meta_boxes.edit_exprdawc_nonce},success:function(e){e.success?(alert(exprdawc_admin_meta_boxes.importSuccessMsg),location.reload()):alert(exprdawc_admin_meta_boxes.importErrorMsg)},error:function(){alert(exprdawc_admin_meta_boxes.importErrorMsg)}})}}},{key:"setDirty",value:function(){this.isDirty=!0,this.disableExportLink()}},{key:"disableExportLink",value:function(){this.isDirty&&e(".exprdawc-export").hide()}},{key:"noEntryContent",value:function(){var t=e("#exprdawc_field_body .exprdawc_attribute").length,n=e(".exprdawc_no_entry_message"),a=e("#exprdatawc_table_header"),o=e(".exprdawc-export");t>0?(n.hide(),a.show(),o.show()):(n.show(),a.hide(),o.hide())}},{key:"checkAutocompleteField",value:function(t){var n=e(t.currentTarget);if(n.is(":checked")){var a=e(".exprdawc_autocomplete_field").not(n).filter(":checked");if(a.length>0){if(!confirm(exprdawc_admin_meta_boxes.sureAnotherAutocompleCheckedQuestion))return void n.prop("checked",!1);a.prop("checked",!1)}}}},{key:"addRuleGroup",value:function(t){var n=e(t.currentTarget).closest(".exprdawc_conditional_logic_table").find(".exprdawc_conditional_rules"),a=n.find(".exprdawc_rule_group").length,o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=this.getRuleGroupHtml(o,a);n.append(c)}},{key:"addRule",value:function(t){var n=e(t.currentTarget).closest(".exprdawc_rule_group"),a=n.index(),o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=n.find(".exprdawc_rule").length,i=this.getRuleHtml(o,a,c);n.append(i)}},{key:"getRuleGroupHtml",value:function(e,t){return'\n <div class="exprdawc_rule_group_container">\n <h2>'.concat(exprdawc_admin_meta_boxes.or,'</h2>\n <div class="exprdawc_rule_group">\n ').concat(this.getRuleHtml(e,t,0),"\n </div>\n </div>\n ")}},{key:"getRuleHtml",value:function(e,t,n){return'\n <div class="exprdawc_rule">\n <select name="extra_product_fields['.concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">+ ').concat(exprdawc_admin_meta_boxes.and,"</button>\n </div>\n ")}},{key:"toggleConditionalValueField",value:function(t){var n=e(t.currentTarget),a=n.closest(".exprdawc_rule").find(".exprdawc_conditional_value");"field_changed"===n.val()||"field_is_empty"===n.val()||"field_is_not_empty"===n.val()?a.hide():a.show()}},{key:"toggleConditionalValueFieldAll",value:function(){var t=this;e(".exprdawc_conditional_operator").each((function(e,n){t.toggleConditionalValueField({currentTarget:n})}))}},{key:"removeRule",value:function(t){if(confirm(exprdawc_admin_meta_boxes.confirm_delete_rule)){var n=e(t.currentTarget).closest(".exprdawc_rule_group_container");e(t.currentTarget).closest(".exprdawc_rule").remove(),0===n.find(".exprdawc_rule").length&&n.remove()}return!1}},{key:"getAllFieldsOptions",value:function(){var t="";return e("#exprdawc_field_body tr.exprdawc_attribute").each((function(){var n=e(this).find(".exprdawc_attribute_input_name input").val();t+='<option value="'.concat(n,'">').concat(n,"</option>")})),t}},{key:"toggleConditionalTable",value:function(t){var n=e(t.currentTarget),a=e(t.currentTarget).closest(".exprdawc_options").find(".exprdawc_conditional_logic_table");n.is(":checked")?a.show():a.hide()}}],a&&t(n.prototype,a),o&&t(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a,o}())}))},989:()=>{},99:()=>{}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var c=n[e]={exports:{}};return t[e](c,c.exports,a),c.exports}a.m=t,e=[],a.O=(t,n,o,c)=>{if(!n){var i=1/0;for(_=0;_<e.length;_++){for(var[n,o,c]=e[_],d=!0,r=0;r<n.length;r++)(!1&c||i>=c)&&Object.keys(a.O).every((e=>a.O[e](n[r])))?n.splice(r--,1):(d=!1,c<i&&(i=c));if(d){e.splice(_--,1);var l=o();void 0!==l&&(t=l)}}return t}c=c||0;for(var _=e.length;_>0&&e[_-1][2]>c;_--)e[_]=e[_-1];e[_]=[n,o,c]},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={890:0,956:0,107:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var o,c,[i,d,r]=n,l=0;if(i.some((t=>0!==e[t]))){for(o in d)a.o(d,o)&&(a.m[o]=d[o]);if(r)var _=r(a)}for(t&&t(n);l<i.length;l++)c=i[l],a.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return a.O(_)},n=self.webpackChunkextra_product_data_for_woocommerce=self.webpackChunkextra_product_data_for_woocommerce||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.O(void 0,[956,107],(()=>a(976))),a.O(void 0,[956,107],(()=>a(989)));var o=a.O(void 0,[956,107],(()=>a(99)));o=a.O(o)})();2 (()=>{var e,t={976:()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(t){var a=function(t,a){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,a||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==e(a)?a:a+""}jQuery((function(e){new(function(){return a=function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.fieldIndex=e("#exprdawc_field_body tr.exprdawc_attribute").length,this.isDirty=!1,this.init()},n=[{key:"init",value:function(){this.bindEvents(),this.noEntryContent()}},{key:"bindEvents",value:function(){e("#exprdawc_add_custom_field").on("click",this.addCustomField.bind(this)),e(document).on("click",".exprdawc_remove_custom_field",this.removeCustomField.bind(this)),e(document).on("change",".exprdawc_attribute_type",this.toggleOptions.bind(this)),e(document).on("click",".toggle-options",this.toggleOptionsTable.bind(this)),e(document).on("click",".add_option",this.addOption.bind(this)),e(document).on("click",".remove_option",this.removeOption.bind(this)),e(document).on("click","a.exprdawc-export",this.exportContent.bind(this)),e(document).on("click","a.exprdawc-import",this.importContent.bind(this)),e(document).on("change",".exprdawc_input",this.setDirty.bind(this)),e(document).on("change",".exprdawc_autocomplete_field",this.checkAutocompleteField.bind(this)),e(document).on("click",".add_rule_group",this.addRuleGroup.bind(this)),e(document).on("click",".add_rule",this.addRule.bind(this)),e(document).on("click",".remove_rule",this.removeRule.bind(this)),e(document).on("change",".exprdawc_conditional_operator",this.toggleConditionalValueField.bind(this)),e(document).on("change",".exprdawc_conditional_logic_field",this.toggleConditionalTable.bind(this)),this.toggleConditionalValueFieldAll(),e(".exprdawc_field_table tbody").sortable({items:"tr.exprdawc_fields_wrapper",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}}),e(document).on("mouseenter",".exprdawc_options_table tbody",(function(){e(this).sortable({items:"tr",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}})})),e("#exprdawc_attribute_container").on("input",".exprdawc_attribute .exprdawc_attribute_input_name input",(function(){var t=e(this).val(),a=e(this).closest(".exprdawc_attribute").find(".attribute_name");t&&a.text(t)}))}},{key:"addCustomField",value:function(){this.fieldIndex++,this.setDirty(),e("#exprdawc_field_body").append('\n <tr class="exprdawc_fields_wrapper">\n <td colspan="5">\n <table class="exprdawc_fields_table" data-index="'.concat(this.fieldIndex,'">\n\t <tbody>\n <tr class="exprdawc_attribute">\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td class="cl-arr"><i class="dashicons dashicons-arrow-up toggle-options"></i></td>\n <td class="exprdawc_attribute_input_name">\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.label_placeholder,'" />\n </td>\n <td>\n <select id="exprdawc_attribute_type_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][type]" class="exprdawc_attribute_type">\n <option value="text">').concat(exprdawc_admin_meta_boxes.short_text,'</option>\n <option value="long_text">').concat(exprdawc_admin_meta_boxes.long_text,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="number">').concat(exprdawc_admin_meta_boxes.number,'</option>\n <option value="date">').concat(exprdawc_admin_meta_boxes.date,'</option>\n <option value="yes-no">').concat(exprdawc_admin_meta_boxes.yes_no,'</option>\n <option value="radio">').concat(exprdawc_admin_meta_boxes.radio,'</option>\n <option value="checkbox">').concat(exprdawc_admin_meta_boxes.checkbox,'</option>\n <option value="select">').concat(exprdawc_admin_meta_boxes.select,'</option>\n </select>\n </td>\n <td>\n <button type="button" class="exprdawc_remove_custom_field button"><i class="dashicons dashicons-trash"></i></button>\n <input type="hidden" class="exprdawc_attribute_index" name="extra_product_fields[').concat(this.fieldIndex,'][index]" value="').concat(this.fieldIndex,'"/>\n </td>\n </tr>\n <tr class="exprdawc_options" style="display: none;">\n <td colspan="5">\n\n <table class="exprdawc_settings_table exprdawc_general_table">\n <tbody>\n\n \x3c!-- Text Area Option/Settings --\x3e\n <tr>\n <td class="exprdawc_attribute_require_checkbox">\n <label class="exprdawc_label" for="exprdawc_text_required_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_required_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][required]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.require_input,'\n </label> \n <label class="exprdawc_label" for="exprdawc_text_autofocus_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_autofocus_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][autofocus]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_autofocus,'\n </label>\n <label class="exprdawc_label" for="exprdawc_text_editable_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_editable_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_editable_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][editable]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_editable,'\n </label>\n\n \x3c!-- Enable Conditional Logic and show table --\x3e\n <label class="exprdawc_label" for="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_conditional_logic_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_logic]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_conditional_logic,'\n </label>\n </td>\n <td class="exprdawc_attribute_placeholder_text">\n <label class="exprdawc_label" for="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.placeholder_text,'</label>\n <input type="text" id="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_placeholder" name="extra_product_fields[').concat(this.fieldIndex,'][placeholder_text]" placeholder="').concat(exprdawc_admin_meta_boxes.placeholder_text,'" />\n </td>\n <td class="exprdawc_attribute_help_text">\n <label class="exprdawc_label" for="exprdawc_text_help_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.help_text,'</label>\n <input type="text" id="exprdawc_text_help_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_helptext" name="extra_product_fields[').concat(this.fieldIndex,'][help_text]" placeholder="').concat(exprdawc_admin_meta_boxes.help_text,'" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_autocomplete_function_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.autocomplete_function,'</label>\n <select id="exprdawc_autocomplete_function_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][autocomplete]" class="exprdawc_input exprdawc_attribute_type">\n <option value="on">').concat(exprdawc_admin_meta_boxes.autocomplete_on,'</option>\n <option value="off">').concat(exprdawc_admin_meta_boxes.autocomplete_off,'</option>\n <option value="address-level1">').concat(exprdawc_admin_meta_boxes.address_level1,'</option>\n <option value="address-level2">').concat(exprdawc_admin_meta_boxes.address_level2,'</option>\n <option value="address-level3">').concat(exprdawc_admin_meta_boxes.address_level3,'</option>\n <option value="address-level4">').concat(exprdawc_admin_meta_boxes.address_level4,'</option>\n <option value="address-line1">').concat(exprdawc_admin_meta_boxes.address_line1,'</option>\n <option value="address-line2">').concat(exprdawc_admin_meta_boxes.address_line2,'</option>\n <option value="address-line3">').concat(exprdawc_admin_meta_boxes.address_line3,'</option>\n <option value="bday">').concat(exprdawc_admin_meta_boxes.bday,'</option>\n <option value="bday-day">').concat(exprdawc_admin_meta_boxes.bday_day,'</option>\n <option value="bday-month">').concat(exprdawc_admin_meta_boxes.bday_month,'</option>\n <option value="bday-year">').concat(exprdawc_admin_meta_boxes.bday_year,'</option>\n <option value="cc-additional-name">').concat(exprdawc_admin_meta_boxes.cc_additional_name,'</option>\n <option value="cc-csc">').concat(exprdawc_admin_meta_boxes.cc_csc,'</option>\n <option value="cc-exp">').concat(exprdawc_admin_meta_boxes.cc_exp,'</option>\n <option value="cc-exp-month">').concat(exprdawc_admin_meta_boxes.cc_exp_month,'</option>\n <option value="cc-exp-year">').concat(exprdawc_admin_meta_boxes.cc_exp_year,'</option>\n <option value="cc-family-name">').concat(exprdawc_admin_meta_boxes.cc_family_name,'</option>\n <option value="cc-given-name">').concat(exprdawc_admin_meta_boxes.cc_given_name,'</option>\n <option value="cc-name">').concat(exprdawc_admin_meta_boxes.cc_name,'</option>\n <option value="cc-number">').concat(exprdawc_admin_meta_boxes.cc_number,'</option>\n <option value="cc-type">').concat(exprdawc_admin_meta_boxes.cc_type,'</option>\n <option value="country">').concat(exprdawc_admin_meta_boxes.country,'</option>\n <option value="country-name">').concat(exprdawc_admin_meta_boxes.country_name,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="language">').concat(exprdawc_admin_meta_boxes.language,'</option>\n <option value="photo">').concat(exprdawc_admin_meta_boxes.photo,'</option>\n <option value="postal-code">').concat(exprdawc_admin_meta_boxes.postal_code,'</option>\n <option value="sex">').concat(exprdawc_admin_meta_boxes.sex,'</option>\n <option value="street-address">').concat(exprdawc_admin_meta_boxes.street_address,'</option>\n <option value="tel">').concat(exprdawc_admin_meta_boxes.tel,'</option>\n <option value="tel-area-code">').concat(exprdawc_admin_meta_boxes.tel_area_code,'</option>\n <option value="tel-country-code">').concat(exprdawc_admin_meta_boxes.tel_country_code,'</option>\n <option value="tel-extension">').concat(exprdawc_admin_meta_boxes.tel_extension,'</option>\n <option value="tel-local">').concat(exprdawc_admin_meta_boxes.tel_local,'</option>\n <option value="tel-local-prefix">').concat(exprdawc_admin_meta_boxes.tel_local_prefix,'</option>\n <option value="tel-local-suffix">').concat(exprdawc_admin_meta_boxes.tel_local_suffix,'</option>\n <option value="tel-national">').concat(exprdawc_admin_meta_boxes.tel_national,'</option>\n <option value="transaction-amount">').concat(exprdawc_admin_meta_boxes.transaction_amount,'</option>\n <option value="transaction-currency">').concat(exprdawc_admin_meta_boxes.transaction_currency,'</option>\n <option value="url">').concat(exprdawc_admin_meta_boxes.url,'</option>\n </select>\n </td>\n </tr>\n </tbody>\n </table>\n <hr>\n\n \x3c!-- Conditional Logic --\x3e\n\t\t\t\t <table class="exprdawc_settings_table exprdawc_conditional_logic_table" style="display:none;">\n <tbody>\n <tr>\n <td colspan="3">\n <label class="exprdawc_label">').concat(exprdawc_admin_meta_boxes.conditionals,"</label>\n\t\t\t\t\t\t\t\t <p>").concat(exprdawc_admin_meta_boxes.conditionals_description,'</p>\n <div class="exprdawc_conditional_rules">\n <div class="exprdawc_rule_group_container">\n <div class="exprdawc_rule_group">\n <div class="exprdawc_rule">\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">').concat(exprdawc_admin_meta_boxes.and,'</button>\n </div>\n </div>\n </div>\n </div>\n </td> \n </tr>\n </tbody>\n </table>\n\n\n \x3c!-- Text Area Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_long_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_rows_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.rows,'</label>\n <input type="number" id="exprdawc_long_text_rows_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_rows" name="extra_product_fields[').concat(this.fieldIndex,'][rows]" value="2" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_cols_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.columns,'</label>\n <input type="number" id="exprdawc_long_text_cols_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_cols" name="extra_product_fields[').concat(this.fieldIndex,'][cols]" value="5" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <textarea id="exprdawc_long_text_default_').concat(this.fieldIndex,'" class="exprdawc_textarea" rows="3" cols="30" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]"></textarea>\n </td>\n </tr>\n </tbody>\n </table>\n\n \x3c!-- Text Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_min_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.min_length,'</label>\n <input type="number" id="exprdawc_text_min_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_min_length" name="extra_product_fields[').concat(this.fieldIndex,'][minlength]" value="0" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_max_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.max_length,'</label>\n <input type="number" id="exprdawc_text_max_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_max_length" name="extra_product_fields[').concat(this.fieldIndex,'][maxlength]" value="255" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <input type="text" id="exprdawc_text_default_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_default" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]" />\n </td>\n </tr>\n </tbody>\n </table>\n\n <table class="exprdawc_options_table" style="display:none;">\n <thead>\n <tr>\n <th></th>\n <th>').concat(exprdawc_admin_meta_boxes.option_label,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.option_value,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.default,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.action,'</th>\n </tr>\n </thead>\n <tbody>\n \x3c!-- Options will be dynamically added here --\x3e\n </tbody>\n <tfoot>\n <tr>\n <td colspan="4">\n <button type="button" class="button add_option">').concat(exprdawc_admin_meta_boxes.add_option,'</button>\n </td>\n </tr>\n </tfoot>\n </table>\n <p class="exprdawc_no_entry_message" style="display: none;">').concat(exprdawc_admin_meta_boxes.no_options,"</p>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n ")),this.noEntryContent(),e("#exprdawc_attribute_type_"+this.fieldIndex).trigger("change")}},{key:"removeCustomField",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").next(".exprdawc_options").remove(),e(t.currentTarget).closest("tr").remove(),this.noEntryContent()),!1}},{key:"toggleOptions",value:function(t){this.setDirty();var a=e(t.currentTarget).closest("tr"),n=a.next(".exprdawc_options"),o=n.find(".exprdawc_options_table"),c=a.find(".exprdawc_placeholder");"radio"===e(t.currentTarget).val()||"checkbox"===e(t.currentTarget).val()||"select"===e(t.currentTarget).val()?(c.prop("disabled",!0),o.show()):(c.prop("disabled",!1),o.hide()),"long_text"===e(t.currentTarget).val()?n.find(".exprdawc_long_text_table").show():n.find(".exprdawc_long_text_table").hide(),"text"===e(t.currentTarget).val()||"email"===e(t.currentTarget).val()||"number"===e(t.currentTarget).val()||"date"===e(t.currentTarget).val()?n.find(".exprdawc_text_table").show():n.find(".exprdawc_text_table").hide()}},{key:"toggleOptionsTable",value:function(t){var a=e(t.currentTarget);a.closest("tr").next(".exprdawc_options").toggle(),a.toggleClass("dashicons-arrow-down dashicons-arrow-up")}},{key:"addOption",value:function(t){this.setDirty();var a=e(t.currentTarget).closest(".exprdawc_options_table"),n=a.find("tbody tr").length;a.find("tbody").append('\n <tr>\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td>\n <input type="text" name="extra_product_fields['.concat(this.fieldIndex,"][options][").concat(n,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.option_label_placeholder,'" />\n </td>\n <td>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,"][options][").concat(n,'][value]" placeholder="').concat(exprdawc_admin_meta_boxes.option_value_placeholder,'" />\n </td>\n <td>\n <input type="radio" name="extra_product_fields[').concat(this.fieldIndex,'][default]" value="').concat(n,'" />\n </td>\n <td>\n <button type="button" class="button remove_option">').concat(exprdawc_admin_meta_boxes.remove,"</button>\n </td>\n </tr>\n ")),this.checkOptions(a.closest(".exprdawc_options"))}},{key:"removeOption",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").remove(),this.checkOptions(e(t.currentTarget).closest(".exprdawc_options"))),!1}},{key:"checkOptions",value:function(e){var t=e.find(".exprdawc_options_table tbody"),a=e.find(".exprdawc_no_entry_message");0===t.find("tr").length?a.show():a.hide()}},{key:"exportContent",value:function(t){if(t.preventDefault(),console.log("exportContent"),console.log(this.isDirty),this.isDirty)alert("".concat(exprdawc_admin_meta_boxes.pleaseSaveBeforeExportMsg));else{var a=e("#exprdawc_export_string").val();a?navigator.clipboard.writeText(a).then((function(){alert("".concat(exprdawc_admin_meta_boxes.copySuccessMsg))}),(function(e){console.error("Could not copy text: ",e),alert("".concat(exprdawc_admin_meta_boxes.copyErrorMsg))})):alert("".concat(exprdawc_admin_meta_boxes.emptyExportMsg))}}},{key:"importContent",value:function(t){t.preventDefault();var a=prompt(exprdawc_admin_meta_boxes.enterExportString);if(a){if(!confirm(exprdawc_admin_meta_boxes.sureImportQuestion))return;var n=e("#post_ID").val();e.ajax({url:ajaxurl,method:"POST",data:{action:"exprdawc_import_custom_fields",product_id:n,export_string:a,security:exprdawc_admin_meta_boxes.edit_exprdawc_nonce},success:function(e){e.success?(alert(exprdawc_admin_meta_boxes.importSuccessMsg),location.reload()):alert(exprdawc_admin_meta_boxes.importErrorMsg)},error:function(){alert(exprdawc_admin_meta_boxes.importErrorMsg)}})}}},{key:"setDirty",value:function(){this.isDirty=!0,this.disableExportLink()}},{key:"disableExportLink",value:function(){this.isDirty&&e(".exprdawc-export").hide()}},{key:"noEntryContent",value:function(){var t=e("#exprdawc_field_body .exprdawc_attribute").length,a=e(".exprdawc_no_entry_message"),n=e("#exprdatawc_table_header"),o=e(".exprdawc-export");t>0?(a.hide(),n.show(),o.show()):(a.show(),n.hide(),o.hide())}},{key:"checkAutocompleteField",value:function(t){var a=e(t.currentTarget);if(a.is(":checked")){var n=e(".exprdawc_autocomplete_field").not(a).filter(":checked");if(n.length>0){if(!confirm(exprdawc_admin_meta_boxes.sureAnotherAutocompleCheckedQuestion))return void a.prop("checked",!1);n.prop("checked",!1)}}}},{key:"addRuleGroup",value:function(t){var a=e(t.currentTarget).closest(".exprdawc_conditional_logic_table").find(".exprdawc_conditional_rules"),n=a.find(".exprdawc_rule_group").length,o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=this.getRuleGroupHtml(o,n);a.append(c)}},{key:"addRule",value:function(t){var a=e(t.currentTarget).closest(".exprdawc_rule_group"),n=a.index(),o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=a.find(".exprdawc_rule").length,i=this.getRuleHtml(o,n,c);a.append(i)}},{key:"getRuleGroupHtml",value:function(e,t){return'\n <div class="exprdawc_rule_group_container">\n <h2>'.concat(exprdawc_admin_meta_boxes.or,'</h2>\n <div class="exprdawc_rule_group">\n ').concat(this.getRuleHtml(e,t,0),"\n </div>\n </div>\n ")}},{key:"getRuleHtml",value:function(e,t,a){return'\n <div class="exprdawc_rule">\n <select name="extra_product_fields['.concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">+ ').concat(exprdawc_admin_meta_boxes.and,"</button>\n </div>\n ")}},{key:"toggleConditionalValueField",value:function(t){var a=e(t.currentTarget),n=a.closest(".exprdawc_rule").find(".exprdawc_conditional_value");"field_changed"===a.val()||"field_is_empty"===a.val()||"field_is_not_empty"===a.val()?n.hide():n.show()}},{key:"toggleConditionalValueFieldAll",value:function(){var t=this;e(".exprdawc_conditional_operator").each((function(e,a){t.toggleConditionalValueField({currentTarget:a})}))}},{key:"removeRule",value:function(t){if(confirm(exprdawc_admin_meta_boxes.confirm_delete_rule)){var a=e(t.currentTarget).closest(".exprdawc_rule_group_container");e(t.currentTarget).closest(".exprdawc_rule").remove(),0===a.find(".exprdawc_rule").length&&a.remove()}return!1}},{key:"getAllFieldsOptions",value:function(){var t="";return e("#exprdawc_field_body tr.exprdawc_attribute").each((function(){var a=e(this).find(".exprdawc_attribute_input_name input").val();t+='<option value="'.concat(a,'">').concat(a,"</option>")})),t}},{key:"toggleConditionalTable",value:function(t){var a=e(t.currentTarget),n=e(t.currentTarget).closest(".exprdawc_options").find(".exprdawc_conditional_logic_table");a.is(":checked")?n.show():n.hide()}}],n&&t(a.prototype,n),o&&t(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,n,o}())}))},989:()=>{},99:()=>{},364:()=>{}},a={};function n(e){var o=a[e];if(void 0!==o)return o.exports;var c=a[e]={exports:{}};return t[e](c,c.exports,n),c.exports}n.m=t,e=[],n.O=(t,a,o,c)=>{if(!a){var i=1/0;for(_=0;_<e.length;_++){for(var[a,o,c]=e[_],d=!0,l=0;l<a.length;l++)(!1&c||i>=c)&&Object.keys(n.O).every((e=>n.O[e](a[l])))?a.splice(l--,1):(d=!1,c<i&&(i=c));if(d){e.splice(_--,1);var r=o();void 0!==r&&(t=r)}}return t}c=c||0;for(var _=e.length;_>0&&e[_-1][2]>c;_--)e[_]=e[_-1];e[_]=[a,o,c]},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={890:0,898:0,956:0,107:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var o,c,[i,d,l]=a,r=0;if(i.some((t=>0!==e[t]))){for(o in d)n.o(d,o)&&(n.m[o]=d[o]);if(l)var _=l(n)}for(t&&t(a);r<i.length;r++)c=i[r],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(_)},a=self.webpackChunkextra_product_data_for_woocommerce=self.webpackChunkextra_product_data_for_woocommerce||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})(),n.O(void 0,[898,956,107],(()=>n(976))),n.O(void 0,[898,956,107],(()=>n(989))),n.O(void 0,[898,956,107],(()=>n(99)));var o=n.O(void 0,[898,956,107],(()=>n(364)));o=n.O(o)})(); -
extra-product-data-for-woocommerce/tags/1.7.0/extra-product-data-for-woocommerce.php
r3204699 r3206929 3 3 Plugin Name: Extra Product Data for WooCommerce 4 4 Description: Adds customizable input fields per product in WooCommerce, allowing users to enter extra details on the frontend. 5 Version: 1. 5.15 Version: 1.7.0 6 6 Author: Triopsi 7 7 Author URI: https://triopsi.dev … … 22 22 23 23 // Useful global constants. 24 define( 'EXPRDAWC_VERSION', '1. 0.0' );24 define( 'EXPRDAWC_VERSION', '1.7.0' ); 25 25 define( 'EXPRDAWC_URL', plugin_dir_url( __FILE__ ) ); 26 26 define( 'EXPRDAWC_PATH', __DIR__ . '/' ); 27 27 define( 'EXPRDAWC_CLSUF', 'exprdawc' ); 28 define( 'EXPRDAWC_BASENAME', plugin_basename( __FILE__ ) ); 28 29 define( 'EXPRDAWC_SRC', EXPRDAWC_PATH . 'src/' ); 29 30 define( 'EXPRDAWC_CLASSES', EXPRDAWC_PATH . 'src/classes/' ); … … 51 52 } 52 53 54 // Declare compatibility with WooCommerce HPOS. 55 add_action( 56 'before_woocommerce_init', 57 function () { 58 if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) { 59 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true ); 60 61 } 62 } 63 ); 64 53 65 /** 54 66 * Display an admin notice if WooCommerce is not active. -
extra-product-data-for-woocommerce/tags/1.7.0/readme.txt
r3204699 r3206929 5 5 Tested up to: 6.7 6 6 Requires PHP: 8.2 7 Stable tag: 1. 5.17 Stable tag: 1.7.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 107 107 = 1.5.1 = 108 108 * edit button dont visible on order overview 109 110 = 1.6.0 = 111 * add setting page and add options for "Show on Cart" and "Show on Checkout" 112 113 = 1.7.0 = 114 * add editable section for user in the order overview 115 * compatibility with WooCommerce HPOS -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-admin-order.php
r3204699 r3206929 98 98 } 99 99 100 /** @disregard */ 101 $custom_fields = get_post_meta( $item->get_product_id(), '_extra_product_fields', true ); 100 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 102 101 103 102 if ( empty( $custom_fields ) ) { … … 179 178 /** @disregard */ 180 179 $product = $item->get_product(); 181 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );180 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 182 181 183 182 if ( empty( $custom_fields ) ) { … … 251 250 /** @disregard */ 252 251 $product = $item->get_product(); 253 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );252 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 254 253 255 254 // Check if the product and custom fields are valid. -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-helper.php
r3202511 r3206929 71 71 'autocomplete' => isset( $field_array['autocomplete'] ) ? $field_array['autocomplete'] : '', 72 72 'autofocus' => isset( $field_array['autofocus'] ) ? $field_array['autofocus'] : false, 73 'disabled' => isset( $field_array['disabled'] ) ? $field_array['disabled'] : false, 73 74 'validate' => isset( $field_array['validate'] ) ? $field_array['validate'] : array(), 74 75 'data' => array(), … … 83 84 if ( isset( $_POST[ $field_id ] ) ) { 84 85 $field_args['value'] = sanitize_text_field( wp_unslash( $_POST[ $field_id ] ) ); 85 } elseif ( ! empty( $actual_value_array[ $id ] ) ) {86 } elseif ( isset( $actual_value_array[ $id ] ) ) { 86 87 $field_args['value'] = sanitize_text_field( wp_unslash( $actual_value_array[ $id ] ) ); 87 88 } elseif ( isset( $field_array['default'] ) ) { … … 146 147 } 147 148 149 if ( true === $field_args['disabled'] ) { 150 $field_args['custom_attributes']['disabled'] = 'disabled'; 151 $field_args['input_class'][] = 'disabled'; 152 } 153 148 154 if ( $field_args['description'] ) { 149 $field_args['custom_attributes']['aria-describedby'] = $field_ args['id']. '-description';155 $field_args['custom_attributes']['aria-describedby'] = $field_id_raw . '-description'; 150 156 } 151 157 -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-main.php
r3202511 r3206929 77 77 78 78 /** 79 * Overview Order Obejct Holder. 80 * 81 * @var \Overview_Order 82 */ 83 protected $exprdawc_admin_order_edit = null; 79 * Overview Order Obejct Holder. 80 * 81 * @var \Overview_Order 82 */ 83 protected $exprdawc_admin_order_edit = null; 84 85 /** 86 * Settings Object Holder. 87 * 88 * @var \Settings 89 */ 90 protected $exprdawc_settings = null; 84 91 85 92 /** … … 115 122 // Add CSS an JS for backend. 116 123 add_action( 'admin_enqueue_scripts', array( $this, 'exprdawc_only_admin_enqueue_scripts' ) ); 124 125 // Add Plugin Setting Links. 126 add_filter('plugin_action_links_' . EXPRDAWC_BASENAME, array($this, 'exprdawc_plugin_action_links')); 127 } 128 129 /** 130 * Add Plugin Action Links. 131 * 132 * @param array $links The current links. 133 * @return array The modified links. 134 */ 135 public function exprdawc_plugin_action_links($links) { 136 $links[] = '<a href="' . admin_url('admin.php?page=wc-settings&tab=products§ion=extra_product_data') . '">' . __('Settings', 'extra-product-data-for-woocommerce') . '</a>'; 137 return $links; 117 138 } 118 139 … … 141 162 $this->exprdawc_admin_order_edit = new Exprdawc_Admin_Order(); 142 163 164 // Settings. 165 $this->exprdawc_settings = new Exprdawc_Settings(); 166 167 // User Order. 168 new Exprdawc_User_Order(); 169 143 170 } 144 171 } -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-overview-cart.php
r3202511 r3206929 46 46 public function __construct() { 47 47 add_filter( 'woocommerce_add_cart_item_data', array( $this, 'exprdawc_save_custom_field_in_cart' ), 10, 2 ); 48 add_filter( 'woocommerce_get_item_data', array( $this, 'exprdawc_display_ custom_field_in_cart' ), 10, 2 );48 add_filter( 'woocommerce_get_item_data', array( $this, 'exprdawc_display_fields_on_cart_and_checkout' ), 10, 2 ); 49 49 } 50 50 … … 65 65 } 66 66 67 $custom_fields = get_post_meta( $product_id, '_extra_product_fields', true ); 67 $pruducts = wc_get_product( $product_id ); 68 if ( ! $pruducts ) { 69 return $cart_item_data; 70 } 71 $custom_fields = $pruducts->get_meta( '_extra_product_fields', true ); 68 72 69 73 if ( ! empty( $custom_fields ) ) { … … 111 115 112 116 /** 113 * This function is responsible for displaying custom fields in the cart .117 * This function is responsible for displaying custom fields in the cart and checkout. 114 118 * 115 119 * @param array $item_data The item data. … … 117 121 * @return void 118 122 */ 119 function exprdawc_display_custom_field_in_cart( $item_data, $cart_item ) { 120 $custom_fields = get_post_meta( $cart_item['product_id'], '_extra_product_fields', true ); 123 function exprdawc_display_fields_on_cart_and_checkout( $item_data, $cart_item ) { 124 125 $product = wc_get_product( $cart_item['product_id'] ); 126 if ( ! $product ) { 127 return $item_data; 128 } 129 130 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 121 131 122 132 if ( ! empty( $custom_fields ) ) { 123 foreach ( $custom_fields as $index => $field ) { 124 $field_key = 'extra_user_data_' . $index; 125 if ( isset( $cart_item[ $field_key ] ) ) { 126 $item_data[] = array( 127 'key' => esc_html( $field['label'] ), 128 'value' => wc_clean( $cart_item[ $field_key ] ), 129 'display' => wc_clean( $cart_item[ $field_key ] ), 130 ); 133 if ( ( is_cart() && get_option( 'exprdawc_show_in_cart', 'yes' ) === 'yes' ) || ( is_checkout() && get_option( 'exprdawc_show_in_checkout', 'yes' ) === 'yes' ) ) { 134 foreach ( $custom_fields as $index => $field ) { 135 $field_key = 'extra_user_data_' . $index; 136 if ( isset( $cart_item[ $field_key ] ) ) { 137 $item_data[] = array( 138 'key' => esc_html( $field['label'] ), 139 'value' => wc_clean( $cart_item[ $field_key ] ), 140 'display' => wc_clean( $cart_item[ $field_key ] ), 141 ); 142 } 131 143 } 132 144 } -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-overview-order.php
r3202511 r3206929 62 62 */ 63 63 function exprdawc_add_custom_field_to_order( $item, $cart_item_key, $values, $order ) { 64 $custom_fields = get_post_meta( $item->get_product_id(), '_extra_product_fields', true );65 64 65 $product = $item->get_product(); 66 if ( ! $product ) { 67 return; 68 } 69 70 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 66 71 if ( ! empty( $custom_fields ) ) { 67 72 foreach ( $custom_fields as $index => $field ) { -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-product-page-backend.php
r3204687 r3206929 79 79 */ 80 80 public function exprdawc_add_custom_product_fields() { 81 $custom_fields = get_post_meta( get_the_ID(), '_extra_product_fields', true ); 81 global $post; 82 $product = wc_get_product( $post ); 83 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 82 84 include EXPRDAWC_TEMPLATES . 'html-tab-extra-attributes.php'; 83 85 } … … 195 197 'conditionals_description' => esc_html__( 'Only show this field when conditional rules are true.', 'extra-product-data-for-woocommerce' ), 196 198 'pleaseSaveBeforeExportMsg' => esc_html__( 'Please save your changes before exporting.', 'extra-product-data-for-woocommerce' ), 199 'enable_editable' => esc_html__( 'User can edit the field afterwards', 'extra-product-data-for-woocommerce' ), 197 200 ) 198 201 ); … … 210 213 // Check if extra product fields are set. 211 214 if ( isset( $_POST['extra_product_fields'] ) ) { 215 216 $product = wc_get_product( $post_id ); 212 217 213 218 // UNSLASH: Remove slashes from the input data … … 227 232 $autofocus = isset( $field['autofocus'] ) ? true : false; 228 233 $index = isset( $field['index'] ) ? absint( $field['index'] ) : 0; 234 $editable = isset( $field['editable'] ) ? true : false; 229 235 230 236 // Conditional Logic … … 294 300 'conditional_rules' => $conditional_logic_rules, 295 301 'index' => $index, 302 'editable' => $editable, 296 303 ); 297 304 }, … … 302 309 $custom_fields = array_filter( $custom_fields ); 303 310 304 // Save the sanitized and validated data 305 update_post_meta( $post_id, '_extra_product_fields', $custom_fields ); 311 // Save the custom fields to the product 312 $product->update_meta_data( '_extra_product_fields', $custom_fields ); 313 314 // Save the product 315 $product->save(); 306 316 } 307 317 } … … 349 359 350 360 // Save the sanitized and validated data 351 update_post_meta( $product_id, '_extra_product_fields', $custom_fields ); 361 $product->update_meta_data( '_extra_product_fields', $custom_fields ); 362 363 // Save the product 364 $product->save(); 352 365 353 366 // Return success message. -
extra-product-data-for-woocommerce/tags/1.7.0/src/classes/class-exprdawc-product-page-fronted.php
r3202511 r3206929 95 95 function exprdawc_display_custom_fields_on_product_page() { 96 96 global $product; 97 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );97 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 98 98 99 99 if ( ! empty( $custom_fields ) ) { … … 123 123 */ 124 124 function exprdawc_validate_custom_fields( $passed, $product_id, $quantity ) { 125 $custom_fields = get_post_meta( $product_id, '_extra_product_fields', true ); 125 126 $product = wc_get_product( $product_id ); 127 if ( ! $product ) { 128 return $passed; 129 } 130 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 126 131 127 132 if ( ! empty( $custom_fields ) ) { -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/fields/checkbox.php
r3202511 r3206929 49 49 } 50 50 if ( ! empty( $field_args['description'] ) ) { 51 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';51 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 52 52 } 53 53 } -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/fields/radio.php
r3202511 r3206929 46 46 } 47 47 if ( ! empty( $field_args['description'] ) ) { 48 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';48 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 49 49 } 50 50 } -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/fields/select.php
r3202511 r3206929 41 41 echo '</select>'; 42 42 if ( ! empty( $field_args['description'] ) ) { 43 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';43 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 44 44 } 45 45 } -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/fields/text.php
r3202511 r3206929 39 39 40 40 if ( ! empty( $field_args['description'] ) ) { 41 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';41 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 42 42 } 43 43 echo '</span>'; -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/fields/textarea.php
r3202511 r3206929 41 41 '</textarea>'; 42 42 if ( ! empty( $field_args['description'] ) ) { 43 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';43 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 44 44 } 45 45 echo '</span>'; -
extra-product-data-for-woocommerce/tags/1.7.0/src/templates/view/html-tab-extra-attributes-fields.php
r3202511 r3206929 69 69 <input type="checkbox" id="exprdawc_text_autofocus_<?php echo esc_html( $index ); ?>" class="exprdawc_input exprdawc_checkbox exprdawc_autocomplete_field checkbox" name="extra_product_fields[<?php echo esc_html( $index ); ?>][autofocus]" value="1" <?php echo checked( 1, $field['autofocus'] ?? 0, false ); ?> /> 70 70 <?php esc_html_e( 'Autofocus this field on product page', 'extra-product-data-for-woocommerce' ); ?> 71 </label> 72 <label class="exprdawc_label" for="exprdawc_text_editable_<?php echo esc_html( $index ); ?>"> 73 <input type="checkbox" id="exprdawc_text_editable_<?php echo esc_html( $index ); ?>" class="exprdawc_input exprdawc_checkbox exprdawc_editable_field checkbox" name="extra_product_fields[<?php echo esc_html( $index ); ?>][editable]" value="1" <?php echo checked( 1, $field['editable'] ?? 0, false ); ?> /> 74 <?php esc_html_e( 'User can edit the field afterwards', 'extra-product-data-for-woocommerce' ); ?> 71 75 </label> 72 76 <!-- Enable Conditional Logic and show table --> -
extra-product-data-for-woocommerce/trunk/CHANGELOG.md
r3204699 r3206929 1 # [1.6.0](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.5.1...v1.6.0) (2024-12-09) 2 3 4 ### Features 5 6 * add setting page and add options for "Show on Cart" and "Show on Checkout" ([80a68f2](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/commit/80a68f2ee47a7a04c179f819bb64474f3beec4a4)) 7 8 ## [1.5.1](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.5.0...v1.5.1) (2024-12-09) 9 10 11 ### Bug Fixes 12 13 * edit button dont visible on order overview ([3276eb3](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/commit/3276eb306b338cb307f95b97b71433b350926efd)) 14 1 15 # [1.5.0](https://git.triopsi.dev/triopsi/extra-product-data-for-woocommerce/compare/v1.4.1...v1.5.0) (2024-12-09) 2 16 -
extra-product-data-for-woocommerce/trunk/assets/css/admin-backend.css
r3203398 r3206929 1 #extra-product-data{padding:10px}table.exprdawc_attribute_table td{vertical-align:middle!important}table.exprdawc_attribute_table td.exprdawc_attribute_require_checkbox label{padding-top:15px}table.exprdawc_field_table{border-collapse:collapse;width:100%}table.exprdawc_field_table tr:nth-child(2n){background-color:#f9f9f9}table.exprdawc_field_table tr.exprdawc_fields_wrapper{border-bottom:1px solid #ddd}table.exprdawc_field_table tr.exprdawc_fields_wrapper:hover{background-color:#f1f1f1}table.exprdawc_field_table tr.exprdawc_fields_wrapper:last-child{border-bottom:none}table.exprdawc_field_table td{padding:0}table.exprdawc_field_table tfoot tr{background-color:#f5f5f5;border:1px solid #ccc}table.exprdawc_field_table tfoot td{padding:10px;text-align:center;vertical-align:middle}table.exprdawc_field_table tfoot .button{line-height:13px;padding:5px}table.exprdawc_fields_table{border-collapse:collapse;width:100%}table.exprdawc_fields_table tr{border:0}table.exprdawc_fields_table tbody td{padding:10px;vertical-align:middle}table.exprdawc_fields_table tbody td input[type=number],table.exprdawc_fields_table tbody td input[type=text],table.exprdawc_fields_table tbody td select,table.exprdawc_fields_table tbody td textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}table.exprdawc_fields_table tbody td select{text-overflow:ellipsis}table.exprdawc_fields_table tbody td button.add_rule,table.exprdawc_fields_table tbody td button.exprdawc_remove_custom_field,table.exprdawc_fields_table tbody td button.remove_rule{line-height:13px;padding:5px}table.exprdawc_fields_table tbody td.move i{cursor:move}table.exprdawc_fields_table tbody td.cl-arr i{cursor:pointer}table.exprdawc_settings_table{width:100%}table.exprdawc_settings_table label.exprdawc_label{align-items:center;display:flex;float:none;margin:5px 0;padding:0;text-align:left;width:auto}table.exprdawc_settings_table label.exprdawc_label .checkbox{margin-right:5px!important}table.exprdawc_settings_table td{padding:10px;vertical-align:middle}table.exprdawc_options_table{border:1px solid #ccc;border-collapse:collapse;margin-top:10px;width:100%}table.exprdawc_options_table td,table.exprdawc_options_table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}table.exprdawc_options_table th{background-color:#f1f1f1}table.exprdawc_options_table tr:hover{background-color:#f9f9f9}table.exprdawc_options_table .button{background-color:#0073aa;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}table.exprdawc_options_table .button:hover{background-color:#005a87;color:#fff}.exprdawc_attribute h3 .sort{cursor:move;float:right;font-size:15px;font-weight:400;height:26px;margin-right:.5em;text-align:center;vertical-align:middle;width:17px}.exprdawc_attribute h3 .sort:before{color:#999;content:" \f333";display:block;float:left;font-family:Dashicons;height:100%;line-height:28px;text-align:center;width:17px}.exprdawc_attribute h3 .sort:hover:before{color:#777}.exprdawc_attribute h3:hover .sort,.exprdawc_attribute.ui-sortable-helper .sort{visibility:visible}.exprdawc_attribute.wc-metabox.postbox{border-left:0;border-right:0;border-top:0}.exprdawc_panel{display:block}.exprdawc_panel h2{font-size:1.2em!important;padding:0 0 10px!important}.exprdawc_panel .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3 .sort,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.delete,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.edit{margin-top:.25em}#woocommerce-coupon-data ul.wc-tabs li.custom_fields_options a:before,#woocommerce-product-data ul.wc-tabs li.custom_fields_options a:before,.woocommerce ul.wc-tabs li.custom_fields_options a:before{content:"\f163";font-family:Dashicons}.exprdawc_conditional_logic_table{border-collapse:collapse;margin-bottom:20px;width:100%}.exprdawc_conditional_logic_table td,.exprdawc_conditional_logic_table th{border:1px solid #ddd;padding:10px;text-align:left}.exprdawc_conditional_logic_table th{background-color:#f9f9f9;font-weight:700}.exprdawc_conditional_logic_table .exprdawc_label{display:block;font-weight:700;margin-bottom:5px}.exprdawc_conditional_logic_table .exprdawc_input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}.exprdawc_conditional_logic_table .exprdawc_checkbox{width:auto}.exprdawc_conditional_logic_table .exprdawc_textarea{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}.exprdawc_conditional_logic_table .exprdawc_no_entry_message{color:#a00;font-weight:700}.exprdawc_conditional_logic_table h2{text-align:left;text-transform:uppercase}.exprdawc_conditional_logic_table .exprdawc_rule_group{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule{align-items:center;display:flex;margin-bottom:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .exprdawc_input{margin-right:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .button{margin-left:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .add_rule_group{margin-top:10px}.exprdawc_no_entry_message{display:block;margin:10px 0 0;padding-bottom:1em;padding-top:75px;position:relative;text-align:center}.exprdawc_no_entry_message:before{color:#eee;content:"\f163";font-family:Dashicons;font-size:70px;left:50%;position:absolute;top:0;transform:translateX(-50%)}p.exprdawc_toolbar{align-items:center;background-color:#f5f5f5;border:1px solid #ccc;display:flex;justify-content:center;text-align:center}a.exprdawc-export,a.exprdawc-import{color:#0073aa;font-size:small;margin:0 5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before,a.exprdawc-import:before{font-family:Dashicons;margin-right:5px;position:relative}a.exprdawc-export:hover,a.exprdawc-import:hover{color:#005a87;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before{content:"\f346"}a.exprdawc-import:before{content:"\f342"}1 #extra-product-data{padding:10px}table.exprdawc_attribute_table td{vertical-align:middle!important}table.exprdawc_attribute_table td.exprdawc_attribute_require_checkbox label{padding-top:15px}table.exprdawc_field_table{border-collapse:collapse;width:100%}table.exprdawc_field_table tr:nth-child(2n){background-color:#f9f9f9}table.exprdawc_field_table tr.exprdawc_fields_wrapper{border-bottom:1px solid #ddd}table.exprdawc_field_table tr.exprdawc_fields_wrapper:hover{background-color:#f1f1f1}table.exprdawc_field_table tr.exprdawc_fields_wrapper:last-child{border-bottom:none}table.exprdawc_field_table td{padding:0}table.exprdawc_field_table tfoot tr{background-color:#f5f5f5;border:1px solid #ccc}table.exprdawc_field_table tfoot td{padding:10px;text-align:center;vertical-align:middle}table.exprdawc_field_table tfoot .button{line-height:13px;padding:5px}table.exprdawc_fields_table{border-collapse:collapse;width:100%}table.exprdawc_fields_table tr{border:0}table.exprdawc_fields_table tbody td{padding:10px;vertical-align:middle}table.exprdawc_fields_table tbody td input[type=number],table.exprdawc_fields_table tbody td input[type=text],table.exprdawc_fields_table tbody td select,table.exprdawc_fields_table tbody td textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}table.exprdawc_fields_table tbody td select{text-overflow:ellipsis}table.exprdawc_fields_table tbody td button.add_rule,table.exprdawc_fields_table tbody td button.exprdawc_remove_custom_field,table.exprdawc_fields_table tbody td button.remove_rule{line-height:13px;padding:5px}table.exprdawc_fields_table tbody td.move i{cursor:move}table.exprdawc_fields_table tbody td.cl-arr i{cursor:pointer}table.exprdawc_settings_table{width:100%}table.exprdawc_settings_table label.exprdawc_label{align-items:center;display:flex;float:none;margin:5px 0;padding:0;text-align:left;width:auto}table.exprdawc_settings_table label.exprdawc_label .checkbox{margin-right:5px!important}table.exprdawc_settings_table td{padding:10px;vertical-align:middle}table.exprdawc_options_table{border:1px solid #ccc;border-collapse:collapse;margin-top:10px;width:100%}table.exprdawc_options_table td,table.exprdawc_options_table th{border-bottom:1px solid #ddd;padding:10px;text-align:left}table.exprdawc_options_table th{background-color:#f1f1f1}table.exprdawc_options_table tr:hover{background-color:#f9f9f9}table.exprdawc_options_table .button{background-color:#0073aa;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:5px 10px}table.exprdawc_options_table .button:hover{background-color:#005a87;color:#fff}.exprdawc_attribute h3 .sort{cursor:move;float:right;font-size:15px;font-weight:400;height:26px;margin-right:.5em;text-align:center;vertical-align:middle;width:17px}.exprdawc_attribute h3 .sort:before{color:#999;content:"";display:block;float:left;font-family:Dashicons;height:100%;line-height:28px;text-align:center;width:17px}.exprdawc_attribute h3 .sort:hover:before{color:#777}.exprdawc_attribute h3:hover .sort,.exprdawc_attribute.ui-sortable-helper .sort{visibility:visible}.exprdawc_attribute.wc-metabox.postbox{border-left:0;border-right:0;border-top:0}.exprdawc_panel{display:block}.exprdawc_panel h2{font-size:1.2em!important;padding:0 0 10px!important}.exprdawc_panel .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.exprdawc_panel .wc-metabox.exprdawc_attribute h3 .sort,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.delete,.exprdawc_panel .wc-metabox.exprdawc_attribute h3 a.edit{margin-top:.25em}#woocommerce-coupon-data ul.wc-tabs li.custom_fields_options a:before,#woocommerce-product-data ul.wc-tabs li.custom_fields_options a:before,.woocommerce ul.wc-tabs li.custom_fields_options a:before{content:"";font-family:Dashicons}.exprdawc_conditional_logic_table{border-collapse:collapse;margin-bottom:20px;width:100%}.exprdawc_conditional_logic_table td,.exprdawc_conditional_logic_table th{border:1px solid #ddd;padding:10px;text-align:left}.exprdawc_conditional_logic_table th{background-color:#f9f9f9;font-weight:700}.exprdawc_conditional_logic_table .exprdawc_label{display:block;font-weight:700;margin-bottom:5px}.exprdawc_conditional_logic_table .exprdawc_input{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:5px;width:100%}.exprdawc_conditional_logic_table .exprdawc_checkbox{width:auto}.exprdawc_conditional_logic_table .exprdawc_textarea{border:1px solid #ccc;border-radius:4px;padding:8px;width:100%}.exprdawc_conditional_logic_table .exprdawc_no_entry_message{color:#a00;font-weight:700}.exprdawc_conditional_logic_table h2{text-align:left;text-transform:uppercase}.exprdawc_conditional_logic_table .exprdawc_rule_group{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin-bottom:10px;padding:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule{align-items:center;display:flex;margin-bottom:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .exprdawc_input{margin-right:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .exprdawc_rule .button{margin-left:10px}.exprdawc_conditional_logic_table .exprdawc_rule_group .add_rule_group{margin-top:10px}.exprdawc_no_entry_message{display:block;margin:10px 0 0;padding-bottom:1em;padding-top:75px;position:relative;text-align:center}.exprdawc_no_entry_message:before{color:#eee;content:"";font-family:Dashicons;font-size:70px;left:50%;position:absolute;top:0;transform:translateX(-50%)}p.exprdawc_toolbar{align-items:center;background-color:#f5f5f5;border:1px solid #ccc;display:flex;justify-content:center;text-align:center}a.exprdawc-export,a.exprdawc-import{color:#0073aa;font-size:small;margin:0 5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before,a.exprdawc-import:before{font-family:Dashicons;margin-right:5px;position:relative}a.exprdawc-export:hover,a.exprdawc-import:hover{color:#005a87;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a.exprdawc-export:before{content:""}a.exprdawc-import:before{content:""} -
extra-product-data-for-woocommerce/trunk/assets/js/wc-meta-boxes-product.js
r3203398 r3206929 1 1 /*! For license information please see wc-meta-boxes-product.js.LICENSE.txt */ 2 (()=>{var e,t={976:()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var a=0;a<t.length;a++){var o=t[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,n(o.key),o)}}function n(t){var n=function(t,n){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var o=a.call(t,n||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==e(n)?n:n+""}jQuery((function(e){new(function(){return n=function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.fieldIndex=e("#exprdawc_field_body tr.exprdawc_attribute").length,this.isDirty=!1,this.init()},a=[{key:"init",value:function(){this.bindEvents(),this.noEntryContent()}},{key:"bindEvents",value:function(){e("#exprdawc_add_custom_field").on("click",this.addCustomField.bind(this)),e(document).on("click",".exprdawc_remove_custom_field",this.removeCustomField.bind(this)),e(document).on("change",".exprdawc_attribute_type",this.toggleOptions.bind(this)),e(document).on("click",".toggle-options",this.toggleOptionsTable.bind(this)),e(document).on("click",".add_option",this.addOption.bind(this)),e(document).on("click",".remove_option",this.removeOption.bind(this)),e(document).on("click","a.exprdawc-export",this.exportContent.bind(this)),e(document).on("click","a.exprdawc-import",this.importContent.bind(this)),e(document).on("change",".exprdawc_input",this.setDirty.bind(this)),e(document).on("change",".exprdawc_autocomplete_field",this.checkAutocompleteField.bind(this)),e(document).on("click",".add_rule_group",this.addRuleGroup.bind(this)),e(document).on("click",".add_rule",this.addRule.bind(this)),e(document).on("click",".remove_rule",this.removeRule.bind(this)),e(document).on("change",".exprdawc_conditional_operator",this.toggleConditionalValueField.bind(this)),e(document).on("change",".exprdawc_conditional_logic_field",this.toggleConditionalTable.bind(this)),this.toggleConditionalValueFieldAll(),e(".exprdawc_field_table tbody").sortable({items:"tr.exprdawc_fields_wrapper",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}}),e(document).on("mouseenter",".exprdawc_options_table tbody",(function(){e(this).sortable({items:"tr",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}})})),e("#exprdawc_attribute_container").on("input",".exprdawc_attribute .exprdawc_attribute_input_name input",(function(){var t=e(this).val(),n=e(this).closest(".exprdawc_attribute").find(".attribute_name");t&&n.text(t)}))}},{key:"addCustomField",value:function(){this.fieldIndex++,this.setDirty(),e("#exprdawc_field_body").append('\n <tr class="exprdawc_fields_wrapper">\n <td colspan="5">\n <table class="exprdawc_fields_table" data-index="'.concat(this.fieldIndex,'">\n\t <tbody>\n <tr class="exprdawc_attribute">\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td class="cl-arr"><i class="dashicons dashicons-arrow-up toggle-options"></i></td>\n <td class="exprdawc_attribute_input_name">\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.label_placeholder,'" />\n </td>\n <td>\n <select id="exprdawc_attribute_type_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][type]" class="exprdawc_attribute_type">\n <option value="text">').concat(exprdawc_admin_meta_boxes.short_text,'</option>\n <option value="long_text">').concat(exprdawc_admin_meta_boxes.long_text,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="number">').concat(exprdawc_admin_meta_boxes.number,'</option>\n <option value="date">').concat(exprdawc_admin_meta_boxes.date,'</option>\n <option value="yes-no">').concat(exprdawc_admin_meta_boxes.yes_no,'</option>\n <option value="radio">').concat(exprdawc_admin_meta_boxes.radio,'</option>\n <option value="checkbox">').concat(exprdawc_admin_meta_boxes.checkbox,'</option>\n <option value="select">').concat(exprdawc_admin_meta_boxes.select,'</option>\n </select>\n </td>\n <td>\n <button type="button" class="exprdawc_remove_custom_field button"><i class="dashicons dashicons-trash"></i></button>\n <input type="hidden" class="exprdawc_attribute_index" name="extra_product_fields[').concat(this.fieldIndex,'][index]" value="').concat(this.fieldIndex,'"/>\n </td>\n </tr>\n <tr class="exprdawc_options" style="display: none;">\n <td colspan="5">\n\n <table class="exprdawc_settings_table exprdawc_general_table">\n <tbody>\n\n \x3c!-- Text Area Option/Settings --\x3e\n <tr>\n <td class="exprdawc_attribute_require_checkbox">\n <label class="exprdawc_label" for="exprdawc_text_required_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_required_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][required]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.require_input,'\n </label> \n <label class="exprdawc_label" for="exprdawc_text_autofocus_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_autofocus_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][autofocus]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_autofocus,'\n </label>\n\n \x3c!-- Enable Conditional Logic and show table --\x3e\n <label class="exprdawc_label" for="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_conditional_logic_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_logic]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_conditional_logic,'\n </label>\n </td>\n <td class="exprdawc_attribute_placeholder_text">\n <label class="exprdawc_label" for="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.placeholder_text,'</label>\n <input type="text" id="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_placeholder" name="extra_product_fields[').concat(this.fieldIndex,'][placeholder_text]" placeholder="').concat(exprdawc_admin_meta_boxes.placeholder_text,'" />\n </td>\n <td class="exprdawc_attribute_help_text">\n <label class="exprdawc_label" for="exprdawc_text_help_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.help_text,'</label>\n <input type="text" id="exprdawc_text_help_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_helptext" name="extra_product_fields[').concat(this.fieldIndex,'][help_text]" placeholder="').concat(exprdawc_admin_meta_boxes.help_text,'" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_autocomplete_function_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.autocomplete_function,'</label>\n <select id="exprdawc_autocomplete_function_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][autocomplete]" class="exprdawc_input exprdawc_attribute_type">\n <option value="on">').concat(exprdawc_admin_meta_boxes.autocomplete_on,'</option>\n <option value="off">').concat(exprdawc_admin_meta_boxes.autocomplete_off,'</option>\n <option value="address-level1">').concat(exprdawc_admin_meta_boxes.address_level1,'</option>\n <option value="address-level2">').concat(exprdawc_admin_meta_boxes.address_level2,'</option>\n <option value="address-level3">').concat(exprdawc_admin_meta_boxes.address_level3,'</option>\n <option value="address-level4">').concat(exprdawc_admin_meta_boxes.address_level4,'</option>\n <option value="address-line1">').concat(exprdawc_admin_meta_boxes.address_line1,'</option>\n <option value="address-line2">').concat(exprdawc_admin_meta_boxes.address_line2,'</option>\n <option value="address-line3">').concat(exprdawc_admin_meta_boxes.address_line3,'</option>\n <option value="bday">').concat(exprdawc_admin_meta_boxes.bday,'</option>\n <option value="bday-day">').concat(exprdawc_admin_meta_boxes.bday_day,'</option>\n <option value="bday-month">').concat(exprdawc_admin_meta_boxes.bday_month,'</option>\n <option value="bday-year">').concat(exprdawc_admin_meta_boxes.bday_year,'</option>\n <option value="cc-additional-name">').concat(exprdawc_admin_meta_boxes.cc_additional_name,'</option>\n <option value="cc-csc">').concat(exprdawc_admin_meta_boxes.cc_csc,'</option>\n <option value="cc-exp">').concat(exprdawc_admin_meta_boxes.cc_exp,'</option>\n <option value="cc-exp-month">').concat(exprdawc_admin_meta_boxes.cc_exp_month,'</option>\n <option value="cc-exp-year">').concat(exprdawc_admin_meta_boxes.cc_exp_year,'</option>\n <option value="cc-family-name">').concat(exprdawc_admin_meta_boxes.cc_family_name,'</option>\n <option value="cc-given-name">').concat(exprdawc_admin_meta_boxes.cc_given_name,'</option>\n <option value="cc-name">').concat(exprdawc_admin_meta_boxes.cc_name,'</option>\n <option value="cc-number">').concat(exprdawc_admin_meta_boxes.cc_number,'</option>\n <option value="cc-type">').concat(exprdawc_admin_meta_boxes.cc_type,'</option>\n <option value="country">').concat(exprdawc_admin_meta_boxes.country,'</option>\n <option value="country-name">').concat(exprdawc_admin_meta_boxes.country_name,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="language">').concat(exprdawc_admin_meta_boxes.language,'</option>\n <option value="photo">').concat(exprdawc_admin_meta_boxes.photo,'</option>\n <option value="postal-code">').concat(exprdawc_admin_meta_boxes.postal_code,'</option>\n <option value="sex">').concat(exprdawc_admin_meta_boxes.sex,'</option>\n <option value="street-address">').concat(exprdawc_admin_meta_boxes.street_address,'</option>\n <option value="tel">').concat(exprdawc_admin_meta_boxes.tel,'</option>\n <option value="tel-area-code">').concat(exprdawc_admin_meta_boxes.tel_area_code,'</option>\n <option value="tel-country-code">').concat(exprdawc_admin_meta_boxes.tel_country_code,'</option>\n <option value="tel-extension">').concat(exprdawc_admin_meta_boxes.tel_extension,'</option>\n <option value="tel-local">').concat(exprdawc_admin_meta_boxes.tel_local,'</option>\n <option value="tel-local-prefix">').concat(exprdawc_admin_meta_boxes.tel_local_prefix,'</option>\n <option value="tel-local-suffix">').concat(exprdawc_admin_meta_boxes.tel_local_suffix,'</option>\n <option value="tel-national">').concat(exprdawc_admin_meta_boxes.tel_national,'</option>\n <option value="transaction-amount">').concat(exprdawc_admin_meta_boxes.transaction_amount,'</option>\n <option value="transaction-currency">').concat(exprdawc_admin_meta_boxes.transaction_currency,'</option>\n <option value="url">').concat(exprdawc_admin_meta_boxes.url,'</option>\n </select>\n </td>\n </tr>\n </tbody>\n </table>\n <hr>\n\n \x3c!-- Conditional Logic --\x3e\n\t\t\t\t <table class="exprdawc_settings_table exprdawc_conditional_logic_table" style="display:none;">\n <tbody>\n <tr>\n <td colspan="3">\n <label class="exprdawc_label">').concat(exprdawc_admin_meta_boxes.conditionals,"</label>\n\t\t\t\t\t\t\t\t <p>").concat(exprdawc_admin_meta_boxes.conditionals_description,'</p>\n <div class="exprdawc_conditional_rules">\n <div class="exprdawc_rule_group_container">\n <div class="exprdawc_rule_group">\n <div class="exprdawc_rule">\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">').concat(exprdawc_admin_meta_boxes.and,'</button>\n </div>\n </div>\n </div>\n </div>\n </td> \n </tr>\n </tbody>\n </table>\n\n\n \x3c!-- Text Area Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_long_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_rows_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.rows,'</label>\n <input type="number" id="exprdawc_long_text_rows_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_rows" name="extra_product_fields[').concat(this.fieldIndex,'][rows]" value="2" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_cols_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.columns,'</label>\n <input type="number" id="exprdawc_long_text_cols_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_cols" name="extra_product_fields[').concat(this.fieldIndex,'][cols]" value="5" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <textarea id="exprdawc_long_text_default_').concat(this.fieldIndex,'" class="exprdawc_textarea" rows="3" cols="30" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]"></textarea>\n </td>\n </tr>\n </tbody>\n </table>\n\n \x3c!-- Text Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_min_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.min_length,'</label>\n <input type="number" id="exprdawc_text_min_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_min_length" name="extra_product_fields[').concat(this.fieldIndex,'][minlength]" value="0" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_max_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.max_length,'</label>\n <input type="number" id="exprdawc_text_max_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_max_length" name="extra_product_fields[').concat(this.fieldIndex,'][maxlength]" value="255" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <input type="text" id="exprdawc_text_default_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_default" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]" />\n </td>\n </tr>\n </tbody>\n </table>\n\n <table class="exprdawc_options_table" style="display:none;">\n <thead>\n <tr>\n <th></th>\n <th>').concat(exprdawc_admin_meta_boxes.option_label,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.option_value,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.default,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.action,'</th>\n </tr>\n </thead>\n <tbody>\n \x3c!-- Options will be dynamically added here --\x3e\n </tbody>\n <tfoot>\n <tr>\n <td colspan="4">\n <button type="button" class="button add_option">').concat(exprdawc_admin_meta_boxes.add_option,'</button>\n </td>\n </tr>\n </tfoot>\n </table>\n <p class="exprdawc_no_entry_message" style="display: none;">').concat(exprdawc_admin_meta_boxes.no_options,"</p>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n ")),this.noEntryContent(),e("#exprdawc_attribute_type_"+this.fieldIndex).trigger("change")}},{key:"removeCustomField",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").next(".exprdawc_options").remove(),e(t.currentTarget).closest("tr").remove(),this.noEntryContent()),!1}},{key:"toggleOptions",value:function(t){this.setDirty();var n=e(t.currentTarget).closest("tr"),a=n.next(".exprdawc_options"),o=a.find(".exprdawc_options_table"),c=n.find(".exprdawc_placeholder");"radio"===e(t.currentTarget).val()||"checkbox"===e(t.currentTarget).val()||"select"===e(t.currentTarget).val()?(c.prop("disabled",!0),o.show()):(c.prop("disabled",!1),o.hide()),"long_text"===e(t.currentTarget).val()?a.find(".exprdawc_long_text_table").show():a.find(".exprdawc_long_text_table").hide(),"text"===e(t.currentTarget).val()||"email"===e(t.currentTarget).val()||"number"===e(t.currentTarget).val()||"date"===e(t.currentTarget).val()?a.find(".exprdawc_text_table").show():a.find(".exprdawc_text_table").hide()}},{key:"toggleOptionsTable",value:function(t){var n=e(t.currentTarget);n.closest("tr").next(".exprdawc_options").toggle(),n.toggleClass("dashicons-arrow-down dashicons-arrow-up")}},{key:"addOption",value:function(t){this.setDirty();var n=e(t.currentTarget).closest(".exprdawc_options_table"),a=n.find("tbody tr").length;n.find("tbody").append('\n <tr>\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td>\n <input type="text" name="extra_product_fields['.concat(this.fieldIndex,"][options][").concat(a,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.option_label_placeholder,'" />\n </td>\n <td>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,"][options][").concat(a,'][value]" placeholder="').concat(exprdawc_admin_meta_boxes.option_value_placeholder,'" />\n </td>\n <td>\n <input type="radio" name="extra_product_fields[').concat(this.fieldIndex,'][default]" value="').concat(a,'" />\n </td>\n <td>\n <button type="button" class="button remove_option">').concat(exprdawc_admin_meta_boxes.remove,"</button>\n </td>\n </tr>\n ")),this.checkOptions(n.closest(".exprdawc_options"))}},{key:"removeOption",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").remove(),this.checkOptions(e(t.currentTarget).closest(".exprdawc_options"))),!1}},{key:"checkOptions",value:function(e){var t=e.find(".exprdawc_options_table tbody"),n=e.find(".exprdawc_no_entry_message");0===t.find("tr").length?n.show():n.hide()}},{key:"exportContent",value:function(t){if(t.preventDefault(),console.log("exportContent"),console.log(this.isDirty),this.isDirty)alert("".concat(exprdawc_admin_meta_boxes.pleaseSaveBeforeExportMsg));else{var n=e("#exprdawc_export_string").val();n?navigator.clipboard.writeText(n).then((function(){alert("".concat(exprdawc_admin_meta_boxes.copySuccessMsg))}),(function(e){console.error("Could not copy text: ",e),alert("".concat(exprdawc_admin_meta_boxes.copyErrorMsg))})):alert("".concat(exprdawc_admin_meta_boxes.emptyExportMsg))}}},{key:"importContent",value:function(t){t.preventDefault();var n=prompt(exprdawc_admin_meta_boxes.enterExportString);if(n){if(!confirm(exprdawc_admin_meta_boxes.sureImportQuestion))return;var a=e("#post_ID").val();e.ajax({url:ajaxurl,method:"POST",data:{action:"exprdawc_import_custom_fields",product_id:a,export_string:n,security:exprdawc_admin_meta_boxes.edit_exprdawc_nonce},success:function(e){e.success?(alert(exprdawc_admin_meta_boxes.importSuccessMsg),location.reload()):alert(exprdawc_admin_meta_boxes.importErrorMsg)},error:function(){alert(exprdawc_admin_meta_boxes.importErrorMsg)}})}}},{key:"setDirty",value:function(){this.isDirty=!0,this.disableExportLink()}},{key:"disableExportLink",value:function(){this.isDirty&&e(".exprdawc-export").hide()}},{key:"noEntryContent",value:function(){var t=e("#exprdawc_field_body .exprdawc_attribute").length,n=e(".exprdawc_no_entry_message"),a=e("#exprdatawc_table_header"),o=e(".exprdawc-export");t>0?(n.hide(),a.show(),o.show()):(n.show(),a.hide(),o.hide())}},{key:"checkAutocompleteField",value:function(t){var n=e(t.currentTarget);if(n.is(":checked")){var a=e(".exprdawc_autocomplete_field").not(n).filter(":checked");if(a.length>0){if(!confirm(exprdawc_admin_meta_boxes.sureAnotherAutocompleCheckedQuestion))return void n.prop("checked",!1);a.prop("checked",!1)}}}},{key:"addRuleGroup",value:function(t){var n=e(t.currentTarget).closest(".exprdawc_conditional_logic_table").find(".exprdawc_conditional_rules"),a=n.find(".exprdawc_rule_group").length,o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=this.getRuleGroupHtml(o,a);n.append(c)}},{key:"addRule",value:function(t){var n=e(t.currentTarget).closest(".exprdawc_rule_group"),a=n.index(),o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=n.find(".exprdawc_rule").length,i=this.getRuleHtml(o,a,c);n.append(i)}},{key:"getRuleGroupHtml",value:function(e,t){return'\n <div class="exprdawc_rule_group_container">\n <h2>'.concat(exprdawc_admin_meta_boxes.or,'</h2>\n <div class="exprdawc_rule_group">\n ').concat(this.getRuleHtml(e,t,0),"\n </div>\n </div>\n ")}},{key:"getRuleHtml",value:function(e,t,n){return'\n <div class="exprdawc_rule">\n <select name="extra_product_fields['.concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(n,'][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">+ ').concat(exprdawc_admin_meta_boxes.and,"</button>\n </div>\n ")}},{key:"toggleConditionalValueField",value:function(t){var n=e(t.currentTarget),a=n.closest(".exprdawc_rule").find(".exprdawc_conditional_value");"field_changed"===n.val()||"field_is_empty"===n.val()||"field_is_not_empty"===n.val()?a.hide():a.show()}},{key:"toggleConditionalValueFieldAll",value:function(){var t=this;e(".exprdawc_conditional_operator").each((function(e,n){t.toggleConditionalValueField({currentTarget:n})}))}},{key:"removeRule",value:function(t){if(confirm(exprdawc_admin_meta_boxes.confirm_delete_rule)){var n=e(t.currentTarget).closest(".exprdawc_rule_group_container");e(t.currentTarget).closest(".exprdawc_rule").remove(),0===n.find(".exprdawc_rule").length&&n.remove()}return!1}},{key:"getAllFieldsOptions",value:function(){var t="";return e("#exprdawc_field_body tr.exprdawc_attribute").each((function(){var n=e(this).find(".exprdawc_attribute_input_name input").val();t+='<option value="'.concat(n,'">').concat(n,"</option>")})),t}},{key:"toggleConditionalTable",value:function(t){var n=e(t.currentTarget),a=e(t.currentTarget).closest(".exprdawc_options").find(".exprdawc_conditional_logic_table");n.is(":checked")?a.show():a.hide()}}],a&&t(n.prototype,a),o&&t(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a,o}())}))},989:()=>{},99:()=>{}},n={};function a(e){var o=n[e];if(void 0!==o)return o.exports;var c=n[e]={exports:{}};return t[e](c,c.exports,a),c.exports}a.m=t,e=[],a.O=(t,n,o,c)=>{if(!n){var i=1/0;for(_=0;_<e.length;_++){for(var[n,o,c]=e[_],d=!0,r=0;r<n.length;r++)(!1&c||i>=c)&&Object.keys(a.O).every((e=>a.O[e](n[r])))?n.splice(r--,1):(d=!1,c<i&&(i=c));if(d){e.splice(_--,1);var l=o();void 0!==l&&(t=l)}}return t}c=c||0;for(var _=e.length;_>0&&e[_-1][2]>c;_--)e[_]=e[_-1];e[_]=[n,o,c]},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={890:0,956:0,107:0};a.O.j=t=>0===e[t];var t=(t,n)=>{var o,c,[i,d,r]=n,l=0;if(i.some((t=>0!==e[t]))){for(o in d)a.o(d,o)&&(a.m[o]=d[o]);if(r)var _=r(a)}for(t&&t(n);l<i.length;l++)c=i[l],a.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return a.O(_)},n=self.webpackChunkextra_product_data_for_woocommerce=self.webpackChunkextra_product_data_for_woocommerce||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),a.O(void 0,[956,107],(()=>a(976))),a.O(void 0,[956,107],(()=>a(989)));var o=a.O(void 0,[956,107],(()=>a(99)));o=a.O(o)})();2 (()=>{var e,t={976:()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(t){var a=function(t,a){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,a||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(t)}(t,"string");return"symbol"==e(a)?a:a+""}jQuery((function(e){new(function(){return a=function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.fieldIndex=e("#exprdawc_field_body tr.exprdawc_attribute").length,this.isDirty=!1,this.init()},n=[{key:"init",value:function(){this.bindEvents(),this.noEntryContent()}},{key:"bindEvents",value:function(){e("#exprdawc_add_custom_field").on("click",this.addCustomField.bind(this)),e(document).on("click",".exprdawc_remove_custom_field",this.removeCustomField.bind(this)),e(document).on("change",".exprdawc_attribute_type",this.toggleOptions.bind(this)),e(document).on("click",".toggle-options",this.toggleOptionsTable.bind(this)),e(document).on("click",".add_option",this.addOption.bind(this)),e(document).on("click",".remove_option",this.removeOption.bind(this)),e(document).on("click","a.exprdawc-export",this.exportContent.bind(this)),e(document).on("click","a.exprdawc-import",this.importContent.bind(this)),e(document).on("change",".exprdawc_input",this.setDirty.bind(this)),e(document).on("change",".exprdawc_autocomplete_field",this.checkAutocompleteField.bind(this)),e(document).on("click",".add_rule_group",this.addRuleGroup.bind(this)),e(document).on("click",".add_rule",this.addRule.bind(this)),e(document).on("click",".remove_rule",this.removeRule.bind(this)),e(document).on("change",".exprdawc_conditional_operator",this.toggleConditionalValueField.bind(this)),e(document).on("change",".exprdawc_conditional_logic_field",this.toggleConditionalTable.bind(this)),this.toggleConditionalValueFieldAll(),e(".exprdawc_field_table tbody").sortable({items:"tr.exprdawc_fields_wrapper",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}}),e(document).on("mouseenter",".exprdawc_options_table tbody",(function(){e(this).sortable({items:"tr",cursor:"move",axis:"y",handle:".move",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(e,t){t.item.css("background-color","#f6f6f6")},stop:function(e,t){t.item.removeAttr("style")}})})),e("#exprdawc_attribute_container").on("input",".exprdawc_attribute .exprdawc_attribute_input_name input",(function(){var t=e(this).val(),a=e(this).closest(".exprdawc_attribute").find(".attribute_name");t&&a.text(t)}))}},{key:"addCustomField",value:function(){this.fieldIndex++,this.setDirty(),e("#exprdawc_field_body").append('\n <tr class="exprdawc_fields_wrapper">\n <td colspan="5">\n <table class="exprdawc_fields_table" data-index="'.concat(this.fieldIndex,'">\n\t <tbody>\n <tr class="exprdawc_attribute">\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td class="cl-arr"><i class="dashicons dashicons-arrow-up toggle-options"></i></td>\n <td class="exprdawc_attribute_input_name">\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.label_placeholder,'" />\n </td>\n <td>\n <select id="exprdawc_attribute_type_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][type]" class="exprdawc_attribute_type">\n <option value="text">').concat(exprdawc_admin_meta_boxes.short_text,'</option>\n <option value="long_text">').concat(exprdawc_admin_meta_boxes.long_text,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="number">').concat(exprdawc_admin_meta_boxes.number,'</option>\n <option value="date">').concat(exprdawc_admin_meta_boxes.date,'</option>\n <option value="yes-no">').concat(exprdawc_admin_meta_boxes.yes_no,'</option>\n <option value="radio">').concat(exprdawc_admin_meta_boxes.radio,'</option>\n <option value="checkbox">').concat(exprdawc_admin_meta_boxes.checkbox,'</option>\n <option value="select">').concat(exprdawc_admin_meta_boxes.select,'</option>\n </select>\n </td>\n <td>\n <button type="button" class="exprdawc_remove_custom_field button"><i class="dashicons dashicons-trash"></i></button>\n <input type="hidden" class="exprdawc_attribute_index" name="extra_product_fields[').concat(this.fieldIndex,'][index]" value="').concat(this.fieldIndex,'"/>\n </td>\n </tr>\n <tr class="exprdawc_options" style="display: none;">\n <td colspan="5">\n\n <table class="exprdawc_settings_table exprdawc_general_table">\n <tbody>\n\n \x3c!-- Text Area Option/Settings --\x3e\n <tr>\n <td class="exprdawc_attribute_require_checkbox">\n <label class="exprdawc_label" for="exprdawc_text_required_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_required_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][required]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.require_input,'\n </label> \n <label class="exprdawc_label" for="exprdawc_text_autofocus_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_autofocus_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][autofocus]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_autofocus,'\n </label>\n <label class="exprdawc_label" for="exprdawc_text_editable_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_editable_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_editable_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][editable]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_editable,'\n </label>\n\n \x3c!-- Enable Conditional Logic and show table --\x3e\n <label class="exprdawc_label" for="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'">\n <input type="checkbox" id="exprdawc_text_conditional_logic_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_checkbox exprdawc_conditional_logic_field checkbox" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_logic]" value="1" />\n ').concat(exprdawc_admin_meta_boxes.enable_conditional_logic,'\n </label>\n </td>\n <td class="exprdawc_attribute_placeholder_text">\n <label class="exprdawc_label" for="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.placeholder_text,'</label>\n <input type="text" id="exprdawc_text_placeholder_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_placeholder" name="extra_product_fields[').concat(this.fieldIndex,'][placeholder_text]" placeholder="').concat(exprdawc_admin_meta_boxes.placeholder_text,'" />\n </td>\n <td class="exprdawc_attribute_help_text">\n <label class="exprdawc_label" for="exprdawc_text_help_text_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.help_text,'</label>\n <input type="text" id="exprdawc_text_help_text_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_textinput exprdawc_helptext" name="extra_product_fields[').concat(this.fieldIndex,'][help_text]" placeholder="').concat(exprdawc_admin_meta_boxes.help_text,'" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_autocomplete_function_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.autocomplete_function,'</label>\n <select id="exprdawc_autocomplete_function_').concat(this.fieldIndex,'" name="extra_product_fields[').concat(this.fieldIndex,'][autocomplete]" class="exprdawc_input exprdawc_attribute_type">\n <option value="on">').concat(exprdawc_admin_meta_boxes.autocomplete_on,'</option>\n <option value="off">').concat(exprdawc_admin_meta_boxes.autocomplete_off,'</option>\n <option value="address-level1">').concat(exprdawc_admin_meta_boxes.address_level1,'</option>\n <option value="address-level2">').concat(exprdawc_admin_meta_boxes.address_level2,'</option>\n <option value="address-level3">').concat(exprdawc_admin_meta_boxes.address_level3,'</option>\n <option value="address-level4">').concat(exprdawc_admin_meta_boxes.address_level4,'</option>\n <option value="address-line1">').concat(exprdawc_admin_meta_boxes.address_line1,'</option>\n <option value="address-line2">').concat(exprdawc_admin_meta_boxes.address_line2,'</option>\n <option value="address-line3">').concat(exprdawc_admin_meta_boxes.address_line3,'</option>\n <option value="bday">').concat(exprdawc_admin_meta_boxes.bday,'</option>\n <option value="bday-day">').concat(exprdawc_admin_meta_boxes.bday_day,'</option>\n <option value="bday-month">').concat(exprdawc_admin_meta_boxes.bday_month,'</option>\n <option value="bday-year">').concat(exprdawc_admin_meta_boxes.bday_year,'</option>\n <option value="cc-additional-name">').concat(exprdawc_admin_meta_boxes.cc_additional_name,'</option>\n <option value="cc-csc">').concat(exprdawc_admin_meta_boxes.cc_csc,'</option>\n <option value="cc-exp">').concat(exprdawc_admin_meta_boxes.cc_exp,'</option>\n <option value="cc-exp-month">').concat(exprdawc_admin_meta_boxes.cc_exp_month,'</option>\n <option value="cc-exp-year">').concat(exprdawc_admin_meta_boxes.cc_exp_year,'</option>\n <option value="cc-family-name">').concat(exprdawc_admin_meta_boxes.cc_family_name,'</option>\n <option value="cc-given-name">').concat(exprdawc_admin_meta_boxes.cc_given_name,'</option>\n <option value="cc-name">').concat(exprdawc_admin_meta_boxes.cc_name,'</option>\n <option value="cc-number">').concat(exprdawc_admin_meta_boxes.cc_number,'</option>\n <option value="cc-type">').concat(exprdawc_admin_meta_boxes.cc_type,'</option>\n <option value="country">').concat(exprdawc_admin_meta_boxes.country,'</option>\n <option value="country-name">').concat(exprdawc_admin_meta_boxes.country_name,'</option>\n <option value="email">').concat(exprdawc_admin_meta_boxes.email,'</option>\n <option value="language">').concat(exprdawc_admin_meta_boxes.language,'</option>\n <option value="photo">').concat(exprdawc_admin_meta_boxes.photo,'</option>\n <option value="postal-code">').concat(exprdawc_admin_meta_boxes.postal_code,'</option>\n <option value="sex">').concat(exprdawc_admin_meta_boxes.sex,'</option>\n <option value="street-address">').concat(exprdawc_admin_meta_boxes.street_address,'</option>\n <option value="tel">').concat(exprdawc_admin_meta_boxes.tel,'</option>\n <option value="tel-area-code">').concat(exprdawc_admin_meta_boxes.tel_area_code,'</option>\n <option value="tel-country-code">').concat(exprdawc_admin_meta_boxes.tel_country_code,'</option>\n <option value="tel-extension">').concat(exprdawc_admin_meta_boxes.tel_extension,'</option>\n <option value="tel-local">').concat(exprdawc_admin_meta_boxes.tel_local,'</option>\n <option value="tel-local-prefix">').concat(exprdawc_admin_meta_boxes.tel_local_prefix,'</option>\n <option value="tel-local-suffix">').concat(exprdawc_admin_meta_boxes.tel_local_suffix,'</option>\n <option value="tel-national">').concat(exprdawc_admin_meta_boxes.tel_national,'</option>\n <option value="transaction-amount">').concat(exprdawc_admin_meta_boxes.transaction_amount,'</option>\n <option value="transaction-currency">').concat(exprdawc_admin_meta_boxes.transaction_currency,'</option>\n <option value="url">').concat(exprdawc_admin_meta_boxes.url,'</option>\n </select>\n </td>\n </tr>\n </tbody>\n </table>\n <hr>\n\n \x3c!-- Conditional Logic --\x3e\n\t\t\t\t <table class="exprdawc_settings_table exprdawc_conditional_logic_table" style="display:none;">\n <tbody>\n <tr>\n <td colspan="3">\n <label class="exprdawc_label">').concat(exprdawc_admin_meta_boxes.conditionals,"</label>\n\t\t\t\t\t\t\t\t <p>").concat(exprdawc_admin_meta_boxes.conditionals_description,'</p>\n <div class="exprdawc_conditional_rules">\n <div class="exprdawc_rule_group_container">\n <div class="exprdawc_rule_group">\n <div class="exprdawc_rule">\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,'][conditional_rules][0][0][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">').concat(exprdawc_admin_meta_boxes.and,'</button>\n </div>\n </div>\n </div>\n </div>\n </td> \n </tr>\n </tbody>\n </table>\n\n\n \x3c!-- Text Area Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_long_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_rows_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.rows,'</label>\n <input type="number" id="exprdawc_long_text_rows_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_rows" name="extra_product_fields[').concat(this.fieldIndex,'][rows]" value="2" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_cols_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.columns,'</label>\n <input type="number" id="exprdawc_long_text_cols_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_long_text_cols" name="extra_product_fields[').concat(this.fieldIndex,'][cols]" value="5" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_long_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <textarea id="exprdawc_long_text_default_').concat(this.fieldIndex,'" class="exprdawc_textarea" rows="3" cols="30" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]"></textarea>\n </td>\n </tr>\n </tbody>\n </table>\n\n \x3c!-- Text Option/Settings --\x3e\n <table class="exprdawc_settings_table exprdawc_text_table" style="display:none;">\n <tbody>\n <tr>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_min_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.min_length,'</label>\n <input type="number" id="exprdawc_text_min_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_min_length" name="extra_product_fields[').concat(this.fieldIndex,'][minlength]" value="0" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_max_length_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.max_length,'</label>\n <input type="number" id="exprdawc_text_max_length_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_max_length" name="extra_product_fields[').concat(this.fieldIndex,'][maxlength]" value="255" />\n </td>\n <td>\n <label class="exprdawc_label" for="exprdawc_text_default_').concat(this.fieldIndex,'">').concat(exprdawc_admin_meta_boxes.default_value,'</label>\n <input type="text" id="exprdawc_text_default_').concat(this.fieldIndex,'" class="exprdawc_input exprdawc_text_default" placeholder="').concat(exprdawc_admin_meta_boxes.enter_default_text,'" name="extra_product_fields[').concat(this.fieldIndex,'][default]" />\n </td>\n </tr>\n </tbody>\n </table>\n\n <table class="exprdawc_options_table" style="display:none;">\n <thead>\n <tr>\n <th></th>\n <th>').concat(exprdawc_admin_meta_boxes.option_label,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.option_value,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.default,"</th>\n <th>").concat(exprdawc_admin_meta_boxes.action,'</th>\n </tr>\n </thead>\n <tbody>\n \x3c!-- Options will be dynamically added here --\x3e\n </tbody>\n <tfoot>\n <tr>\n <td colspan="4">\n <button type="button" class="button add_option">').concat(exprdawc_admin_meta_boxes.add_option,'</button>\n </td>\n </tr>\n </tfoot>\n </table>\n <p class="exprdawc_no_entry_message" style="display: none;">').concat(exprdawc_admin_meta_boxes.no_options,"</p>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n ")),this.noEntryContent(),e("#exprdawc_attribute_type_"+this.fieldIndex).trigger("change")}},{key:"removeCustomField",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").next(".exprdawc_options").remove(),e(t.currentTarget).closest("tr").remove(),this.noEntryContent()),!1}},{key:"toggleOptions",value:function(t){this.setDirty();var a=e(t.currentTarget).closest("tr"),n=a.next(".exprdawc_options"),o=n.find(".exprdawc_options_table"),c=a.find(".exprdawc_placeholder");"radio"===e(t.currentTarget).val()||"checkbox"===e(t.currentTarget).val()||"select"===e(t.currentTarget).val()?(c.prop("disabled",!0),o.show()):(c.prop("disabled",!1),o.hide()),"long_text"===e(t.currentTarget).val()?n.find(".exprdawc_long_text_table").show():n.find(".exprdawc_long_text_table").hide(),"text"===e(t.currentTarget).val()||"email"===e(t.currentTarget).val()||"number"===e(t.currentTarget).val()||"date"===e(t.currentTarget).val()?n.find(".exprdawc_text_table").show():n.find(".exprdawc_text_table").hide()}},{key:"toggleOptionsTable",value:function(t){var a=e(t.currentTarget);a.closest("tr").next(".exprdawc_options").toggle(),a.toggleClass("dashicons-arrow-down dashicons-arrow-up")}},{key:"addOption",value:function(t){this.setDirty();var a=e(t.currentTarget).closest(".exprdawc_options_table"),n=a.find("tbody tr").length;a.find("tbody").append('\n <tr>\n <td class="move"><i class="dashicons dashicons-move"></i></td>\n <td>\n <input type="text" name="extra_product_fields['.concat(this.fieldIndex,"][options][").concat(n,'][label]" placeholder="').concat(exprdawc_admin_meta_boxes.option_label_placeholder,'" />\n </td>\n <td>\n <input type="text" name="extra_product_fields[').concat(this.fieldIndex,"][options][").concat(n,'][value]" placeholder="').concat(exprdawc_admin_meta_boxes.option_value_placeholder,'" />\n </td>\n <td>\n <input type="radio" name="extra_product_fields[').concat(this.fieldIndex,'][default]" value="').concat(n,'" />\n </td>\n <td>\n <button type="button" class="button remove_option">').concat(exprdawc_admin_meta_boxes.remove,"</button>\n </td>\n </tr>\n ")),this.checkOptions(a.closest(".exprdawc_options"))}},{key:"removeOption",value:function(t){return confirm(exprdawc_admin_meta_boxes.confirm_delete)&&(this.setDirty(),e(t.currentTarget).closest("tr").remove(),this.checkOptions(e(t.currentTarget).closest(".exprdawc_options"))),!1}},{key:"checkOptions",value:function(e){var t=e.find(".exprdawc_options_table tbody"),a=e.find(".exprdawc_no_entry_message");0===t.find("tr").length?a.show():a.hide()}},{key:"exportContent",value:function(t){if(t.preventDefault(),console.log("exportContent"),console.log(this.isDirty),this.isDirty)alert("".concat(exprdawc_admin_meta_boxes.pleaseSaveBeforeExportMsg));else{var a=e("#exprdawc_export_string").val();a?navigator.clipboard.writeText(a).then((function(){alert("".concat(exprdawc_admin_meta_boxes.copySuccessMsg))}),(function(e){console.error("Could not copy text: ",e),alert("".concat(exprdawc_admin_meta_boxes.copyErrorMsg))})):alert("".concat(exprdawc_admin_meta_boxes.emptyExportMsg))}}},{key:"importContent",value:function(t){t.preventDefault();var a=prompt(exprdawc_admin_meta_boxes.enterExportString);if(a){if(!confirm(exprdawc_admin_meta_boxes.sureImportQuestion))return;var n=e("#post_ID").val();e.ajax({url:ajaxurl,method:"POST",data:{action:"exprdawc_import_custom_fields",product_id:n,export_string:a,security:exprdawc_admin_meta_boxes.edit_exprdawc_nonce},success:function(e){e.success?(alert(exprdawc_admin_meta_boxes.importSuccessMsg),location.reload()):alert(exprdawc_admin_meta_boxes.importErrorMsg)},error:function(){alert(exprdawc_admin_meta_boxes.importErrorMsg)}})}}},{key:"setDirty",value:function(){this.isDirty=!0,this.disableExportLink()}},{key:"disableExportLink",value:function(){this.isDirty&&e(".exprdawc-export").hide()}},{key:"noEntryContent",value:function(){var t=e("#exprdawc_field_body .exprdawc_attribute").length,a=e(".exprdawc_no_entry_message"),n=e("#exprdatawc_table_header"),o=e(".exprdawc-export");t>0?(a.hide(),n.show(),o.show()):(a.show(),n.hide(),o.hide())}},{key:"checkAutocompleteField",value:function(t){var a=e(t.currentTarget);if(a.is(":checked")){var n=e(".exprdawc_autocomplete_field").not(a).filter(":checked");if(n.length>0){if(!confirm(exprdawc_admin_meta_boxes.sureAnotherAutocompleCheckedQuestion))return void a.prop("checked",!1);n.prop("checked",!1)}}}},{key:"addRuleGroup",value:function(t){var a=e(t.currentTarget).closest(".exprdawc_conditional_logic_table").find(".exprdawc_conditional_rules"),n=a.find(".exprdawc_rule_group").length,o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=this.getRuleGroupHtml(o,n);a.append(c)}},{key:"addRule",value:function(t){var a=e(t.currentTarget).closest(".exprdawc_rule_group"),n=a.index(),o=e(t.currentTarget).closest(".exprdawc_fields_table").data("index"),c=a.find(".exprdawc_rule").length,i=this.getRuleHtml(o,n,c);a.append(i)}},{key:"getRuleGroupHtml",value:function(e,t){return'\n <div class="exprdawc_rule_group_container">\n <h2>'.concat(exprdawc_admin_meta_boxes.or,'</h2>\n <div class="exprdawc_rule_group">\n ').concat(this.getRuleHtml(e,t,0),"\n </div>\n </div>\n ")}},{key:"getRuleHtml",value:function(e,t,a){return'\n <div class="exprdawc_rule">\n <select name="extra_product_fields['.concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][field]" class="exprdawc_input exprdawc_conditional_field">\n <option value="">').concat(exprdawc_admin_meta_boxes.selectFieldNone,"</option>\n ").concat(this.getAllFieldsOptions(),'\n </select>\n <select name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][operator]" class="exprdawc_input exprdawc_conditional_operator">\n <option value="field_is_empty">').concat(exprdawc_admin_meta_boxes.field_is_empty,'</option>\n <option value="field_is_not_empty">').concat(exprdawc_admin_meta_boxes.field_is_not_empty,'</option>\n <option value="equals">').concat(exprdawc_admin_meta_boxes.equals,'</option>\n <option value="not_equals">').concat(exprdawc_admin_meta_boxes.notEquals,'</option>\n <option value="greater_than">').concat(exprdawc_admin_meta_boxes.greaterThan,'</option>\n <option value="less_than">').concat(exprdawc_admin_meta_boxes.lessThan,'</option>\n </select>\n <input type="text" name="extra_product_fields[').concat(e,"][conditional_rules][").concat(t,"][").concat(a,'][value]" class="exprdawc_input exprdawc_conditional_value" placeholder="').concat(exprdawc_admin_meta_boxes.enterValue,'" style="display:none;" />\n <button type="button" class="button remove_rule"><i class="dashicons dashicons-trash"></i></button>\n <button type="button" class="button add_rule">+ ').concat(exprdawc_admin_meta_boxes.and,"</button>\n </div>\n ")}},{key:"toggleConditionalValueField",value:function(t){var a=e(t.currentTarget),n=a.closest(".exprdawc_rule").find(".exprdawc_conditional_value");"field_changed"===a.val()||"field_is_empty"===a.val()||"field_is_not_empty"===a.val()?n.hide():n.show()}},{key:"toggleConditionalValueFieldAll",value:function(){var t=this;e(".exprdawc_conditional_operator").each((function(e,a){t.toggleConditionalValueField({currentTarget:a})}))}},{key:"removeRule",value:function(t){if(confirm(exprdawc_admin_meta_boxes.confirm_delete_rule)){var a=e(t.currentTarget).closest(".exprdawc_rule_group_container");e(t.currentTarget).closest(".exprdawc_rule").remove(),0===a.find(".exprdawc_rule").length&&a.remove()}return!1}},{key:"getAllFieldsOptions",value:function(){var t="";return e("#exprdawc_field_body tr.exprdawc_attribute").each((function(){var a=e(this).find(".exprdawc_attribute_input_name input").val();t+='<option value="'.concat(a,'">').concat(a,"</option>")})),t}},{key:"toggleConditionalTable",value:function(t){var a=e(t.currentTarget),n=e(t.currentTarget).closest(".exprdawc_options").find(".exprdawc_conditional_logic_table");a.is(":checked")?n.show():n.hide()}}],n&&t(a.prototype,n),o&&t(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a;var a,n,o}())}))},989:()=>{},99:()=>{},364:()=>{}},a={};function n(e){var o=a[e];if(void 0!==o)return o.exports;var c=a[e]={exports:{}};return t[e](c,c.exports,n),c.exports}n.m=t,e=[],n.O=(t,a,o,c)=>{if(!a){var i=1/0;for(_=0;_<e.length;_++){for(var[a,o,c]=e[_],d=!0,l=0;l<a.length;l++)(!1&c||i>=c)&&Object.keys(n.O).every((e=>n.O[e](a[l])))?a.splice(l--,1):(d=!1,c<i&&(i=c));if(d){e.splice(_--,1);var r=o();void 0!==r&&(t=r)}}return t}c=c||0;for(var _=e.length;_>0&&e[_-1][2]>c;_--)e[_]=e[_-1];e[_]=[a,o,c]},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={890:0,898:0,956:0,107:0};n.O.j=t=>0===e[t];var t=(t,a)=>{var o,c,[i,d,l]=a,r=0;if(i.some((t=>0!==e[t]))){for(o in d)n.o(d,o)&&(n.m[o]=d[o]);if(l)var _=l(n)}for(t&&t(a);r<i.length;r++)c=i[r],n.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return n.O(_)},a=self.webpackChunkextra_product_data_for_woocommerce=self.webpackChunkextra_product_data_for_woocommerce||[];a.forEach(t.bind(null,0)),a.push=t.bind(null,a.push.bind(a))})(),n.O(void 0,[898,956,107],(()=>n(976))),n.O(void 0,[898,956,107],(()=>n(989))),n.O(void 0,[898,956,107],(()=>n(99)));var o=n.O(void 0,[898,956,107],(()=>n(364)));o=n.O(o)})(); -
extra-product-data-for-woocommerce/trunk/extra-product-data-for-woocommerce.php
r3204699 r3206929 3 3 Plugin Name: Extra Product Data for WooCommerce 4 4 Description: Adds customizable input fields per product in WooCommerce, allowing users to enter extra details on the frontend. 5 Version: 1. 5.15 Version: 1.7.0 6 6 Author: Triopsi 7 7 Author URI: https://triopsi.dev … … 22 22 23 23 // Useful global constants. 24 define( 'EXPRDAWC_VERSION', '1. 0.0' );24 define( 'EXPRDAWC_VERSION', '1.7.0' ); 25 25 define( 'EXPRDAWC_URL', plugin_dir_url( __FILE__ ) ); 26 26 define( 'EXPRDAWC_PATH', __DIR__ . '/' ); 27 27 define( 'EXPRDAWC_CLSUF', 'exprdawc' ); 28 define( 'EXPRDAWC_BASENAME', plugin_basename( __FILE__ ) ); 28 29 define( 'EXPRDAWC_SRC', EXPRDAWC_PATH . 'src/' ); 29 30 define( 'EXPRDAWC_CLASSES', EXPRDAWC_PATH . 'src/classes/' ); … … 51 52 } 52 53 54 // Declare compatibility with WooCommerce HPOS. 55 add_action( 56 'before_woocommerce_init', 57 function () { 58 if ( class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) { 59 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true ); 60 61 } 62 } 63 ); 64 53 65 /** 54 66 * Display an admin notice if WooCommerce is not active. -
extra-product-data-for-woocommerce/trunk/readme.txt
r3204699 r3206929 5 5 Tested up to: 6.7 6 6 Requires PHP: 8.2 7 Stable tag: 1. 5.17 Stable tag: 1.7.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 107 107 = 1.5.1 = 108 108 * edit button dont visible on order overview 109 110 = 1.6.0 = 111 * add setting page and add options for "Show on Cart" and "Show on Checkout" 112 113 = 1.7.0 = 114 * add editable section for user in the order overview 115 * compatibility with WooCommerce HPOS -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-admin-order.php
r3204699 r3206929 98 98 } 99 99 100 /** @disregard */ 101 $custom_fields = get_post_meta( $item->get_product_id(), '_extra_product_fields', true ); 100 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 102 101 103 102 if ( empty( $custom_fields ) ) { … … 179 178 /** @disregard */ 180 179 $product = $item->get_product(); 181 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );180 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 182 181 183 182 if ( empty( $custom_fields ) ) { … … 251 250 /** @disregard */ 252 251 $product = $item->get_product(); 253 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );252 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 254 253 255 254 // Check if the product and custom fields are valid. -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-helper.php
r3202511 r3206929 71 71 'autocomplete' => isset( $field_array['autocomplete'] ) ? $field_array['autocomplete'] : '', 72 72 'autofocus' => isset( $field_array['autofocus'] ) ? $field_array['autofocus'] : false, 73 'disabled' => isset( $field_array['disabled'] ) ? $field_array['disabled'] : false, 73 74 'validate' => isset( $field_array['validate'] ) ? $field_array['validate'] : array(), 74 75 'data' => array(), … … 83 84 if ( isset( $_POST[ $field_id ] ) ) { 84 85 $field_args['value'] = sanitize_text_field( wp_unslash( $_POST[ $field_id ] ) ); 85 } elseif ( ! empty( $actual_value_array[ $id ] ) ) {86 } elseif ( isset( $actual_value_array[ $id ] ) ) { 86 87 $field_args['value'] = sanitize_text_field( wp_unslash( $actual_value_array[ $id ] ) ); 87 88 } elseif ( isset( $field_array['default'] ) ) { … … 146 147 } 147 148 149 if ( true === $field_args['disabled'] ) { 150 $field_args['custom_attributes']['disabled'] = 'disabled'; 151 $field_args['input_class'][] = 'disabled'; 152 } 153 148 154 if ( $field_args['description'] ) { 149 $field_args['custom_attributes']['aria-describedby'] = $field_ args['id']. '-description';155 $field_args['custom_attributes']['aria-describedby'] = $field_id_raw . '-description'; 150 156 } 151 157 -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-main.php
r3202511 r3206929 77 77 78 78 /** 79 * Overview Order Obejct Holder. 80 * 81 * @var \Overview_Order 82 */ 83 protected $exprdawc_admin_order_edit = null; 79 * Overview Order Obejct Holder. 80 * 81 * @var \Overview_Order 82 */ 83 protected $exprdawc_admin_order_edit = null; 84 85 /** 86 * Settings Object Holder. 87 * 88 * @var \Settings 89 */ 90 protected $exprdawc_settings = null; 84 91 85 92 /** … … 115 122 // Add CSS an JS for backend. 116 123 add_action( 'admin_enqueue_scripts', array( $this, 'exprdawc_only_admin_enqueue_scripts' ) ); 124 125 // Add Plugin Setting Links. 126 add_filter('plugin_action_links_' . EXPRDAWC_BASENAME, array($this, 'exprdawc_plugin_action_links')); 127 } 128 129 /** 130 * Add Plugin Action Links. 131 * 132 * @param array $links The current links. 133 * @return array The modified links. 134 */ 135 public function exprdawc_plugin_action_links($links) { 136 $links[] = '<a href="' . admin_url('admin.php?page=wc-settings&tab=products§ion=extra_product_data') . '">' . __('Settings', 'extra-product-data-for-woocommerce') . '</a>'; 137 return $links; 117 138 } 118 139 … … 141 162 $this->exprdawc_admin_order_edit = new Exprdawc_Admin_Order(); 142 163 164 // Settings. 165 $this->exprdawc_settings = new Exprdawc_Settings(); 166 167 // User Order. 168 new Exprdawc_User_Order(); 169 143 170 } 144 171 } -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-overview-cart.php
r3202511 r3206929 46 46 public function __construct() { 47 47 add_filter( 'woocommerce_add_cart_item_data', array( $this, 'exprdawc_save_custom_field_in_cart' ), 10, 2 ); 48 add_filter( 'woocommerce_get_item_data', array( $this, 'exprdawc_display_ custom_field_in_cart' ), 10, 2 );48 add_filter( 'woocommerce_get_item_data', array( $this, 'exprdawc_display_fields_on_cart_and_checkout' ), 10, 2 ); 49 49 } 50 50 … … 65 65 } 66 66 67 $custom_fields = get_post_meta( $product_id, '_extra_product_fields', true ); 67 $pruducts = wc_get_product( $product_id ); 68 if ( ! $pruducts ) { 69 return $cart_item_data; 70 } 71 $custom_fields = $pruducts->get_meta( '_extra_product_fields', true ); 68 72 69 73 if ( ! empty( $custom_fields ) ) { … … 111 115 112 116 /** 113 * This function is responsible for displaying custom fields in the cart .117 * This function is responsible for displaying custom fields in the cart and checkout. 114 118 * 115 119 * @param array $item_data The item data. … … 117 121 * @return void 118 122 */ 119 function exprdawc_display_custom_field_in_cart( $item_data, $cart_item ) { 120 $custom_fields = get_post_meta( $cart_item['product_id'], '_extra_product_fields', true ); 123 function exprdawc_display_fields_on_cart_and_checkout( $item_data, $cart_item ) { 124 125 $product = wc_get_product( $cart_item['product_id'] ); 126 if ( ! $product ) { 127 return $item_data; 128 } 129 130 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 121 131 122 132 if ( ! empty( $custom_fields ) ) { 123 foreach ( $custom_fields as $index => $field ) { 124 $field_key = 'extra_user_data_' . $index; 125 if ( isset( $cart_item[ $field_key ] ) ) { 126 $item_data[] = array( 127 'key' => esc_html( $field['label'] ), 128 'value' => wc_clean( $cart_item[ $field_key ] ), 129 'display' => wc_clean( $cart_item[ $field_key ] ), 130 ); 133 if ( ( is_cart() && get_option( 'exprdawc_show_in_cart', 'yes' ) === 'yes' ) || ( is_checkout() && get_option( 'exprdawc_show_in_checkout', 'yes' ) === 'yes' ) ) { 134 foreach ( $custom_fields as $index => $field ) { 135 $field_key = 'extra_user_data_' . $index; 136 if ( isset( $cart_item[ $field_key ] ) ) { 137 $item_data[] = array( 138 'key' => esc_html( $field['label'] ), 139 'value' => wc_clean( $cart_item[ $field_key ] ), 140 'display' => wc_clean( $cart_item[ $field_key ] ), 141 ); 142 } 131 143 } 132 144 } -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-overview-order.php
r3202511 r3206929 62 62 */ 63 63 function exprdawc_add_custom_field_to_order( $item, $cart_item_key, $values, $order ) { 64 $custom_fields = get_post_meta( $item->get_product_id(), '_extra_product_fields', true );65 64 65 $product = $item->get_product(); 66 if ( ! $product ) { 67 return; 68 } 69 70 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 66 71 if ( ! empty( $custom_fields ) ) { 67 72 foreach ( $custom_fields as $index => $field ) { -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-product-page-backend.php
r3204687 r3206929 79 79 */ 80 80 public function exprdawc_add_custom_product_fields() { 81 $custom_fields = get_post_meta( get_the_ID(), '_extra_product_fields', true ); 81 global $post; 82 $product = wc_get_product( $post ); 83 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 82 84 include EXPRDAWC_TEMPLATES . 'html-tab-extra-attributes.php'; 83 85 } … … 195 197 'conditionals_description' => esc_html__( 'Only show this field when conditional rules are true.', 'extra-product-data-for-woocommerce' ), 196 198 'pleaseSaveBeforeExportMsg' => esc_html__( 'Please save your changes before exporting.', 'extra-product-data-for-woocommerce' ), 199 'enable_editable' => esc_html__( 'User can edit the field afterwards', 'extra-product-data-for-woocommerce' ), 197 200 ) 198 201 ); … … 210 213 // Check if extra product fields are set. 211 214 if ( isset( $_POST['extra_product_fields'] ) ) { 215 216 $product = wc_get_product( $post_id ); 212 217 213 218 // UNSLASH: Remove slashes from the input data … … 227 232 $autofocus = isset( $field['autofocus'] ) ? true : false; 228 233 $index = isset( $field['index'] ) ? absint( $field['index'] ) : 0; 234 $editable = isset( $field['editable'] ) ? true : false; 229 235 230 236 // Conditional Logic … … 294 300 'conditional_rules' => $conditional_logic_rules, 295 301 'index' => $index, 302 'editable' => $editable, 296 303 ); 297 304 }, … … 302 309 $custom_fields = array_filter( $custom_fields ); 303 310 304 // Save the sanitized and validated data 305 update_post_meta( $post_id, '_extra_product_fields', $custom_fields ); 311 // Save the custom fields to the product 312 $product->update_meta_data( '_extra_product_fields', $custom_fields ); 313 314 // Save the product 315 $product->save(); 306 316 } 307 317 } … … 349 359 350 360 // Save the sanitized and validated data 351 update_post_meta( $product_id, '_extra_product_fields', $custom_fields ); 361 $product->update_meta_data( '_extra_product_fields', $custom_fields ); 362 363 // Save the product 364 $product->save(); 352 365 353 366 // Return success message. -
extra-product-data-for-woocommerce/trunk/src/classes/class-exprdawc-product-page-fronted.php
r3202511 r3206929 95 95 function exprdawc_display_custom_fields_on_product_page() { 96 96 global $product; 97 $custom_fields = get_post_meta( $product->get_id(),'_extra_product_fields', true );97 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 98 98 99 99 if ( ! empty( $custom_fields ) ) { … … 123 123 */ 124 124 function exprdawc_validate_custom_fields( $passed, $product_id, $quantity ) { 125 $custom_fields = get_post_meta( $product_id, '_extra_product_fields', true ); 125 126 $product = wc_get_product( $product_id ); 127 if ( ! $product ) { 128 return $passed; 129 } 130 $custom_fields = $product->get_meta( '_extra_product_fields', true ); 126 131 127 132 if ( ! empty( $custom_fields ) ) { -
extra-product-data-for-woocommerce/trunk/src/templates/view/fields/checkbox.php
r3202511 r3206929 49 49 } 50 50 if ( ! empty( $field_args['description'] ) ) { 51 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';51 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 52 52 } 53 53 } -
extra-product-data-for-woocommerce/trunk/src/templates/view/fields/radio.php
r3202511 r3206929 46 46 } 47 47 if ( ! empty( $field_args['description'] ) ) { 48 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';48 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 49 49 } 50 50 } -
extra-product-data-for-woocommerce/trunk/src/templates/view/fields/select.php
r3202511 r3206929 41 41 echo '</select>'; 42 42 if ( ! empty( $field_args['description'] ) ) { 43 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';43 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 44 44 } 45 45 } -
extra-product-data-for-woocommerce/trunk/src/templates/view/fields/text.php
r3202511 r3206929 39 39 40 40 if ( ! empty( $field_args['description'] ) ) { 41 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';41 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 42 42 } 43 43 echo '</span>'; -
extra-product-data-for-woocommerce/trunk/src/templates/view/fields/textarea.php
r3202511 r3206929 41 41 '</textarea>'; 42 42 if ( ! empty( $field_args['description'] ) ) { 43 echo '<span id="' . esc_attr( $field_ args['id']) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>';43 echo '<span id="' . esc_attr( $field_id_raw ) . '_description" class="' . esc_attr( implode( ' ', $field_args['description_class'] ) ) . '">' . esc_html( $field_args['description'] ) . '</span>'; 44 44 } 45 45 echo '</span>'; -
extra-product-data-for-woocommerce/trunk/src/templates/view/html-tab-extra-attributes-fields.php
r3202511 r3206929 69 69 <input type="checkbox" id="exprdawc_text_autofocus_<?php echo esc_html( $index ); ?>" class="exprdawc_input exprdawc_checkbox exprdawc_autocomplete_field checkbox" name="extra_product_fields[<?php echo esc_html( $index ); ?>][autofocus]" value="1" <?php echo checked( 1, $field['autofocus'] ?? 0, false ); ?> /> 70 70 <?php esc_html_e( 'Autofocus this field on product page', 'extra-product-data-for-woocommerce' ); ?> 71 </label> 72 <label class="exprdawc_label" for="exprdawc_text_editable_<?php echo esc_html( $index ); ?>"> 73 <input type="checkbox" id="exprdawc_text_editable_<?php echo esc_html( $index ); ?>" class="exprdawc_input exprdawc_checkbox exprdawc_editable_field checkbox" name="extra_product_fields[<?php echo esc_html( $index ); ?>][editable]" value="1" <?php echo checked( 1, $field['editable'] ?? 0, false ); ?> /> 74 <?php esc_html_e( 'User can edit the field afterwards', 'extra-product-data-for-woocommerce' ); ?> 71 75 </label> 72 76 <!-- Enable Conditional Logic and show table -->
Note: See TracChangeset
for help on using the changeset viewer.