Version Description
(2021-08-5) = * Added: UTM parameter added for external product link. * Added: Automatic category suggestion for Google, Facebook, Pinterest, Bing, Snapchat. * Added: Automatic copy category added. * Fixed: Extra shortcode string removed. * Fixed: Conflict with Ultimate Member plugin resolved. * Fixed: Settings page switch not working issue resolved.
Download this release
Release Info
Developer | wahid0003 |
Plugin | CTX Feed – WooCommerce Product Feed Manager Plugin |
Version | 4.4.18 |
Comparing to | |
See all releases |
Code changes from version 4.4.17 to 4.4.18
- README.txt +9 -1
- admin/css/woo-feed-admin.css +5 -0
- admin/css/woo-feed-admin.min.css +1 -1
- admin/css/woo-feed-admin.scss +6 -0
- admin/js/woo-feed-admin.js +44 -6
- admin/js/woo-feed-admin.min.js +1 -1
- admin/js/woo-feed-admin.min.js.map +1 -1
- admin/partials/woo-feed-category-mapping.php +2 -1
- admin/partials/woo-feed-settings.php +1 -0
- includes/classes/class-woo-feed-products-v3.php +18 -11
- includes/helper.php +94 -57
- includes/pluggable.php +20 -15
- languages/woo-feed.pot +41 -37
- woo-feed.php +21 -4
README.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: Product Feed, WooCommerce, Google Shopping, Google Merchant, Facebook Cata
|
|
5 |
Requires at least: 4.4
|
6 |
Tested Up To: 5.8
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 4.4.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -516,6 +516,14 @@ Using pro version:
|
|
516 |
|
517 |
== Changelog ==
|
518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
= 4.4.17 (2021-08-03) =
|
520 |
* Added: Google Merchant SFTP/FTP upload compatability added.
|
521 |
* Added: Feed log download option from manage feed page.
|
5 |
Requires at least: 4.4
|
6 |
Tested Up To: 5.8
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 4.4.18
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
516 |
|
517 |
== Changelog ==
|
518 |
|
519 |
+
= 4.4.18 (2021-08-5) =
|
520 |
+
* Added: UTM parameter added for external product link.
|
521 |
+
* Added: Automatic category suggestion for Google, Facebook, Pinterest, Bing, Snapchat.
|
522 |
+
* Added: Automatic copy category added.
|
523 |
+
* Fixed: Extra shortcode string removed.
|
524 |
+
* Fixed: Conflict with Ultimate Member plugin resolved.
|
525 |
+
* Fixed: Settings page switch not working issue resolved.
|
526 |
+
|
527 |
= 4.4.17 (2021-08-03) =
|
528 |
* Added: Google Merchant SFTP/FTP upload compatability added.
|
529 |
* Added: Feed log download option from manage feed page.
|
admin/css/woo-feed-admin.css
CHANGED
@@ -1532,3 +1532,8 @@ input[id^="woo_feed_identifier_"] {
|
|
1532 |
|
1533 |
.wapk-admin .slider.round:before {
|
1534 |
border-radius: 50%; }
|
|
|
|
|
|
|
|
|
|
1532 |
|
1533 |
.wapk-admin .slider.round:before {
|
1534 |
border-radius: 50%; }
|
1535 |
+
|
1536 |
+
span[id*="cat-map-"] {
|
1537 |
+
cursor: pointer;
|
1538 |
+
position: relative;
|
1539 |
+
top: 5px; }
|
admin/css/woo-feed-admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.wpf_spin{-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.wpf_spin.reverse_spin{animation-direction:reverse}.wpf_regenerate.disabled{color:#737373;box-shadow:none;cursor:not-allowed}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.webappick-info{color:#42a5fa}.wfbtn{background:#3498db;background-image:linear-gradient(125deg,#3cb0fd 0,#152f8c 140%);border-radius:17px;box-shadow:inset 0 1px 3px #666;font-family:Arial,sans-serif;color:#fff;font-size:20px;padding:10px 20px 10px 20px;border:solid #2b698f 0;text-decoration:none}.wfbtn:hover{background:#3cb0fd;background-image:linear-gradient(to bottom,#3cb0fd,#3498db);text-decoration:none}.woo_feed_manage_list_table .wf_update_interval_btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo_feed_manage_list_table .wf_update_interval_btn:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.woo-feed-promotion{position:relative;display:none}.woo-feed-promotion .woo-feed-campaign-close-button{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:15px;width:24px;height:24px;border-radius:12px;background:#595d6b;line-height:24px;color:#fff;cursor:pointer;transition:.3s ease}.woo-feed-promotion .woo-feed-campaign-close-button:hover{background:#fff;color:#d61e48}.wftooltip{display:none;position:absolute;border:1px solid #333;background-color:#161616;border-radius:5px;padding:10px;color:#fff;font-size:12px}.feed-actions .makeFeedResponse{width:70%;color:green}.woo-feed-mapping-input{width:100%}.requiredIn{color:red}.generalInput{width:200px}.generalInput:not(.selectize-control){margin:5px auto}.error{color:red}.widefat td input,.widefat td select{max-width:100%}#wf_newRow{margin-left:0}.mtable tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable th:nth-child(1){width:17px}.mtable th:nth-child(2){width:160px}.mtable th:nth-child(3){width:100px}.mtable th:nth-child(4){width:100px}.mtable th:nth-child(5){width:150px}.mtable th:nth-child(6){width:100px}.mtable th:nth-child(7){width:150px}.mtable th:nth-child(8){width:90px}.mtable th:nth-child(9){width:29px}.mtable2 tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable2 th:nth-child(1){width:30px}.mtable2 th:nth-child(2){width:150px}.mtable2 th:nth-child(3){width:230px}.mtable2 th:nth-child(4){width:220px}.mtable2 th:nth-child(7){width:50px}.mtable2 th:nth-child(8){width:50px}.mtable2 th:nth-child(9){width:29px}.wp-admin select.wf_mattributes{width:150px;left:0;height:25px}div#wf-tab-content1 select:not([name^=output_type]){width:100%}div#wf-tab-content1 input{width:100%}div#wf-tab-content1 .dashicons{vertical-align:middle}.wf_attributes{width:150px;left:0}.wf_compare{max-width:245px;left:0}.wf_ps{width:100px;left:0}.wf_sortedtable{cursor:move}.sorted_table{position:relative}.sorted_table .dragged{position:absolute;opacity:.8;z-index:9999;background:#fff;width:100%;display:table}.sorted_table tbody tr.placeholder td{border:1px dashed #2cc185;height:46px}.wfnoempty{width:120px}.wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}.wf_tabs:after{display:table;clear:both;content:""}.wf_tabs li{float:left;width:20%;display:block;border:2px solid #ccc}.wf_tabs li>input[type=radio][name=wf_tabs]{position:absolute;top:auto;left:-9999px}.wf-tab-name{display:block;padding:15px;font-size:15px;font-weight:700;line-height:1;background:#fff;cursor:pointer;position:relative;text-align:center;text-transform:uppercase;color:#2cc185}.wf-tab-name:hover{background:#2cc185;color:#fff}.wf_tabs [id^=tab]:checked+label{background:#2cc185;color:#fff}.wf_tabs .wf-tab-content{z-index:2;display:none;width:100%;font-size:.9rem;position:absolute;left:0;background:#fff;border:2px solid #ccc}.wf_tabs [id^=tab]:checked~[id^=wf-tab-content]{display:block}[id^=wf-tab-content]{margin-bottom:40px}div#wf-tab-content2 table:first-child{padding:10px 0}div#wf-tab-content2 table:first-child td:nth-child(1){width:260px}div#wf-tab-content2 table:first-child td:nth-child(2){width:260px}table.feed-actions tr td:last-child{text-align:right}select.selectize{display:none}body.no-js select.selectize{display:block!important}.wp-list-table .option_name .wf_feed_option_name_link{font-weight:700;color:#30336b}.wp-list-table #option_name a{color:#32373c}.selectize-dropdown .active{background-color:#edf9ff}.selectize-dropdown .create{padding:5px 8px}.wapk-selectize-item{background:#0073aa!important;color:#f1f1f1!important;font-weight:700!important;border-color:#0073aa!important;padding-left:5px;padding-right:5px}.selectize-input.full #googleTaxonomyId-selectized{opacity:0;position:absolute;left:-10000px}.selectize-dropdown [data-selectable].option{cursor:default}.selectize-control.plugin-remove_button [data-value] .remove{border-left:1px solid #f1f1f1!important}.selectize-dropdown .optgroup-header{font-weight:700;background:#efefef;color:#5a5a5a}.selectize-dropdown [data-selectable].option{cursor:pointer}.wf_status_wrap label{width:55px;height:28px;box-sizing:border-box;float:left;border-radius:100px;position:relative;cursor:pointer;transition:.3s ease;background:linear-gradient(125deg,#e2e2e2 0,#ccc 140%)}input[class=woo_feed_status_input]:checked+label{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}input[class=woo_feed_status_input]:checked+label:before{left:29px}.wf_status_wrap label:before{transition:.3s ease;content:'';width:20px;height:20px;position:absolute;background:#fff;left:6px;top:4px;box-sizing:border-box;color:#000;border-radius:100px;box-shadow:0 1.5px 2px 0 #000}.view span.dashicons.dashicons-external{color:#22a6b3}.view span.dashicons.dashicons-sos{color:#22a6b3}.view span.dashicons.dashicons-download{color:#ee5253}.view span.dashicons.dashicons-media-code{color:#576574}.column-url,.widefat td.column-url,.widefat th.column-url{color:#1e8f9a;font-weight:700}.feed-progress-container{width:100%;color:#fff;text-align:center;font-weight:300}.feed-progress-bar{width:100%;background:#eee;padding:3px;border-radius:50px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.feed-progress-bar-fill{height:20px;display:block;background:linear-gradient(to right top,#10ac84,#13b389,#15ba8f,#18c194,#1ac89a,#13cba1,#0acfa9,#00d2b0,#00d2ba,#00d2c3,#00d2cb,#00d2d3);width:0;border-radius:50px;transition:width .8s ease}.feed-progress-status{float:left;font-weight:700;color:#00008b}.feed-progress-percentage{text-align:right;font-weight:bolder;color:#1dd1a1;font-family:'Arial Black',sans-serif;font-size:large}#wpbody-content.woofeed-body-content{overflow:visible!important}.clippy{position:relative;width:13px;margin-top:-3px;margin-left:3px;top:3px}.column-url .clippy{display:none}.column-url:hover .clippy{display:inline-block}.tooltipped{position:relative}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,.8);border-radius:3px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,.8);pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before{display:inline-block;text-decoration:none}.tooltipped:hover:after{display:inline-block;text-decoration:none}.tooltipped:active:before{display:inline-block;text-decoration:none}.tooltipped:active:after{display:inline-block;text-decoration:none}.tooltipped:focus:before{display:inline-block;text-decoration:none}.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-multiline:active:after{display:table-cell}.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-s:after{top:100%;right:50%;margin-top:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-s:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-se:after{top:100%;margin-top:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-se:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;margin-right:-15px}.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-n:after{right:50%;bottom:100%;margin-bottom:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-n:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-ne:after{bottom:100%;margin-bottom:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-ne:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px;margin-right:-15px}.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after{right:100%}.tooltipped-multiline.tooltipped-e:after{right:100%}.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky:after{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.fullscreen-overlay-enabled.dark-theme .tooltipped:after{color:#000;background:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before{border-right-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before{border-left-color:rgba(255,255,255,.8)}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}ul.tracker_collection_list{list-style:initial;padding:initial;margin:-10px 0 0 30px;font-size:11px!important}ul.tracker_collection_list li{margin:0}table.wf-info-table,table.wf-rate-table{vertical-align:middle;text-align:center;max-width:100%;font-weight:500}table.wf-info-table th,table.wf-rate-table th{text-align:center}table.wf-info-table th .woo-feed-top-header,table.wf-rate-table th .woo-feed-top-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro{margin-left:20px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons{float:right;display:-ms-flexbox;display:flex;border-radius:7px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a{padding:8px 20px;background:#576574;color:#fff;box-sizing:border-box;display:inline-block;transition:.3s ease}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link{background:#576574;border-top-left-radius:5px;border-bottom-left-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link{background:#ee5253}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link{background:#22a6b3;border-top-right-radius:5px;border-bottom-right-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons{font-size:18px;line-height:1.2}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover{background:#30336b;box-shadow:0 0 33px 0 rgba(0,0,0,.12)}table.wf-info-table strong,table.wf-rate-table strong{font-weight:700}table.wf-info-table th:first-child img{margin:0 0 -5px 5px}table.wf-rate-table a{color:#0073aa}table.wf-rate-table a.review-star:after{content:"\f155\f155\f155\f155\f155"!important;font-family:dashicons;font-size:10px;font-weight:100;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0073aa;text-decoration:underline}#adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before{content:"";background:url(../images/woo-feed-icon.svg) no-repeat center center;background-size:20px 20px;opacity:.6}#adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before{opacity:1}#adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before{opacity:1}.wapk-admin,.wapk-admin *{box-sizing:border-box}.wapk-admin{position:relative;display:block;-webkit-hyphens:manual;-ms-hyphens:manual;-moz-hyphens:manual;hyphens:manual;color:#1b2730;margin:0 0 0 -10px}@media screen and (min-width:783px){.wapk-admin{margin:0 0 0 -20px}}.text-center{text-align:center}.wapk-admin h1,.wapk-admin h2,.wapk-admin h3,.wapk-admin h4,.wapk-admin h5,.wapk-admin h6,.wapk-admin p{color:#1b2730}.wapk-admin sup{vertical-align:baseline;position:relative;top:-6px}.wapk-admin sub{vertical-align:baseline;position:relative;top:4px}.wapk-admin .wapk-section{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin .wapk-section [class$=icon32]+h2{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin>.notice{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin span.help{display:block;float:left;width:100%;font-size:.9em;color:#636363;margin-top:5px;font-weight:500}.wapk-admin span.help .dashicons{width:11px;height:12px;font-size:inherit;vertical-align:middle}.clear:after{content:"";display:table;clear:both}.wapk-feed-docs .postbox{width:355px;margin-right:20px;display:inline-block;vertical-align:top}.wapk-feed-docs .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;cursor:pointer}.wapk-feed-docs .postbox .dashicons{color:#ccc}.wapk-feed-docs .postbox a{text-decoration:none}.wapk-feed-docs .postbox .inside{margin-bottom:0}.wapk-feed-docs .postbox ul{margin-bottom:0}.wapk-feed-docs .postbox .toggle-indicator:before{content:"\F142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wapk-feed-docs .postbox li{width:100%;display:block;float:left}.wapk-feed-docs .postbox li span{display:inline-block;float:left;margin-right:4px}.wapk-feed-docs .postbox li a{display:inline-block;float:left;width:calc(100% - 24px)}.wapk-feed-docs .postbox.closed .toggle-indicator:before{content:"\F140"}.wapk-section #post-body.columns-2 #side-sortables{min-height:196px}#poststuff #feed_merchant_info .inside{margin:0;padding:0}#feed_merchant_info ul.data{margin-left:24px;margin-top:5px}#feed_merchant_info ul.data li{margin-bottom:5px}.merchant-info-section{padding:6px 10px 8px}.merchant-info-section.woo-feed-open-file{text-align:center}.merchant-info-section.woo-feed-open-file a{line-height:1.5;text-decoration:none}.generateFeed .wf-tab-content table:first-child{border:none;box-shadow:none}.generateFeed table th{font-weight:700}@media only screen and (max-width:850px){.wapk-feed-docs .postbox{display:block;width:auto;float:none;margin-right:auto}}.wp-submenu li span.woo-feed-docs{font-weight:700;color:#f18500}.wp-submenu li:hover span.woo-feed-docs{color:#ce7304}.wp-submenu li.current span.woo-feed-docs{color:#ce7304}.wapk-admin .wapk-feed-docs .postbox .hndle{cursor:default}.wapk-cta{position:relative;display:-ms-flexbox;display:flex;width:100%;padding:100px 15px;background:linear-gradient(45deg,#6cd5ff 33%,#c2efef 100%);-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wapk-cta-icon .dashicons{font-size:100px;width:100px;height:auto;margin:0 10px -8px 0;color:#02658c}.wapk-cta-content{width:50%}.wapk-cta-content h2{font-size:2em;margin:.5em 0}.wapk-cta-action a.wapk-button{font-size:24px;height:auto!important;padding:10px 20px}@media (max-width:600px){.wapk-cta{display:block;text-align:center;padding:4em 0}.wapk-cta-content{width:100%;margin:2em 0}}.wapk-button{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button>.dashicons{color:#00d4d4}.wapk-button:hover{border-color:#0bb;color:#0bb}.wapk-button:hover>svg{fill:#0bb}.wapk-button:hover>.dashicons{color:#0bb}.wapk-button:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button:focus>svg{fill:#0bb}.wapk-button:focus>.dashicons{color:#0bb}.wapk-button:active{background:#0bb;border-color:#0bb}.wapk-button-secondary{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button-secondary>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button-secondary>.dashicons{color:#00d4d4}.wapk-button-secondary:hover{border-color:#0bb;color:#0bb}.wapk-button-secondary:hover>svg{fill:#0bb}.wapk-button-secondary:hover>.dashicons{color:#0bb}.wapk-button-secondary:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button-secondary:focus>svg{fill:#0bb}.wapk-button-secondary:focus>.dashicons{color:#0bb}.wapk-button-primary{display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#00d4d4;border-color:#00d4d4;color:#fff;box-shadow:0 1px 0 #0bb;text-shadow:0 -1px 1px #0bb,1px 0 1px #0bb,0 1px 1px #0bb,-1px 0 1px #0bb}.wapk-button-primary>svg{fill:#fff}.wapk-button-primary:hover{background:#00e3e3;border-color:#00c5c5;color:#fff}.wapk-button-primary:hover>svg{fill:#fff}.wapk-button-primary:focus{background:#00e3e3;border-color:#00c5c5;color:#fff;box-shadow:0 0 0 1px #fff,0 0 0 3px #00d4d4}.wapk-button-primary:focus>svg{fill:#fff}.wapk-button-primary:active{background:#0bb;border-color:#0bb;color:#fff}.wapk-button-primary:active>svg{fill:#fff}.wapk-button-primary:disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary:disabled>svg{fill:#c7d1d1!important}.wapk-button.hover{border-color:#0bb;color:#0bb}.wapk-button.hover>svg{fill:#0bb}.wapk-button.hover>.dashicons{color:#0bb}.wapk-button.focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button.focus>svg{fill:#0bb}.wapk-button.focus>.dashicons{color:#0bb}.wapk-button.active{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus>svg{fill:#0bb}.wapk-button.active:focus>.dashicons{color:#0bb}.wapk-button.active:hover{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:hover>svg{fill:#0bb}.wapk-button.active:hover>.dashicons{color:#0bb}.wapk-button.active>svg{fill:#0bb}.wapk-button.active>.dashicons{color:#0bb}.wapk-button-primary.active{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus>svg{fill:#fff}.wapk-button-primary.active:hover{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:hover>svg{fill:#fff}.wapk-button-primary.active>svg{fill:#fff}.wapk-button-primary[disabled]{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary[disabled]>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-primary-disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.wapk-button-primary-disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-hero{box-shadow:0 2px 0 #0bb}.wapk-button-primary.wapk-button-hero:focus{box-shadow:0 2px 0 #0bb,0 1px 0 #00c5c5,0 0 2px 1px #0ee}.wapk-button-primary.wapk-button-hero:active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active:focus,.wapk-button-primary.wapk-button-hero.active:hover{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-group>.wapk-button.active{border-color:#00d4d4}.wapk-button.wapk-button-xl{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button-group.wapk-button-xl .wapk-button{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button.wapk-button-hero{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}.wapk-button-group.wapk-button-hero .wapk-button{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}@media screen and (min-width:782px){th#provider,th#status{width:80px}th#type{width:50px}th#option_name{width:100px}td.option_name.column-option_name>span:first-child{display:none}th#last_updated{width:90px}th#view{width:135px}}@media screen and (min-width:960px){th#provider,th#status{width:100px}th#type{width:80px}th#option_name{width:150px}th#last_updated{width:140px}}@media screen and (max-width:782px){table.wf-info-table{margin-top:10px}table.wf-info-table th:first-child img{margin:0 auto;display:block}.wapk-button.wapk-button-xl{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.wapk-feed-docs .wapk-feed-cta{margin:0}.campaign_configurator{background:#fff;padding:20px 0}.campaign_configurator table{margin:0 auto;width:51%;min-width:574px;border:none;box-shadow:none}.campaign_configurator th{min-width:120px}@media screen and (max-width:782px){.campaign_configurator{padding:0}.campaign_configurator table{width:auto;min-width:auto;max-width:100%}.campaign_configurator th{min-width:auto}}#wf-tab-content-config td>input:not([type=checkbox]):not([type=radio]),#wf-tab-content-config td>select,#wf-tab-content-config td>textarea{width:100%!important}.woo-feed-filters td>div:nth-child(2n):not(.clear):not(.selectize){width:120px;display:block}.woo-feed-filters td>div:not(.clear){float:left;margin-right:10px}.woo-feed-filters tr>td:first-child{width:290px;padding-left:40px}.woo-feed-filters,.woo-feed-ftp{margin:15px auto 25px}.wf_clean_cache_wrapper{display:-ms-flexbox;display:flex;margin-left:auto}@-webkit-keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.woo-feed-cache-loader{width:18px;margin-right:5px;animation:LoaderClockWise 1s linear infinite;-webkit-animation:LoaderClockWise 1s linear infinite;display:none}.woo-feed-table-heading .woo-feed-table-heading-title{float:left;margin-right:auto;display:inline-block;line-height:30px}.woo-feed-table-heading .wf_clean_cache_wrapper{float:right;font-weight:400}.wf_clean_cache_wrapper button{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 130%);color:#fff;border:none;font-weight:500;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;border-radius:3px;cursor:pointer;outline:0}.wf_clean_cache_wrapper button:hover{background:#ff7979;color:#fff}input[type=submit][data-id=wf_action_submit]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff;border:1px;padding:0 20px}input[type=submit][data-id=wf_action_submit]:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff}.woo-import-popup-body #TB_window{width:500px!important}.woo-import-popup-body #TB_window #TB_title{border:none;background:#fff;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:35px!important}.woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle{color:#30336b;font-weight:700}.woo-import-popup-body #TB_window #TB_closeWindowButton{top:-14.5px;right:-14.5px;border:none;outline:0}.woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon{background:#ff5e55;color:#fff;border-radius:50%}.woo-import-popup-body #TB_window #TB_closeWindowButton:focus{outline:0;border:0}.woo-import-popup-body #TB_window #TB_ajaxContent{position:relative;width:100%!important;height:auto!important;border:none;box-sizing:border-box;overflow:hidden;background:#f7fcff;padding:30px 20px}.woo-import-popup-body #TB_window #TB_ajaxContent:before{content:'';width:115%;display:block;background:#4bcffa;position:absolute;height:130%;z-index:0;left:-36%;top:-85px;-webkit-transform:rotate(115deg);transform:rotate(115deg)}.woo-import-popup-body #TB_window #TB_ajaxContent table{border:none;position:relative;z-index:1;border-radius:3px;text-align:center;padding:20px;box-shadow:0 12px 20px -17px #000}.woo-import-popup-body #TB_window #TB_ajaxContent table input{width:60%}.woo-import-popup-body #TB_window #TB_ajaxContent table input:focus{outline:2px solid #68b8f7}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=file]{padding:3px 0;cursor:pointer}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=text]{border-radius:25px;font-size:14px;padding:1px 20px;text-align:center}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]{background:#17c0eb;border-radius:25px;border:0;box-shadow:1px 4px 7px -3px #45364a;font-weight:600;transition:.3s ease}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.woo-feed-notice .woo-feed-review-notice-logo{width:90px;height:90px;float:left;margin-right:5px;background:url(../images/woo-feed-logo.svg) no-repeat}.woo-feed-status-table-wrapper .woo-feed-status-table{width:100%;max-width:900px;border-collapse:collapse;border-spacing:.5rem;box-shadow:0 0 20px rgba(0,0,0,.1)}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even){background:#f1f1f1}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd){background:#fafafc}.woo-feed-status-table-wrapper .woo-feed-status-table tr th{background:#353b48;color:#fff}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header #woo-feed-copy-status-btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo-feed-status-table-wrapper .woo-feed-status-table tr td,.woo-feed-status-table-wrapper .woo-feed-status-table tr th{padding:.5rem 20px;text-align:left}input[id^=woo_feed_identifier_]{display:block;width:100%!important}#taxonomy-woo-feed-brand #newwoo-feed-brand_parent,.taxonomy-woo-feed-brand .form-field.term-parent-wrap{display:none}.wapk-admin .switch{position:relative;display:inline-block;width:60px;height:34px}.wapk-admin .switch input{opacity:0;width:0;height:0}.wapk-admin .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.wapk-admin .slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background-color:#18c194}.wapk-admin input:focus+.slider{box-shadow:0 0 1px #2196f3}.wapk-admin input:checked+.slider:before{-webkit-transform:translateX(26px);transform:translateX(26px)}.wapk-admin .slider.round{border-radius:34px}.wapk-admin .slider.round:before{border-radius:50%}
|
1 |
+
.wpf_spin{-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.wpf_spin.reverse_spin{animation-direction:reverse}.wpf_regenerate.disabled{color:#737373;box-shadow:none;cursor:not-allowed}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.webappick-info{color:#42a5fa}.wfbtn{background:#3498db;background-image:linear-gradient(125deg,#3cb0fd 0,#152f8c 140%);border-radius:17px;box-shadow:inset 0 1px 3px #666;font-family:Arial,sans-serif;color:#fff;font-size:20px;padding:10px 20px 10px 20px;border:solid #2b698f 0;text-decoration:none}.wfbtn:hover{background:#3cb0fd;background-image:linear-gradient(to bottom,#3cb0fd,#3498db);text-decoration:none}.woo_feed_manage_list_table .wf_update_interval_btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo_feed_manage_list_table .wf_update_interval_btn:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.woo-feed-promotion{position:relative;display:none}.woo-feed-promotion .woo-feed-campaign-close-button{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:15px;width:24px;height:24px;border-radius:12px;background:#595d6b;line-height:24px;color:#fff;cursor:pointer;transition:.3s ease}.woo-feed-promotion .woo-feed-campaign-close-button:hover{background:#fff;color:#d61e48}.wftooltip{display:none;position:absolute;border:1px solid #333;background-color:#161616;border-radius:5px;padding:10px;color:#fff;font-size:12px}.feed-actions .makeFeedResponse{width:70%;color:green}.woo-feed-mapping-input{width:100%}.requiredIn{color:red}.generalInput{width:200px}.generalInput:not(.selectize-control){margin:5px auto}.error{color:red}.widefat td input,.widefat td select{max-width:100%}#wf_newRow{margin-left:0}.mtable tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable th:nth-child(1){width:17px}.mtable th:nth-child(2){width:160px}.mtable th:nth-child(3){width:100px}.mtable th:nth-child(4){width:100px}.mtable th:nth-child(5){width:150px}.mtable th:nth-child(6){width:100px}.mtable th:nth-child(7){width:150px}.mtable th:nth-child(8){width:90px}.mtable th:nth-child(9){width:29px}.mtable2 tbody tr{height:25px;border:1px solid #ccc;text-align:left;-ms-flex-align:baseline;align-items:baseline;font-weight:700}.mtable2 th:nth-child(1){width:30px}.mtable2 th:nth-child(2){width:150px}.mtable2 th:nth-child(3){width:230px}.mtable2 th:nth-child(4){width:220px}.mtable2 th:nth-child(7){width:50px}.mtable2 th:nth-child(8){width:50px}.mtable2 th:nth-child(9){width:29px}.wp-admin select.wf_mattributes{width:150px;left:0;height:25px}div#wf-tab-content1 select:not([name^=output_type]){width:100%}div#wf-tab-content1 input{width:100%}div#wf-tab-content1 .dashicons{vertical-align:middle}.wf_attributes{width:150px;left:0}.wf_compare{max-width:245px;left:0}.wf_ps{width:100px;left:0}.wf_sortedtable{cursor:move}.sorted_table{position:relative}.sorted_table .dragged{position:absolute;opacity:.8;z-index:9999;background:#fff;width:100%;display:table}.sorted_table tbody tr.placeholder td{border:1px dashed #2cc185;height:46px}.wfnoempty{width:120px}.wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}.wf_tabs:after{display:table;clear:both;content:""}.wf_tabs li{float:left;width:20%;display:block;border:2px solid #ccc}.wf_tabs li>input[type=radio][name=wf_tabs]{position:absolute;top:auto;left:-9999px}.wf-tab-name{display:block;padding:15px;font-size:15px;font-weight:700;line-height:1;background:#fff;cursor:pointer;position:relative;text-align:center;text-transform:uppercase;color:#2cc185}.wf-tab-name:hover{background:#2cc185;color:#fff}.wf_tabs [id^=tab]:checked+label{background:#2cc185;color:#fff}.wf_tabs .wf-tab-content{z-index:2;display:none;width:100%;font-size:.9rem;position:absolute;left:0;background:#fff;border:2px solid #ccc}.wf_tabs [id^=tab]:checked~[id^=wf-tab-content]{display:block}[id^=wf-tab-content]{margin-bottom:40px}div#wf-tab-content2 table:first-child{padding:10px 0}div#wf-tab-content2 table:first-child td:nth-child(1){width:260px}div#wf-tab-content2 table:first-child td:nth-child(2){width:260px}table.feed-actions tr td:last-child{text-align:right}select.selectize{display:none}body.no-js select.selectize{display:block!important}.wp-list-table .option_name .wf_feed_option_name_link{font-weight:700;color:#30336b}.wp-list-table #option_name a{color:#32373c}.selectize-dropdown .active{background-color:#edf9ff}.selectize-dropdown .create{padding:5px 8px}.wapk-selectize-item{background:#0073aa!important;color:#f1f1f1!important;font-weight:700!important;border-color:#0073aa!important;padding-left:5px;padding-right:5px}.selectize-input.full #googleTaxonomyId-selectized{opacity:0;position:absolute;left:-10000px}.selectize-dropdown [data-selectable].option{cursor:default}.selectize-control.plugin-remove_button [data-value] .remove{border-left:1px solid #f1f1f1!important}.selectize-dropdown .optgroup-header{font-weight:700;background:#efefef;color:#5a5a5a}.selectize-dropdown [data-selectable].option{cursor:pointer}.wf_status_wrap label{width:55px;height:28px;box-sizing:border-box;float:left;border-radius:100px;position:relative;cursor:pointer;transition:.3s ease;background:linear-gradient(125deg,#e2e2e2 0,#ccc 140%)}input[class=woo_feed_status_input]:checked+label{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}input[class=woo_feed_status_input]:checked+label:before{left:29px}.wf_status_wrap label:before{transition:.3s ease;content:'';width:20px;height:20px;position:absolute;background:#fff;left:6px;top:4px;box-sizing:border-box;color:#000;border-radius:100px;box-shadow:0 1.5px 2px 0 #000}.view span.dashicons.dashicons-external{color:#22a6b3}.view span.dashicons.dashicons-sos{color:#22a6b3}.view span.dashicons.dashicons-download{color:#ee5253}.view span.dashicons.dashicons-media-code{color:#576574}.column-url,.widefat td.column-url,.widefat th.column-url{color:#1e8f9a;font-weight:700}.feed-progress-container{width:100%;color:#fff;text-align:center;font-weight:300}.feed-progress-bar{width:100%;background:#eee;padding:3px;border-radius:50px;box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.feed-progress-bar-fill{height:20px;display:block;background:linear-gradient(to right top,#10ac84,#13b389,#15ba8f,#18c194,#1ac89a,#13cba1,#0acfa9,#00d2b0,#00d2ba,#00d2c3,#00d2cb,#00d2d3);width:0;border-radius:50px;transition:width .8s ease}.feed-progress-status{float:left;font-weight:700;color:#00008b}.feed-progress-percentage{text-align:right;font-weight:bolder;color:#1dd1a1;font-family:'Arial Black',sans-serif;font-size:large}#wpbody-content.woofeed-body-content{overflow:visible!important}.clippy{position:relative;width:13px;margin-top:-3px;margin-left:3px;top:3px}.column-url .clippy{display:none}.column-url:hover .clippy{display:inline-block}.tooltipped{position:relative}.tooltipped:after{position:absolute;z-index:1000000;display:none;padding:5px 8px;font:normal normal 11px/1.5 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,"Segoe UI Emoji","Segoe UI Symbol";color:#fff;text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:rgba(0,0,0,.8);border-radius:3px;-webkit-font-smoothing:subpixel-antialiased}.tooltipped:before{position:absolute;z-index:1000001;display:none;width:0;height:0;color:rgba(0,0,0,.8);pointer-events:none;content:"";border:5px solid transparent}.tooltipped:hover:before{display:inline-block;text-decoration:none}.tooltipped:hover:after{display:inline-block;text-decoration:none}.tooltipped:active:before{display:inline-block;text-decoration:none}.tooltipped:active:after{display:inline-block;text-decoration:none}.tooltipped:focus:before{display:inline-block;text-decoration:none}.tooltipped:focus:after{display:inline-block;text-decoration:none}.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-multiline:active:after{display:table-cell}.tooltipped-multiline:focus:after{display:table-cell}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-break:break-word;word-wrap:normal;white-space:pre-line;border-collapse:separate}.tooltipped-s:after{top:100%;right:50%;margin-top:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-s:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-se:after{top:100%;margin-top:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-se:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-sw:after{top:100%;right:50%;margin-top:5px;margin-right:-15px}.tooltipped-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.tooltipped-n:after{right:50%;bottom:100%;margin-bottom:5px;-webkit-transform:translateX(50%);transform:translateX(50%)}.tooltipped-n:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-ne:after{bottom:100%;margin-bottom:5px;right:auto;left:50%;margin-left:-15px}.tooltipped-ne:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:5px;margin-right:-15px}.tooltipped-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:5px;-webkit-transform:translateY(50%);transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-n:after{right:auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltipped-multiline.tooltipped-w:after{right:100%}.tooltipped-multiline.tooltipped-e:after{right:100%}.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky:after{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.fullscreen-overlay-enabled.dark-theme .tooltipped:after{color:#000;background:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-s:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-se:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped .tooltipped-sw:before{border-bottom-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-n:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-ne:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-nw:before{border-top-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-e:before{border-right-color:rgba(255,255,255,.8)}.fullscreen-overlay-enabled.dark-theme .tooltipped.tooltipped-w:before{border-left-color:rgba(255,255,255,.8)}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}ul.tracker_collection_list{list-style:initial;padding:initial;margin:-10px 0 0 30px;font-size:11px!important}ul.tracker_collection_list li{margin:0}table.wf-info-table,table.wf-rate-table{vertical-align:middle;text-align:center;max-width:100%;font-weight:500}table.wf-info-table th,table.wf-rate-table th{text-align:center}table.wf-info-table th .woo-feed-top-header,table.wf-rate-table th .woo-feed-top-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .get-woo-feed-pro,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro{margin-left:20px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons{float:right;display:-ms-flexbox;display:flex;border-radius:7px;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a{padding:8px 20px;background:#576574;color:#fff;box-sizing:border-box;display:inline-block;transition:.3s ease}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-doc-link{background:#576574;border-top-left-radius:5px;border-bottom-left-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-video-link{background:#ee5253}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a.woo-feed-support-link{background:#22a6b3;border-top-right-radius:5px;border-bottom-right-radius:5px}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a span.dashicons{font-size:18px;line-height:1.2}table.wf-info-table th .woo-feed-top-header .woo-feed-top-buttons a:hover,table.wf-rate-table th .woo-feed-top-header .woo-feed-top-buttons a:hover{background:#30336b;box-shadow:0 0 33px 0 rgba(0,0,0,.12)}table.wf-info-table strong,table.wf-rate-table strong{font-weight:700}table.wf-info-table th:first-child img{margin:0 0 -5px 5px}table.wf-rate-table a{color:#0073aa}table.wf-rate-table a.review-star:after{content:"\f155\f155\f155\f155\f155"!important;font-family:dashicons;font-size:10px;font-weight:100;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0073aa;text-decoration:underline}#adminmenu #toplevel_page_webappick-manage-feeds div.wp-menu-image::before{content:"";background:url(../images/woo-feed-icon.svg) no-repeat center center;background-size:20px 20px;opacity:.6}#adminmenu #toplevel_page_webappick-manage-feeds:hover div.wp-menu-image::before{opacity:1}#adminmenu #toplevel_page_webappick-manage-feeds.wp-has-current-submenu div.wp-menu-image::before{opacity:1}.wapk-admin,.wapk-admin *{box-sizing:border-box}.wapk-admin{position:relative;display:block;-webkit-hyphens:manual;-ms-hyphens:manual;-moz-hyphens:manual;hyphens:manual;color:#1b2730;margin:0 0 0 -10px}@media screen and (min-width:783px){.wapk-admin{margin:0 0 0 -20px}}.text-center{text-align:center}.wapk-admin h1,.wapk-admin h2,.wapk-admin h3,.wapk-admin h4,.wapk-admin h5,.wapk-admin h6,.wapk-admin p{color:#1b2730}.wapk-admin sup{vertical-align:baseline;position:relative;top:-6px}.wapk-admin sub{vertical-align:baseline;position:relative;top:4px}.wapk-admin .wapk-section{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin .wapk-section [class$=icon32]+h2{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section h1{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin .wapk-section>h2:first-child{font-size:23px;font-weight:400;margin:0;padding:9px 0 4px 0;line-height:1.3}.wapk-admin>.notice{margin:10px 20px 0 22px;position:relative;display:block}.wapk-admin span.help{display:block;float:left;width:100%;font-size:.9em;color:#636363;margin-top:5px;font-weight:500}.wapk-admin span.help .dashicons{width:11px;height:12px;font-size:inherit;vertical-align:middle}.clear:after{content:"";display:table;clear:both}.wapk-feed-docs .postbox{width:355px;margin-right:20px;display:inline-block;vertical-align:top}.wapk-feed-docs .postbox .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;cursor:pointer}.wapk-feed-docs .postbox .dashicons{color:#ccc}.wapk-feed-docs .postbox a{text-decoration:none}.wapk-feed-docs .postbox .inside{margin-bottom:0}.wapk-feed-docs .postbox ul{margin-bottom:0}.wapk-feed-docs .postbox .toggle-indicator:before{content:"\F142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.wapk-feed-docs .postbox li{width:100%;display:block;float:left}.wapk-feed-docs .postbox li span{display:inline-block;float:left;margin-right:4px}.wapk-feed-docs .postbox li a{display:inline-block;float:left;width:calc(100% - 24px)}.wapk-feed-docs .postbox.closed .toggle-indicator:before{content:"\F140"}.wapk-section #post-body.columns-2 #side-sortables{min-height:196px}#poststuff #feed_merchant_info .inside{margin:0;padding:0}#feed_merchant_info ul.data{margin-left:24px;margin-top:5px}#feed_merchant_info ul.data li{margin-bottom:5px}.merchant-info-section{padding:6px 10px 8px}.merchant-info-section.woo-feed-open-file{text-align:center}.merchant-info-section.woo-feed-open-file a{line-height:1.5;text-decoration:none}.generateFeed .wf-tab-content table:first-child{border:none;box-shadow:none}.generateFeed table th{font-weight:700}@media only screen and (max-width:850px){.wapk-feed-docs .postbox{display:block;width:auto;float:none;margin-right:auto}}.wp-submenu li span.woo-feed-docs{font-weight:700;color:#f18500}.wp-submenu li:hover span.woo-feed-docs{color:#ce7304}.wp-submenu li.current span.woo-feed-docs{color:#ce7304}.wapk-admin .wapk-feed-docs .postbox .hndle{cursor:default}.wapk-cta{position:relative;display:-ms-flexbox;display:flex;width:100%;padding:100px 15px;background:linear-gradient(45deg,#6cd5ff 33%,#c2efef 100%);-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wapk-cta-icon .dashicons{font-size:100px;width:100px;height:auto;margin:0 10px -8px 0;color:#02658c}.wapk-cta-content{width:50%}.wapk-cta-content h2{font-size:2em;margin:.5em 0}.wapk-cta-action a.wapk-button{font-size:24px;height:auto!important;padding:10px 20px}@media (max-width:600px){.wapk-cta{display:block;text-align:center;padding:4em 0}.wapk-cta-content{width:100%;margin:2em 0}}.wapk-button{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button>.dashicons{color:#00d4d4}.wapk-button:hover{border-color:#0bb;color:#0bb}.wapk-button:hover>svg{fill:#0bb}.wapk-button:hover>.dashicons{color:#0bb}.wapk-button:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button:focus>svg{fill:#0bb}.wapk-button:focus>.dashicons{color:#0bb}.wapk-button:active{background:#0bb;border-color:#0bb}.wapk-button-secondary{color:#00d4d4;border-color:#00d4d4;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wapk-button-secondary>svg{width:15px;margin-left:5px;fill:#00d4d4}.wapk-button-secondary>.dashicons{color:#00d4d4}.wapk-button-secondary:hover{border-color:#0bb;color:#0bb}.wapk-button-secondary:hover>svg{fill:#0bb}.wapk-button-secondary:hover>.dashicons{color:#0bb}.wapk-button-secondary:focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button-secondary:focus>svg{fill:#0bb}.wapk-button-secondary:focus>.dashicons{color:#0bb}.wapk-button-primary{display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box;background:#00d4d4;border-color:#00d4d4;color:#fff;box-shadow:0 1px 0 #0bb;text-shadow:0 -1px 1px #0bb,1px 0 1px #0bb,0 1px 1px #0bb,-1px 0 1px #0bb}.wapk-button-primary>svg{fill:#fff}.wapk-button-primary:hover{background:#00e3e3;border-color:#00c5c5;color:#fff}.wapk-button-primary:hover>svg{fill:#fff}.wapk-button-primary:focus{background:#00e3e3;border-color:#00c5c5;color:#fff;box-shadow:0 0 0 1px #fff,0 0 0 3px #00d4d4}.wapk-button-primary:focus>svg{fill:#fff}.wapk-button-primary:active{background:#0bb;border-color:#0bb;color:#fff}.wapk-button-primary:active>svg{fill:#fff}.wapk-button-primary:disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary:disabled>svg{fill:#c7d1d1!important}.wapk-button.hover{border-color:#0bb;color:#0bb}.wapk-button.hover>svg{fill:#0bb}.wapk-button.hover>.dashicons{color:#0bb}.wapk-button.focus{border-color:#00d4d4;color:#0bb;box-shadow:0 0 0 1px #00d4d4}.wapk-button.focus>svg{fill:#0bb}.wapk-button.focus>.dashicons{color:#0bb}.wapk-button.active{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:focus>svg{fill:#0bb}.wapk-button.active:focus>.dashicons{color:#0bb}.wapk-button.active:hover{border-color:#0bb;color:#0bb;box-shadow:inset 0 2px 5px -3px #0bb}.wapk-button.active:hover>svg{fill:#0bb}.wapk-button.active:hover>.dashicons{color:#0bb}.wapk-button.active>svg{fill:#0bb}.wapk-button.active>.dashicons{color:#0bb}.wapk-button-primary.active{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:focus>svg{fill:#fff}.wapk-button-primary.active:hover{background:#00d4d4;color:#fff;border-color:#088;box-shadow:inset 0 2px 5px -3px #000}.wapk-button-primary.active:hover>svg{fill:#fff}.wapk-button-primary.active>svg{fill:#fff}.wapk-button-primary[disabled]{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary[disabled]>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-primary-disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.wapk-button-primary-disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.disabled{color:#c7d1d1!important;background:#2ff!important;border-color:#2ff!important;text-shadow:none!important}.wapk-button-primary.disabled>svg{fill:#c7d1d1!important}.wapk-button-primary.wapk-button-hero{box-shadow:0 2px 0 #0bb}.wapk-button-primary.wapk-button-hero:focus{box-shadow:0 2px 0 #0bb,0 1px 0 #00c5c5,0 0 2px 1px #0ee}.wapk-button-primary.wapk-button-hero:active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-primary.wapk-button-hero.active:focus,.wapk-button-primary.wapk-button-hero.active:hover{box-shadow:inset 0 3px 0 #00a1a1}.wapk-button-group>.wapk-button.active{border-color:#00d4d4}.wapk-button.wapk-button-xl{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button-group.wapk-button-xl .wapk-button{height:30px;line-height:28px;padding:0 12px 2px}.wapk-button.wapk-button-hero{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}.wapk-button-group.wapk-button-hero .wapk-button{font-size:18px;height:50px;line-height:48px;padding:0 36px;min-height:46px}@media screen and (min-width:782px){th#provider,th#status{width:80px}th#type{width:50px}th#option_name{width:100px}td.option_name.column-option_name>span:first-child{display:none}th#last_updated{width:90px}th#view{width:135px}}@media screen and (min-width:960px){th#provider,th#status{width:100px}th#type{width:80px}th#option_name{width:150px}th#last_updated{width:140px}}@media screen and (max-width:782px){table.wf-info-table{margin-top:10px}table.wf-info-table th:first-child img{margin:0 auto;display:block}.wapk-button.wapk-button-xl{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.wapk-feed-docs .wapk-feed-cta{margin:0}.campaign_configurator{background:#fff;padding:20px 0}.campaign_configurator table{margin:0 auto;width:51%;min-width:574px;border:none;box-shadow:none}.campaign_configurator th{min-width:120px}@media screen and (max-width:782px){.campaign_configurator{padding:0}.campaign_configurator table{width:auto;min-width:auto;max-width:100%}.campaign_configurator th{min-width:auto}}#wf-tab-content-config td>input:not([type=checkbox]):not([type=radio]),#wf-tab-content-config td>select,#wf-tab-content-config td>textarea{width:100%!important}.woo-feed-filters td>div:nth-child(2n):not(.clear):not(.selectize){width:120px;display:block}.woo-feed-filters td>div:not(.clear){float:left;margin-right:10px}.woo-feed-filters tr>td:first-child{width:290px;padding-left:40px}.woo-feed-filters,.woo-feed-ftp{margin:15px auto 25px}.wf_clean_cache_wrapper{display:-ms-flexbox;display:flex;margin-left:auto}@-webkit-keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes LoaderClockWise{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.woo-feed-cache-loader{width:18px;margin-right:5px;animation:LoaderClockWise 1s linear infinite;-webkit-animation:LoaderClockWise 1s linear infinite;display:none}.woo-feed-table-heading .woo-feed-table-heading-title{float:left;margin-right:auto;display:inline-block;line-height:30px}.woo-feed-table-heading .wf_clean_cache_wrapper{float:right;font-weight:400}.wf_clean_cache_wrapper button{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 130%);color:#fff;border:none;font-weight:500;display:inline-block;text-decoration:none;font-size:13px;line-height:2.15384615;min-height:30px;margin:0;padding:0 10px;border-radius:3px;cursor:pointer;outline:0}.wf_clean_cache_wrapper button:hover{background:#ff7979;color:#fff}input[type=submit][data-id=wf_action_submit]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff;border:1px;padding:0 20px}input[type=submit][data-id=wf_action_submit]:hover{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);color:#fff}.woo-import-popup-body #TB_window{width:500px!important}.woo-import-popup-body #TB_window #TB_title{border:none;background:#fff;text-align:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;height:35px!important}.woo-import-popup-body #TB_window #TB_title #TB_ajaxWindowTitle{color:#30336b;font-weight:700}.woo-import-popup-body #TB_window #TB_closeWindowButton{top:-14.5px;right:-14.5px;border:none;outline:0}.woo-import-popup-body #TB_window #TB_closeWindowButton .tb-close-icon{background:#ff5e55;color:#fff;border-radius:50%}.woo-import-popup-body #TB_window #TB_closeWindowButton:focus{outline:0;border:0}.woo-import-popup-body #TB_window #TB_ajaxContent{position:relative;width:100%!important;height:auto!important;border:none;box-sizing:border-box;overflow:hidden;background:#f7fcff;padding:30px 20px}.woo-import-popup-body #TB_window #TB_ajaxContent:before{content:'';width:115%;display:block;background:#4bcffa;position:absolute;height:130%;z-index:0;left:-36%;top:-85px;-webkit-transform:rotate(115deg);transform:rotate(115deg)}.woo-import-popup-body #TB_window #TB_ajaxContent table{border:none;position:relative;z-index:1;border-radius:3px;text-align:center;padding:20px;box-shadow:0 12px 20px -17px #000}.woo-import-popup-body #TB_window #TB_ajaxContent table input{width:60%}.woo-import-popup-body #TB_window #TB_ajaxContent table input:focus{outline:2px solid #68b8f7}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=file]{padding:3px 0;cursor:pointer}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=text]{border-radius:25px;font-size:14px;padding:1px 20px;text-align:center}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]{background:#17c0eb;border-radius:25px;border:0;box-shadow:1px 4px 7px -3px #45364a;font-weight:600;transition:.3s ease}.woo-import-popup-body #TB_window #TB_ajaxContent table input[type=submit]:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.woo-feed-notice .woo-feed-review-notice-logo{width:90px;height:90px;float:left;margin-right:5px;background:url(../images/woo-feed-logo.svg) no-repeat}.woo-feed-status-table-wrapper .woo-feed-status-table{width:100%;max-width:900px;border-collapse:collapse;border-spacing:.5rem;box-shadow:0 0 20px rgba(0,0,0,.1)}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(even){background:#f1f1f1}.woo-feed-status-table-wrapper .woo-feed-status-table tr:nth-child(odd){background:#fafafc}.woo-feed-status-table-wrapper .woo-feed-status-table tr th{background:#353b48;color:#fff}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.woo-feed-status-table-wrapper .woo-feed-status-table tr th.woo-feed-status-message-header #woo-feed-copy-status-btn{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%);border:none}.woo-feed-status-table-wrapper .woo-feed-status-table tr td,.woo-feed-status-table-wrapper .woo-feed-status-table tr th{padding:.5rem 20px;text-align:left}input[id^=woo_feed_identifier_]{display:block;width:100%!important}#taxonomy-woo-feed-brand #newwoo-feed-brand_parent,.taxonomy-woo-feed-brand .form-field.term-parent-wrap{display:none}.wapk-admin .switch{position:relative;display:inline-block;width:60px;height:34px}.wapk-admin .switch input{opacity:0;width:0;height:0}.wapk-admin .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.wapk-admin .slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background-color:#18c194}.wapk-admin input:focus+.slider{box-shadow:0 0 1px #2196f3}.wapk-admin input:checked+.slider:before{-webkit-transform:translateX(26px);transform:translateX(26px)}.wapk-admin .slider.round{border-radius:34px}.wapk-admin .slider.round:before{border-radius:50%}span[id*=cat-map-]{cursor:pointer;position:relative;top:5px}
|
admin/css/woo-feed-admin.scss
CHANGED
@@ -2096,4 +2096,10 @@ input[id^="woo_feed_identifier_"] {
|
|
2096 |
.slider.round:before {
|
2097 |
border-radius: 50%;
|
2098 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2099 |
}
|
2096 |
.slider.round:before {
|
2097 |
border-radius: 50%;
|
2098 |
}
|
2099 |
+
}
|
2100 |
+
|
2101 |
+
span[id*="cat-map-"] {
|
2102 |
+
cursor: pointer;
|
2103 |
+
position: relative;
|
2104 |
+
top: 5px;
|
2105 |
}
|
admin/js/woo-feed-admin.js
CHANGED
@@ -97,7 +97,7 @@
|
|
97 |
return false;
|
98 |
}
|
99 |
},
|
100 |
-
selectize_render_item: (data, escape) => `<div class="item wapk-selectize-item">${
|
101 |
ajax_fail: e => {
|
102 |
console.warn(e);
|
103 |
alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\n' + e.statusText + ' (' + e.status + ')' : e);
|
@@ -831,11 +831,11 @@
|
|
831 |
})
|
832 |
.on( 'ready woo_feed_config_loaded', function(){
|
833 |
console.log("Ready Provided");
|
834 |
-
if( $('#ftpenabled').val()
|
835 |
$('.google-merchant-message').hide('slow');
|
836 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
|
837 |
} else {
|
838 |
-
if( $('#provider').val()
|
839 |
$('.google-merchant-message').show('slow');
|
840 |
} else {
|
841 |
$('.google-merchant-message').hide('slow');
|
@@ -844,7 +844,7 @@
|
|
844 |
}
|
845 |
|
846 |
$('#ftpenabled').on('change', function(){
|
847 |
-
if( $('#ftpenabled').val()
|
848 |
$('.google-merchant-message').hide('slow');
|
849 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
|
850 |
} else {
|
@@ -852,7 +852,7 @@
|
|
852 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');
|
853 |
|
854 |
// Google merchant specific message
|
855 |
-
if( $('#provider').val()
|
856 |
$('.google-merchant-message').show('slow');
|
857 |
} else {
|
858 |
$('.google-merchant-message').hide('slow');
|
@@ -935,7 +935,7 @@
|
|
935 |
}
|
936 |
}).then(function (r) {
|
937 |
merchantInfoCache[merchant] = r;
|
938 |
-
feedEditor.renderMerchantInfo(merchantInfo, feedType, r)
|
939 |
// console.log('filter load')
|
940 |
// $('#utm_source').val(templateName)
|
941 |
}).then(function(){
|
@@ -1192,5 +1192,43 @@
|
|
1192 |
var name = $('#filename').val();
|
1193 |
$('#utm_campaign').val(name);
|
1194 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1195 |
|
1196 |
})(jQuery, window, document, wp.ajax, wpf_ajax_obj);
|
97 |
return false;
|
98 |
}
|
99 |
},
|
100 |
+
selectize_render_item: (data, escape) => `<div class="item wapk-selectize-item">${escape(data.value + ' ' + data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,
|
101 |
ajax_fail: e => {
|
102 |
console.warn(e);
|
103 |
alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\n' + e.statusText + ' (' + e.status + ')' : e);
|
831 |
})
|
832 |
.on( 'ready woo_feed_config_loaded', function(){
|
833 |
console.log("Ready Provided");
|
834 |
+
if( $('#ftpenabled').val() === 0 ){
|
835 |
$('.google-merchant-message').hide('slow');
|
836 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
|
837 |
} else {
|
838 |
+
if( $('#provider').val() === 'google' ) {
|
839 |
$('.google-merchant-message').show('slow');
|
840 |
} else {
|
841 |
$('.google-merchant-message').hide('slow');
|
844 |
}
|
845 |
|
846 |
$('#ftpenabled').on('change', function(){
|
847 |
+
if( $('#ftpenabled').val() === 0 ){
|
848 |
$('.google-merchant-message').hide('slow');
|
849 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');
|
850 |
} else {
|
852 |
$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');
|
853 |
|
854 |
// Google merchant specific message
|
855 |
+
if( $('#provider').val() === 'google' ){
|
856 |
$('.google-merchant-message').show('slow');
|
857 |
} else {
|
858 |
$('.google-merchant-message').hide('slow');
|
935 |
}
|
936 |
}).then(function (r) {
|
937 |
merchantInfoCache[merchant] = r;
|
938 |
+
feedEditor.renderMerchantInfo(merchantInfo, feedType, r);
|
939 |
// console.log('filter load')
|
940 |
// $('#utm_source').val(templateName)
|
941 |
}).then(function(){
|
1192 |
var name = $('#filename').val();
|
1193 |
$('#utm_campaign').val(name);
|
1194 |
});
|
1195 |
+
// var providerVal = $('#category-mapping-form #providers').val();
|
1196 |
+
// console.log(providerVal)
|
1197 |
+
$(document).on('change', '#category-mapping-form #providers', function(e) {
|
1198 |
+
var provider = $(this).find(':selected').val(),
|
1199 |
+
googleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];
|
1200 |
+
if( googleMap.indexOf(provider) !== -1 ) {
|
1201 |
+
$('input[id*="cat_mapping_"]').css('display', 'none');
|
1202 |
+
$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');
|
1203 |
+
// $('#category-mapping-form .dashicons').css('display', 'block');
|
1204 |
+
} else {
|
1205 |
+
$('input[id*="cat_mapping_"]').css('display', 'block');
|
1206 |
+
$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');
|
1207 |
+
// $('#category-mapping-form .dashicons').css('display', 'none');
|
1208 |
+
}
|
1209 |
+
});
|
1210 |
+
|
1211 |
+
$(document).on('click', 'span[id*="cat-map-"]', function(e) {
|
1212 |
+
e.preventDefault();
|
1213 |
+
var providerName = $('#category-mapping-form #providers').val(),
|
1214 |
+
googleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],
|
1215 |
+
catId = $(this).attr('id').replace(/[^\d.]/g, ''),
|
1216 |
+
groupId = 'group-child-' + catId;
|
1217 |
+
|
1218 |
+
if( googleMap.indexOf(providerName) !== -1) {
|
1219 |
+
var catField = $(this).parents('tr').find('.selectized').val();
|
1220 |
+
|
1221 |
+
if (catField) {
|
1222 |
+
$('.' + groupId).parents('tr').find('select').each(function (i, v) {
|
1223 |
+
$(v).data('selectize').setValue(catField);
|
1224 |
+
});
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
} else {
|
1228 |
+
var value = $('#cat_mapping_'+catId).val();
|
1229 |
+
$('.'+groupId).parents('tr').find('input').val(value);
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
});
|
1233 |
|
1234 |
})(jQuery, window, document, wp.ajax, wpf_ajax_obj);
|
admin/js/woo-feed-admin.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(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,o.key,o)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}!function(s,a,c,l,d){s.fn.disabled=function(n){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===n||!0===n):!0===n?e.addClass(t):e.removeClass(t)}),self},s.fn.isDisabled=function(){var e=s(this),t="disabled";return void 0!==e.prop(t)?e.prop(t):e.hasClass(t)};function e(e){s(e.currentTarget).removeClass(function(e,t){return(t.match(/\btooltipped-\S+/g)||[]).join(" ")}).removeClass("tooltipped").removeAttr("aria-label")}function o(e,t){s(e).addClass("tooltipped tooltipped-s").attr("aria-label",t)}function r(e,t){return s.extend(!0,{},e,t)}function t(){n=s(".toClipboard"),!ClipboardJS.isSupported()||/iPhone|iPad/i.test(navigator.userAgent)?n.find("img").hide(0):(n.each(function(){s(this).on("mouseleave",e).on("blur",e)}),new ClipboardJS(".toClipboard").on("error",function(e){var t,n;o(e.trigger,(t=e.action,n="cut"===t?"X":"C",/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+n+" to "+t:"Press Ctrl-"+n+" to "+t))}).on("success",function(e){o(e.trigger,"Copied")}))}var n,i,f={in_array:function(e,t){try{return-1!==t.indexOf(e)}catch(e){return!1}},selectize_render_item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.text),"</div>")},ajax_fail:function(e){console.warn(e),alert(e.hasOwnProperty("statusText")&&e.hasOwnProperty("status")?d.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,n,o,a){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||o||9;e.wf_sortable(r({containerSelector:"table",itemPath:"> tbody",itemSelector:"tr",handle:"i.wf_sortedtable",placeholder:'<tr class="placeholder"><td colspan="'.concat(t,'"></td></tr>'),onDrop:function(e,t,n,o){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),a&&"function"==typeof a&&a(e,t,n,o)}},n))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").each(function(){var e=s(this);e.selectize(r({create:e.data("create")||!1,plugins:e.data("plugins")?e.data("plugins").split(",").map(function(e){return e.trim()}):[],render:{item:f.selectize_render_item}},t))})},fancySelect:function(e,t){return(e||s("select.fancySelect")).not(".FancySelectInit").each(function(){s(this).fancySelect(r({maxItemShow:3},t))})},reindex_config_table:function(){s("#table-1").find("tbody tr").each(function(n,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(n,"]")))})})},common:function(){f.sortable(s(".sorted_table"),{},9,f.reindex_config_table),f.selectize(),f.fancySelect(s(".outputType"))}},_={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(f.common(),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(n,o,a){function e(e){var t;a.hasOwnProperty(e)&&(n.find(".merchant-info-section."+e+" .data").html(a[e]),"feed_file_type"===e&&((t=a[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==d.na.toLowerCase()})).length?(o.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!f.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&o.find('option[value="'+t[0]+'"]').attr("selected","selected")):o.find("option").disabled(!1)))}for(var t in a)e(t);n.find(".spinner").removeClass("is-active"),o.disabled(!1),o.trigger("change"),s(c).trigger("woo_feed_config_loaded"),o.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(n,o){function e(t){if(o.hasOwnProperty(t))if("tabs"===t)n.html(o[t]);else{var e=s('[name="'+t+'"]');e.length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+o[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===o[t]?e.prop("checked",!0):e.val(o[t])}).trigger("change")}}for(var t in o)e(t);_.init()}},u=[],p=[],h=function(){function e(){_classCallCheck(this,e),this._feed=d.generator.feed,this._limit=d.generator.limit,this._progress=0,this._timer=null,this._color=!1,this._total_batch=0,this._current_batch=0,this._product_ids=[],this._progress_per_batch=0,this._refresh=!0,this._regenerate=d.generator.regenerate,a.isRegenerating=!1,this._all_btn=s(".wpf_regenerate"),this._current_btn=s("#".concat(this._feed.replace("wf_config","wf_feed_"))),this._current_btn_label=""}return _createClass(e,[{key:"init",value:function(){var n=this;""!==this._feed&&this._regenerate&&!1===a.isRegenerating&&this.generate();var e=a.location.search;return"webappick-manage-feeds"===new URLSearchParams(e).get("page")&&s("body").addClass("woo-import-popup-body"),s(c).on("click",".woo-feed-campaign-close-button",function(e){e.preventDefault(),s(this).parent(".woo-feed-promotion").hide();var t=s(this).data("condition");1===t&&l.post("woo_feed_hide_promotion",{_ajax_nonce:d.nonce,condition:t}).then(function(e){n._log(e)}).fail(function(e){n._log(e),n._updateProgressStatus(e.message),n._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),n._current_btn=s(this),n._current_btn.hasClass("disabled")||!0===a.isRegenerating||(n._feed=n._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==n._feed&&n.generate())}),this}},{key:"_block_button",value:function(){this._all_btn.length&&this._all_btn.addClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").addClass("wpf_spin reverse_spin"),this._current_btn_label=this._current_btn.attr("title"),this._current_btn.attr("aria-label",d.regenerate).attr("title",d.regenerate))}},{key:"_unblock_button",value:function(){this._all_btn.length&&this._all_btn.removeClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").removeClass("wpf_spin"),this._current_btn.find("span").removeClass("reverse_spin"),this._current_btn.attr("aria-label",this._current_btn_label).attr("title",this._current_btn_label))}},{key:"generate",value:function(){var t=this,n=this;a.isRegenerating=!0,this._block_button(),this._resetProgressBar(),this._progressBarActive(),this._log("Counting Total Products"),this._updateProgressStatus("Fetching products."),this._get_product_ids().then(function(e){t._progress=10,n._log({response:e}),e.success?(n._log("Total ".concat(e.total," Products found.")),n._product_ids=e.product,n._total_batch=t._product_ids.length,n._current_batch=0,n._progress_per_batch=(90-t._progress)/t._total_batch,n._process_batch(),n._updateProgressStatus("Processing Products...")):n._updateProgressStatus(e.data.message)}).fail(function(e){n._log(e),n._updateProgressStatus(e.message),n._color="red",setTimeout(function(){n._stopProgressBar(),n._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:d.nonce,feed:this._feed,limit:this._limit})}},{key:"_process_batch",value:function(){var t=this,e="Processing Batch ".concat(this._current_batch+1," of ").concat(this._total_batch);this._updateProgressStatus(e),this._log(e),l.post("make_batch_feed",{_ajax_nonce:d.nonce,feed:this._feed,products:this._product_ids[this._current_batch],loop:this._current_batch}).then(function(e){t._current_batch++,t._log("Batch ".concat(t._current_batch," Completed")),t._log(e),t._current_batch<t._total_batch&&(t._process_batch(),t._progress+=t._progress_per_batch),t._current_batch===t._total_batch&&t._save_feed_file()}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_save_feed_file",value:function(){var t=this;this._log("Saving feed file"),this._updateProgressStatus("Saving feed file"),l.post("save_feed_file",{_ajax_nonce:d.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(a.location.href="".concat(d.pages.list.feed,"&link=").concat(e.url,"&cat=").concat(e.cat)),setTimeout(function(){t._stopProgressBar(),setTimeout(function(){t._resetProgressBar(!0),t._unblock_button()},3e3)},2500)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_log",value:function(e){return d.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(e){var t=0<arguments.length&&void 0!==e?e:0,n=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){n._updateProgressBar()},t||1e3),this}},{key:"_stopProgressBar",value:function(){return clearInterval(this._timer),this}},{key:"_resetProgressBar",value:function(e){return this._toggleProgressBar(!1),this._updateProgressStatus(""),clearInterval(this._timer),this._color=!1,this._timer=null,this._progress=0,e&&this._updateProgressBar(),this}},{key:"_toggleProgressBar",value:function(e){var t=s("#feed_progress_table");return e?t.show():t.hide(),this}},{key:"_updateProgressStatus",value:function(e){return s(".feed-progress-status").text(e),this}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),n="".concat(Math.round(this._progress),"%");t.css({width:n}),e.text(n)}}]),e}();a.wf={helper:f,feedEditor:_,generator:h},s(a).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content");var e=a.location.search;new URLSearchParams(e).get("action");t(),postboxes.add_postbox_toggles(pagenow),(new h).init(),""!==d.generator.feed&&d.generator.regenerate,_.init(),f.common(),s(".wfmasterTooltip").hover(function(){var e=s(this),t=e.attr("wftitle");e.data("tipText",t).removeAttr("wftitle"),s('<p class="wftooltip"></p>').text(t).appendTo("body").fadeIn("slow")},function(){var e=s(this);e.attr("wftitle",e.data("tipText")),s(".wftooltip").remove()}).mousemove(function(e){s(".wftooltip").css({top:e.pageY+10,left:e.pageX+20})}),s(".generateFeed").validate(),s(c).on("click","[data-toggle_slide]",function(e){e.preventDefault(),s(s(this).data("toggle_slide")).slideToggle("fast")}).on("click","#wf_newRow",function(){var e=s("#table-1 tbody"),t=s("#feed_config_template").text().trim().replace(/__idx__/g,e.find("tr").length);e.append(t),f.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(d.form.del_confirm)&&(a.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var t=s(".woo-feed-clean-cache-nonce").val(),n=s(".woo-feed-cache-loader");n.show(),l.post("clear_cache_data",{_ajax_clean_nonce:t}).then(function(e){e.success&&(n.hide(),location.reload())}).fail(function(e){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),n=s("#woo-feed-status-area");t.val("Copied"),n.css("visibility","visible"),n.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,n,o=s(this).val(),a=s(this).parents("tr").find(".outputType"),r=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),i=s(this).parents("tr").find(".fancy-picker-data span");n=["price","current_price","sale_price","price_with_tax","current_price_with_tax","sale_price_with_tax","shipping_cost"].includes(o)?(t="for_price","Price"):""!==o&&-1!==o.indexOf("wf_taxo")?(t="for_custom_taxo","parent_if_empty"):(t="for_all","Default"),r.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t||r.each(function(e){n===s(this).text()&&(s(this).addClass("selected"),i.text(n),a.find("option").text(n),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(d.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),n=e.closest("tr");"pattern"===t?(n.find(".value_attribute").hide(),n.find(".value_pattern").show()):"attribute"===t?(n.find(".value_attribute").show(),n.find(".value_pattern").hide()):"remove"===t&&(n.find(".value_attribute").hide(),n.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),f.reindex_config_table()}).on("submit","#generateFeed",function(){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(d.form.generate,"</b>"))}).on("submit","#updatefeed",function(e,t){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(t&&t.save?d.form.save:d.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",function(){console.log("Ready Provided"),0==s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):("google"==s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled")),s("#ftpenabled").on("change",function(){0==s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):(s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled"),"google"==s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"))})}).on("change",".ftporsftp",function(){var e=s(this).val(),t=s(".ssh2_status");"sftp"===e?(t.show().css("color","dodgerblue").text(d.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:d.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(d.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(d.form.sftp_warning)}).fail(function(e){t.hide(),f.ajax_fail(e)})):t.hide()}).on("click",'[name="save_feed_config"]',function(e){e.preventDefault(),s("#updatefeed").trigger("submit",{save:!0})}).on("change","#provider",function(e){e.preventDefault();var t=s(this).val(),n=s(this).find(":selected").text(),o=s("#filename").val(),a=s("#feedType"),r=s("#providerPage"),i=s("#feed_merchant_info");r.html('<h3><span style="float:none;margin: -3px 0 0;" class="spinner is-active"></span> '+d.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),a.disabled(!0),a.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),u.hasOwnProperty(t)?(_.renderMerchantInfo(i,a,u[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:d.nonce,provider:t,templateName:n}}).then(function(e){u[t]=e,_.renderMerchantInfo(i,a,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(f.ajax_fail),p.hasOwnProperty(t)?(_.renderMerchantTemplate(r,p[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:d.nonce,merchant:t}).then(function(e){p[t]=e,_.renderMerchantTemplate(r,e),s("#utm_source").val(n),s("#utm_campaign").val(o),"bing"===t&&(s("#delimiter option").removeAttr("selected"),s('#delimiter option[value="tab"]').attr("selected","selected"),s("#enclosure option").removeAttr("selected"),s('#enclosure option[value=" "]').attr("selected","selected")),"google_product_review"!==t&&s('.wf_attributes option[value="reviewer_name"]').hide()}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(f.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:d.nonce,feedName:e.val(),status:e[0].checked?1:0})}),s(c).on("change",'[name="is_outOfStock"], [name="product_visibility"]',function(){var e=s(".out-of-stock-visibility");"n"===s('[name="is_outOfStock"]:checked').val()&&"1"===s('[name="product_visibility"]:checked').val()?e.show():e.hide()}).on("change",".attr_type",function(){var e=s(this),t=e.val(),n=e.closest("tr");"pattern"===t?(n.find(".wf_attr").hide(),n.find(".wf_attr").val(""),n.find(".wf_default").show()):(n.find(".wf_attr").show(),n.find(".wf_default").hide(),n.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),n=e.find(".attr_type"),o=e.find("td:eq(4)"),a=s("#provider").val();if(d.form.google_category.hasOwnProperty(t.val())&&"pattern"===n.val()&&f.in_array(a,d.form.google_category[t.val()])){if(0===o.find("select.selectize").length){o.find("input.wf_default").remove(),o.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),o.append('<span style="font-size:x-small;"><a style="color: red" href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">'.concat(d.learn_more,"</a></span>")),i||o.append('<span class="spinner is-active" style="margin: 0;"></span>');var r=o.find(".wf_attributes select");f.selectize(r,{preload:!0,placeholder:d.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories",provider:a}}).then(function(e){t(i=e),o.find(".spinner").remove()}).fail(f.ajax_fail)}})}}else"current_category"!==t.val()&&0===o.find("input.wf_default").length&&(o.find("span").remove(),o.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==n.val()&&o.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),n=s("#provider").val(),o=s(".itemWrapper"),a=s(".wf_csvtxt");""!==t&&f.in_array(n,d.form.item_wrapper_hidden)&&o.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(o.hide(),a.show(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t&&(o.show(),a.hide()))}).trigger("change");var o=function(){function o(e,t,n){_classCallCheck(this,o),this.productCustomFields(e,t,n)}return _createClass(o,[{key:"cacheClear",value:function(){var e={action:"woo_feed_product_attribute_cache_remove",nonce:wpf_ajax_obj.ajax.nonce};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e})}},{key:"productCustomFields",value:function(e,t,n){var o=this,a=1<arguments.length&&void 0!==t&&t,r=2<arguments.length?n:void 0,i={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:e,status:a,isTaxonomy:r};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:i,success:function(e){e.success?o.cacheClear():console.log(e)}})}}]),o}();s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),n=s(this).prop("checked");new o(e,n,t)}),s(c).ready(function(){var e=s(".wapk-feed-buy-now-container");e.position();s(a).scroll(function(){s(a).scrollTop()<=5e3?e.addClass("fixed"):e.removeClass("fixed")})})}),s(c).on("click","#woo-feed-debug-log-download",function(e){e.preventDefault(),s("<a />",{download:new Date+".log",href:URL.createObjectURL(new Blob([s("#woo-feed-debug-log").val()],{type:"text/plain"}))}).appendTo("body")[0].click()}),s(c).on("keyup","#filename",function(e){var t=s("#filename").val();s("#utm_campaign").val(t)})}(jQuery,window,document,wp.ajax,wpf_ajax_obj);
|
2 |
//# sourceMappingURL=woo-feed-admin.min.js.map
|
1 |
+
"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(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,o.key,o)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}!function(s,a,c,l,d){s.fn.disabled=function(n){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===n||!0===n):!0===n?e.addClass(t):e.removeClass(t)}),self},s.fn.isDisabled=function(){var e=s(this),t="disabled";return void 0!==e.prop(t)?e.prop(t):e.hasClass(t)};function e(e){s(e.currentTarget).removeClass(function(e,t){return(t.match(/\btooltipped-\S+/g)||[]).join(" ")}).removeClass("tooltipped").removeAttr("aria-label")}function o(e,t){s(e).addClass("tooltipped tooltipped-s").attr("aria-label",t)}function r(e,t){return s.extend(!0,{},e,t)}function t(){n=s(".toClipboard"),!ClipboardJS.isSupported()||/iPhone|iPad/i.test(navigator.userAgent)?n.find("img").hide(0):(n.each(function(){s(this).on("mouseleave",e).on("blur",e)}),new ClipboardJS(".toClipboard").on("error",function(e){var t,n;o(e.trigger,(t=e.action,n="cut"===t?"X":"C",/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+n+" to "+t:"Press Ctrl-"+n+" to "+t))}).on("success",function(e){o(e.trigger,"Copied")}))}var n,i,f={in_array:function(e,t){try{return-1!==t.indexOf(e)}catch(e){return!1}},selectize_render_item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" "+e.text),"</div>")},ajax_fail:function(e){console.warn(e),alert(e.hasOwnProperty("statusText")&&e.hasOwnProperty("status")?d.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,n,o,a){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||o||9;e.wf_sortable(r({containerSelector:"table",itemPath:"> tbody",itemSelector:"tr",handle:"i.wf_sortedtable",placeholder:'<tr class="placeholder"><td colspan="'.concat(t,'"></td></tr>'),onDrop:function(e,t,n,o){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),a&&"function"==typeof a&&a(e,t,n,o)}},n))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").each(function(){var e=s(this);e.selectize(r({create:e.data("create")||!1,plugins:e.data("plugins")?e.data("plugins").split(",").map(function(e){return e.trim()}):[],render:{item:f.selectize_render_item}},t))})},fancySelect:function(e,t){return(e||s("select.fancySelect")).not(".FancySelectInit").each(function(){s(this).fancySelect(r({maxItemShow:3},t))})},reindex_config_table:function(){s("#table-1").find("tbody tr").each(function(n,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(n,"]")))})})},common:function(){f.sortable(s(".sorted_table"),{},9,f.reindex_config_table),f.selectize(),f.fancySelect(s(".outputType"))}},_={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(f.common(),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(n,o,a){function e(e){var t;a.hasOwnProperty(e)&&(n.find(".merchant-info-section."+e+" .data").html(a[e]),"feed_file_type"===e&&((t=a[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==d.na.toLowerCase()})).length?(o.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!f.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&o.find('option[value="'+t[0]+'"]').attr("selected","selected")):o.find("option").disabled(!1)))}for(var t in a)e(t);n.find(".spinner").removeClass("is-active"),o.disabled(!1),o.trigger("change"),s(c).trigger("woo_feed_config_loaded"),o.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(n,o){function e(t){if(o.hasOwnProperty(t))if("tabs"===t)n.html(o[t]);else{var e=s('[name="'+t+'"]');e.length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+o[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===o[t]?e.prop("checked",!0):e.val(o[t])}).trigger("change")}}for(var t in o)e(t);_.init()}},p=[],u=[],h=function(){function e(){_classCallCheck(this,e),this._feed=d.generator.feed,this._limit=d.generator.limit,this._progress=0,this._timer=null,this._color=!1,this._total_batch=0,this._current_batch=0,this._product_ids=[],this._progress_per_batch=0,this._refresh=!0,this._regenerate=d.generator.regenerate,a.isRegenerating=!1,this._all_btn=s(".wpf_regenerate"),this._current_btn=s("#".concat(this._feed.replace("wf_config","wf_feed_"))),this._current_btn_label=""}return _createClass(e,[{key:"init",value:function(){var n=this;""!==this._feed&&this._regenerate&&!1===a.isRegenerating&&this.generate();var e=a.location.search;return"webappick-manage-feeds"===new URLSearchParams(e).get("page")&&s("body").addClass("woo-import-popup-body"),s(c).on("click",".woo-feed-campaign-close-button",function(e){e.preventDefault(),s(this).parent(".woo-feed-promotion").hide();var t=s(this).data("condition");1===t&&l.post("woo_feed_hide_promotion",{_ajax_nonce:d.nonce,condition:t}).then(function(e){n._log(e)}).fail(function(e){n._log(e),n._updateProgressStatus(e.message),n._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),n._current_btn=s(this),n._current_btn.hasClass("disabled")||!0===a.isRegenerating||(n._feed=n._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==n._feed&&n.generate())}),this}},{key:"_block_button",value:function(){this._all_btn.length&&this._all_btn.addClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").addClass("wpf_spin reverse_spin"),this._current_btn_label=this._current_btn.attr("title"),this._current_btn.attr("aria-label",d.regenerate).attr("title",d.regenerate))}},{key:"_unblock_button",value:function(){this._all_btn.length&&this._all_btn.removeClass("disabled"),this._current_btn.length&&(this._current_btn.find("span").removeClass("wpf_spin"),this._current_btn.find("span").removeClass("reverse_spin"),this._current_btn.attr("aria-label",this._current_btn_label).attr("title",this._current_btn_label))}},{key:"generate",value:function(){var t=this,n=this;a.isRegenerating=!0,this._block_button(),this._resetProgressBar(),this._progressBarActive(),this._log("Counting Total Products"),this._updateProgressStatus("Fetching products."),this._get_product_ids().then(function(e){t._progress=10,n._log({response:e}),e.success?(n._log("Total ".concat(e.total," Products found.")),n._product_ids=e.product,n._total_batch=t._product_ids.length,n._current_batch=0,n._progress_per_batch=(90-t._progress)/t._total_batch,n._process_batch(),n._updateProgressStatus("Processing Products...")):n._updateProgressStatus(e.data.message)}).fail(function(e){n._log(e),n._updateProgressStatus(e.message),n._color="red",setTimeout(function(){n._stopProgressBar(),n._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:d.nonce,feed:this._feed,limit:this._limit})}},{key:"_process_batch",value:function(){var t=this,e="Processing Batch ".concat(this._current_batch+1," of ").concat(this._total_batch);this._updateProgressStatus(e),this._log(e),l.post("make_batch_feed",{_ajax_nonce:d.nonce,feed:this._feed,products:this._product_ids[this._current_batch],loop:this._current_batch}).then(function(e){t._current_batch++,t._log("Batch ".concat(t._current_batch," Completed")),t._log(e),t._current_batch<t._total_batch&&(t._process_batch(),t._progress+=t._progress_per_batch),t._current_batch===t._total_batch&&t._save_feed_file()}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_save_feed_file",value:function(){var t=this;this._log("Saving feed file"),this._updateProgressStatus("Saving feed file"),l.post("save_feed_file",{_ajax_nonce:d.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(a.location.href="".concat(d.pages.list.feed,"&link=").concat(e.url,"&cat=").concat(e.cat)),setTimeout(function(){t._stopProgressBar(),setTimeout(function(){t._resetProgressBar(!0),t._unblock_button()},3e3)},2500)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red",setTimeout(function(){t._stopProgressBar(),t._unblock_button()},1500)})}},{key:"_log",value:function(e){return d.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(e){var t=0<arguments.length&&void 0!==e?e:0,n=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){n._updateProgressBar()},t||1e3),this}},{key:"_stopProgressBar",value:function(){return clearInterval(this._timer),this}},{key:"_resetProgressBar",value:function(e){return this._toggleProgressBar(!1),this._updateProgressStatus(""),clearInterval(this._timer),this._color=!1,this._timer=null,this._progress=0,e&&this._updateProgressBar(),this}},{key:"_toggleProgressBar",value:function(e){var t=s("#feed_progress_table");return e?t.show():t.hide(),this}},{key:"_updateProgressStatus",value:function(e){return s(".feed-progress-status").text(e),this}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),n="".concat(Math.round(this._progress),"%");t.css({width:n}),e.text(n)}}]),e}();a.wf={helper:f,feedEditor:_,generator:h},s(a).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content");var e=a.location.search;new URLSearchParams(e).get("action");t(),postboxes.add_postbox_toggles(pagenow),(new h).init(),""!==d.generator.feed&&d.generator.regenerate,_.init(),f.common(),s(".wfmasterTooltip").hover(function(){var e=s(this),t=e.attr("wftitle");e.data("tipText",t).removeAttr("wftitle"),s('<p class="wftooltip"></p>').text(t).appendTo("body").fadeIn("slow")},function(){var e=s(this);e.attr("wftitle",e.data("tipText")),s(".wftooltip").remove()}).mousemove(function(e){s(".wftooltip").css({top:e.pageY+10,left:e.pageX+20})}),s(".generateFeed").validate(),s(c).on("click","[data-toggle_slide]",function(e){e.preventDefault(),s(s(this).data("toggle_slide")).slideToggle("fast")}).on("click","#wf_newRow",function(){var e=s("#table-1 tbody"),t=s("#feed_config_template").text().trim().replace(/__idx__/g,e.find("tr").length);e.append(t),f.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(d.form.del_confirm)&&(a.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var t=s(".woo-feed-clean-cache-nonce").val(),n=s(".woo-feed-cache-loader");n.show(),l.post("clear_cache_data",{_ajax_clean_nonce:t}).then(function(e){e.success&&(n.hide(),location.reload())}).fail(function(e){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),n=s("#woo-feed-status-area");t.val("Copied"),n.css("visibility","visible"),n.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,n,o=s(this).val(),a=s(this).parents("tr").find(".outputType"),r=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),i=s(this).parents("tr").find(".fancy-picker-data span");n=["price","current_price","sale_price","price_with_tax","current_price_with_tax","sale_price_with_tax","shipping_cost"].includes(o)?(t="for_price","Price"):""!==o&&-1!==o.indexOf("wf_taxo")?(t="for_custom_taxo","parent_if_empty"):(t="for_all","Default"),r.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t||r.each(function(e){n===s(this).text()&&(s(this).addClass("selected"),i.text(n),a.find("option").text(n),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(d.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),n=e.closest("tr");"pattern"===t?(n.find(".value_attribute").hide(),n.find(".value_pattern").show()):"attribute"===t?(n.find(".value_attribute").show(),n.find(".value_pattern").hide()):"remove"===t&&(n.find(".value_attribute").hide(),n.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),f.reindex_config_table()}).on("submit","#generateFeed",function(){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(d.form.generate,"</b>"))}).on("submit","#updatefeed",function(e,t){s(this).validate(),s(this).valid()&&s(".makeFeedResponse").show().html('<b style="color: darkblue;"><i class="dashicons dashicons-sos wpf_spin"></i> '.concat(t&&t.save?d.form.save:d.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",function(){console.log("Ready Provided"),0===s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):("google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled")),s("#ftpenabled").on("change",function(){0===s("#ftpenabled").val()?(s(".google-merchant-message").hide("slow"),s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").attr("disabled","disabled")):(s(".woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select").removeAttr("disabled"),"google"===s("#provider").val()?s(".google-merchant-message").show("slow"):s(".google-merchant-message").hide("slow"))})}).on("change",".ftporsftp",function(){var e=s(this).val(),t=s(".ssh2_status");"sftp"===e?(t.show().css("color","dodgerblue").text(d.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:d.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(d.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(d.form.sftp_warning)}).fail(function(e){t.hide(),f.ajax_fail(e)})):t.hide()}).on("click",'[name="save_feed_config"]',function(e){e.preventDefault(),s("#updatefeed").trigger("submit",{save:!0})}).on("change","#provider",function(e){e.preventDefault();var t=s(this).val(),n=s(this).find(":selected").text(),o=s("#filename").val(),a=s("#feedType"),r=s("#providerPage"),i=s("#feed_merchant_info");r.html('<h3><span style="float:none;margin: -3px 0 0;" class="spinner is-active"></span> '+d.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),a.disabled(!0),a.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),p.hasOwnProperty(t)?(_.renderMerchantInfo(i,a,p[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:d.nonce,provider:t,templateName:n}}).then(function(e){p[t]=e,_.renderMerchantInfo(i,a,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(f.ajax_fail),u.hasOwnProperty(t)?(_.renderMerchantTemplate(r,u[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:d.nonce,merchant:t}).then(function(e){u[t]=e,_.renderMerchantTemplate(r,e),s("#utm_source").val(n),s("#utm_campaign").val(o),"bing"===t&&(s("#delimiter option").removeAttr("selected"),s('#delimiter option[value="tab"]').attr("selected","selected"),s("#enclosure option").removeAttr("selected"),s('#enclosure option[value=" "]').attr("selected","selected")),"google_product_review"!==t&&s('.wf_attributes option[value="reviewer_name"]').hide()}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(f.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:d.nonce,feedName:e.val(),status:e[0].checked?1:0})}),s(c).on("change",'[name="is_outOfStock"], [name="product_visibility"]',function(){var e=s(".out-of-stock-visibility");"n"===s('[name="is_outOfStock"]:checked').val()&&"1"===s('[name="product_visibility"]:checked').val()?e.show():e.hide()}).on("change",".attr_type",function(){var e=s(this),t=e.val(),n=e.closest("tr");"pattern"===t?(n.find(".wf_attr").hide(),n.find(".wf_attr").val(""),n.find(".wf_default").show()):(n.find(".wf_attr").show(),n.find(".wf_default").hide(),n.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),n=e.find(".attr_type"),o=e.find("td:eq(4)"),a=s("#provider").val();if(d.form.google_category.hasOwnProperty(t.val())&&"pattern"===n.val()&&f.in_array(a,d.form.google_category[t.val()])){if(0===o.find("select.selectize").length){o.find("input.wf_default").remove(),o.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),o.append('<span style="font-size:x-small;"><a style="color: red" href="http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category" target="_blank">'.concat(d.learn_more,"</a></span>")),i||o.append('<span class="spinner is-active" style="margin: 0;"></span>');var r=o.find(".wf_attributes select");f.selectize(r,{preload:!0,placeholder:d.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:d.nonce,action:"get_google_categories",provider:a}}).then(function(e){t(i=e),o.find(".spinner").remove()}).fail(f.ajax_fail)}})}}else"current_category"!==t.val()&&0===o.find("input.wf_default").length&&(o.find("span").remove(),o.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==n.val()&&o.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),n=s("#provider").val(),o=s(".itemWrapper"),a=s(".wf_csvtxt");""!==t&&f.in_array(n,d.form.item_wrapper_hidden)&&o.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(o.hide(),a.show(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t&&(o.show(),a.hide()))}).trigger("change");var o=function(){function o(e,t,n){_classCallCheck(this,o),this.productCustomFields(e,t,n)}return _createClass(o,[{key:"cacheClear",value:function(){var e={action:"woo_feed_product_attribute_cache_remove",nonce:wpf_ajax_obj.ajax.nonce};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e})}},{key:"productCustomFields",value:function(e,t,n){var o=this,a=1<arguments.length&&void 0!==t&&t,r=2<arguments.length?n:void 0,i={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:e,status:a,isTaxonomy:r};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:i,success:function(e){e.success?o.cacheClear():console.log(e)}})}}]),o}();s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),n=s(this).prop("checked");new o(e,n,t)}),s(c).ready(function(){var e=s(".wapk-feed-buy-now-container");e.position();s(a).scroll(function(){s(a).scrollTop()<=5e3?e.addClass("fixed"):e.removeClass("fixed")})})}),s(c).on("click","#woo-feed-debug-log-download",function(e){e.preventDefault(),s("<a />",{download:new Date+".log",href:URL.createObjectURL(new Blob([s("#woo-feed-debug-log").val()],{type:"text/plain"}))}).appendTo("body")[0].click()}),s(c).on("keyup","#filename",function(e){var t=s("#filename").val();s("#utm_campaign").val(t)}),s(c).on("change","#category-mapping-form #providers",function(e){var t=s(this).find(":selected").val();-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)?(s('input[id*="cat_mapping_"]').css("display","none"),s(".wf_default.wf_attributes").css("display","block").css("width","100%")):(s('input[id*="cat_mapping_"]').css("display","block"),s(".wf_default.wf_attributes").css("display","none").css("width","100%"))}),s(c).on("click",'span[id*="cat-map-"]',function(e){e.preventDefault();var t=s("#category-mapping-form #providers").val(),n=s(this).attr("id").replace(/[^\d.]/g,""),o="group-child-"+n;if(-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)){var a=s(this).parents("tr").find(".selectized").val();a&&s("."+o).parents("tr").find("select").each(function(e,t){s(t).data("selectize").setValue(a)})}else{var r=s("#cat_mapping_"+n).val();s("."+o).parents("tr").find("input").val(r)}})}(jQuery,window,document,wp.ajax,wpf_ajax_obj);
|
2 |
//# sourceMappingURL=woo-feed-admin.min.js.map
|
admin/js/woo-feed-admin.min.js.map
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["woo-feed-admin.js"],"names":["_defineProperties","target","props","descriptor","i","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","self","prop","showTooltip","$","hasClass","currentTarget","clearTooltip","removeClass","actionMsg","className","match","index","action","removeAttr","actionKey","elem","addClass","attr","msg","extend","_default","_args","clip","$copyBtn","top","this","on","event","test","navigator","console","googleCategories","in_array","needle","haystack","sortable","escape","data","text","ajax_fail","column_count","find","warn","wf_sortable","selectize_render_item","e","hasOwnProperty","opts","ajax","error","statusText","status","el","config","column","_onDrop","each","length","selectize","itemPath","create","concat","plugins","$item","container","containerSelector","group","options","bodyClass","itemSelector","handle","onDrop","fancySelect","maxItemShow","split","map","s","trim","helper","render","item","replace","x","form","merchantInfo","document","trigger","jQuery","k","init","renderMerchantInfo","opt","feedType","r","types","html","t","toLowerCase","na","disabled","val","renderMerchantTemplate","_loop","contentSettings","feedForm","feedEditor","merchantInfoCache","css","clipboard","_regenerate","isRegenerating","_feed","_current_btn","feed","_limit","generator","limit","_progress","_product_ids","_progress_per_batch","_refresh","_all_btn","generate","feedGenerator","condition","_current_btn_label","then","URLSearchParams","response","_color","preventDefault","parent","hide","_ajax_nonce","_log","_updateProgressStatus","message","key","value","_block_button","_this","product","setTimeout","_stopProgressBar","_process_batch","_current_batch","_total_batch","post","loop","_resetProgressBar","_unblock_button","refreshInterval","arguments","undefined","_timer","clearInterval","update","table","show","width","bar","wf","current_page_url_query","postboxes","regenerate","_updateProgressBar","pagenow","template","common","hover","title","appendTo","userAgent","remove","ClipboardJS","pageX","location","slideToggle","loader","tbody","reload","nonce","button","status_area","select","execCommand","fail","current_attribute_value","fancyOption","fancyDataPicker","selectIf","price_attributes","selectKey","outputSelect","parents","includes","confirm","del_confirm_multi","closest","reindex_config_table","type","_ajax_clean_nonce","row","valid","validate","save","log","server","sftp_available","templateName","name","merchant","loading_tmpl","provider","merchantTemplateCache","outOfStockVisibilityRow","feedName","checked","valueColumn","append","load","google_category","attribute","learn_more","preload","cb","query","itemWrapper","wf_csv_txt","item_wrapper_hidden","WooFeedCustomFields","productCustomFields","placeholder","url","field","isTaxonomy","success","_this2","wpf_ajax_obj","wpf_ajax_url","download","URL","position","scroll","scrollTop"],"mappings":"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","file":"woo-feed-admin.min.js","sourcesContent":["// noinspection JSUnresolvedletiable\n/**!\n * WooFeed Scripts\n * @version 3.3.6\n * @package WooFeed\n * @copyright 2020 WebAppick\n *\n */\n/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */\n// noinspection JSUnresolvedVariable\n(function($, window, document, wpAjax, opts) {\n\t\"use strict\";\n\t/**\n\t * All of the code for your admin-facing JavaScript source\n\t * should reside in this file.\n\t *\n\t * Note: It has been assumed you will write jQuery code here, so the\n\t * $ function reference has been prepared for usage within the scope\n\t * of this function.\n\t *\n\t * This enables you to define handlers, for when the DOM is ready:\n\t */\n\n\t/**\n\t * disable element utility\n\t *\n\t * @since 3.1.9\n\t *\n\t * @param {*} status\n\t * @returns {jQuery|HTMLElement}\n\t */\n\t$.fn.disabled = function(status) {\n\t\t$(this).each(function() {\n\t\t\tlet self = $(this),\n\t\t\t\tprop = 'disabled';\n\n\t\t\tif (typeof self.prop(prop) !== 'undefined') {\n\t\t\t\tself.prop(prop, status === void 0 || status === true);\n\t\t\t} else {\n\t\t\t\t!0 === status ? self.addClass(prop) : self.removeClass(prop);\n\t\t\t}\n\t\t});\n\t\treturn self; // method chaining\n\t};\n\t\n\t/**\n\t * Check if a HTMLElement or jQuery is disabled\n\t */\n\t$.fn.isDisabled = function() {\n\t\tlet self = $(this),\n\t\t\tprop = 'disabled';\n\t\treturn typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n\t};\n\t\n\t/**\n\t * Clear Tooltip for clip board js\n\t * @param {Object} event\n\t */\n\tconst clearTooltip = (event) => {\n\t\t$(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n\t};\n\n\tconst showTooltip = (elem, msg) => {\n\t\t$(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n\t};\n\n\tconst fallbackMessage = (action) =>{\n\t\tlet actionMsg,\n\t\t\tactionKey = action === 'cut' ? 'X' : 'C';\n\n\t\tif (/iPhone|iPad/i.test(navigator.userAgent)) {\n\t\t\tactionMsg = 'No support :(';\n\t\t} else if (/Mac/i.test(navigator.userAgent)) {\n\t\t\tactionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n\t\t} else {\n\t\t\tactionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n\t\t}\n\n\t\treturn actionMsg;\n\t};\n\t\n\t/**\n\t * Alias of jQuery.extend()\n\t * @param {Object} _default\n\t * @param {Object} _args\n\t */\n\tconst extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\t\n\tlet $copyBtn,\n\t\tclipboard,\n\t\tgoogleCategories,\n\t\thelper = {\n\t\t\tin_array: (needle, haystack) => {\n\t\t\t\ttry {\n\t\t\t\t\treturn haystack.indexOf(needle) !== -1;\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tselectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${ escape(data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n\t\t\tajax_fail: e => {\n\t\t\t\tconsole.warn(e);\n\t\t\t\talert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Initialize Sortable\n\t\t\t * @param {jQuery|HTMLElement} el\n\t\t\t * @param {object} config\n\t\t\t * @param {int|boolean} column\n\t\t\t * @param {function} onDrop\n\t\t\t * @return {jQuery|HTMLElement}\n\t\t\t */\n\t\t\tsortable: (el, config, column, onDrop) => {\n\t\t\t\treturn (el || $('.sorted_table')).each(function() {\n\t\t\t\t\tlet self = $(this),\n\t\t\t\t\t\tcolumn_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n\t\t\t\t\tself.wf_sortable(extend({\n\t\t\t\t\t\tcontainerSelector: 'table',\n\t\t\t\t\t\titemPath: '> tbody',\n\t\t\t\t\t\titemSelector: 'tr',\n\t\t\t\t\t\thandle: 'i.wf_sortedtable',\n\t\t\t\t\t\tplaceholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n\t\t\t\t\t\tonDrop: ($item, container, _super, event) => {\n\t\t\t\t\t\t\t$item.removeClass(container.group.options.draggedClass).removeAttr('style');\n\t\t\t\t\t\t\t$(\"body\").removeClass(container.group.options.bodyClass);\n\t\t\t\t\t\t\tif ( onDrop && 'function' === typeof( onDrop ) ) {\n\t\t\t\t\t\t\t\tonDrop( $item, container, _super, event );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\tselectize: (el, config) => {\n\t\t\t\treturn (el || $('select.selectize')).not('.selectized').each(function() {\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.selectize(extend({\n\t\t\t\t\t\tcreate: self.data('create') || false,\n\t\t\t\t\t\tplugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n\t\t\t\t\t\t\treturn s.trim();\n\t\t\t\t\t\t}) : [],\n\t\t\t\t\t\t//['remove_button'],\n\t\t\t\t\t\trender: {\n\t\t\t\t\t\t\titem: helper.selectize_render_item\n\t\t\t\t\t\t}\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\tfancySelect: (el, config) => {\n\t\t\t\treturn (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.fancySelect(extend({\n\t\t\t\t\t\tmaxItemShow: 3\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\treindex_config_table: () => {\n\t\t\t\t$('#table-1').find('tbody tr').each( ( x, el ) => {\n\t\t\t\t\t$(el).find('[name]').each( ( x1, el ) => {\n\t\t\t\t\t\t$(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t},\n\t\t\tcommon: () => {\n\t\t\t\thelper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n\t\t\t\thelper.selectize();\n\t\t\t\thelper.fancySelect($('.outputType'));\n\t\t\t}\n\t\t},\n\t\t// helper functions\n\t\tfeedEditor = {\n\t\t\t/**\n\t\t\t * The Editor Form Elem.\n\t\t\t * @type {jQuery|HTMLElement}\n\t\t\t */\n\t\t\tform: null,\n\n\t\t\t/**\n\t\t\t * Initialize The Feed Editor {Tabs...}\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tinit: function () {\n\t\t\t\tlet self = this;\n\t\t\t\tself.form = $('.generateFeed');\n\t\t\t\tif (!self.form.length) return;\n\t\t\t\thelper.common();\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t$(document).trigger(new jQuery.Event('feedEditor.init', {\n\t\t\t\t\ttarget: this.form\n\t\t\t\t}));\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Render Merchant info ajax response and handle allowed feed type for selected merchant\n\t\t\t * @param {jQuery|HTMLElement} merchantInfo jQuery dom object\n\t\t\t * @param {jQuery|HTMLElement} feedType jQuery dom object\n\t\t\t * @param {Object} r ajax response object\n\t\t\t */\n\t\t\trenderMerchantInfo: function (merchantInfo, feedType, r) {\n\t\t\t\tfor (let k in r) {\n\t\t\t\t\tif (r.hasOwnProperty(k)) {\n\t\t\t\t\t\tmerchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n\t\t\t\t\t\tif ('feed_file_type' === k) {\n\t\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\t\tlet types = r[k].split(\",\").map(function(t) {\n\t\t\t\t\t\t\t\t\treturn t.trim().toLowerCase();\n\t\t\t\t\t\t\t\t}).filter(function(t) {\n\t\t\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\t\t\treturn t !== '' && t !== opts.na.toLowerCase();\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (types.length) {\n\t\t\t\t\t\t\t\t\tfeedType.find('option').removeAttr('selected').each(function() {\n\t\t\t\t\t\t\t\t\t\tlet opt = $(this);\n\t\t\t\t\t\t\t\t\t\topt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n\t\t\t\t\t\t\t\t} else feedType.find('option').disabled(!1);\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmerchantInfo.find('.spinner').removeClass('is-active');\n\t\t\t\tfeedType.disabled(!1);\n\t\t\t\tfeedType.trigger('change');\n\n\t\t\t\t/**\n\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t * */\n\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\tfeedType.parent().find('.spinner').removeClass('is-active');\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Render Feed Template Tabs and settings while creating new feed.\n\t\t\t * @param {jQuery|HTMLElement} feedForm feed from query dom object\n\t\t\t * @param {object} r merchant template ajax response object\n\t\t\t */\n\t\t\trenderMerchantTemplate: function (feedForm, r) {\n\t\t\t\tlet _loop = function _loop(k) {\n\t\t\t\t\tif (r.hasOwnProperty(k)) {\n\t\t\t\t\t\tif ('tabs' === k) {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedFunction\n\t\t\t\t\t\t\tfeedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet contentSettings = $('[name=\"' + k + '\"]');\n\n\t\t\t\t\t\t\tif (contentSettings.length) {\n\t\t\t\t\t\t\t\tcontentSettings.each(function() {\n\t\t\t\t\t\t\t\t\tlet elem = $(this);\n\n\t\t\t\t\t\t\t\t\tif (elem.is('select')) {\n\t\t\t\t\t\t\t\t\t\telem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n\t\t\t\t\t\t\t\t\t} else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n\t\t\t\t\t\t\t\t\t\telem.prop('checked', true);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\telem.val(r[k]); // type=text\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}).trigger('change');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tfor (let k in r) {\n\t\t\t\t\t_loop(k);\n\t\t\t\t}\n\n\t\t\t\tfeedEditor.init();\n\t\t\t}\n\t\t},\n\t\t// Feed Editor Table\n\t\tmerchantInfoCache = [],\n\t\tmerchantTemplateCache = [],\n\t\ttooltip = () => {\n\t\t\t// Tooltip only Text\n\t\t\t$('.wfmasterTooltip')\n\t\t\t\t.hover(function () {\n\t\t\t\t\t// Hover over code\n\t\t\t\t\tlet self = $(this), title = self.attr('wftitle');\n\t\t\t\t\tself.data('tipText', title).removeAttr('wftitle');\n\t\t\t\t\t$('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n\t\t\t\t}, function () {\n\t\t\t\t\t// Hover out code\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.attr('wftitle', self.data('tipText'));\n\t\t\t\t\t$('.wftooltip').remove();\n\t\t\t\t})\n\t\t\t\t.mousemove(function (e) {\n\t\t\t\t\t$('.wftooltip').css({\n\t\t\t\t\t\ttop: e.pageY + 10,\n\t\t\t\t\t\tleft: e.pageX + 20\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tclip = () => {\n\t\t\t$copyBtn = $('.toClipboard');\n\t\t\tif (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n\t\t\t\t$copyBtn.find('img').hide(0);\n\t\t\t} else {\n\t\t\t\t$copyBtn.each(function() {\n\t\t\t\t\t$(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n\t\t\t\t});\n\t\t\t\tclipboard = new ClipboardJS('.toClipboard');\n\t\t\t\tclipboard.on('error', function(event) {\n\t\t\t\t\tshowTooltip(event.trigger, fallbackMessage(event.action));\n\t\t\t\t}).on('success', function(event) {\n\t\t\t\t\tshowTooltip(event.trigger, 'Copied');\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\n\t/**\n\t * Feed Generator Module\n\t */\n\tclass feedGenerator {\n\t\t\n\t\t/**\n\t\t * Constructor\n\t\t * @constructor\n\t\t */\n\t\tconstructor() {\n\t\t\tthis._feed = opts.generator.feed; // wf_config+xxxx\n\t\t\tthis._limit = opts.generator.limit;\n\t\t\tthis._progress = 0;\n\t\t\tthis._timer = null;\n\t\t\tthis._color = false;\n\t\t\t// batch info\n\t\t\tthis._total_batch = 0;\n\t\t\tthis._current_batch = 0;\n\t\t\tthis._product_ids = [];\n\t\t\tthis._progress_per_batch = 0;\n\t\t\tthis._refresh = true;\n\t\t\t// noinspection JSUnresolvedVariable\n\t\t\tthis._regenerate = opts.generator.regenerate;\n\t\t\twindow.isRegenerating = false;\n\t\t\tthis._all_btn = $('.wpf_regenerate');\n\t\t\tthis._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n\t\t\tthis._current_btn_label = '';\n\t\t}\n\t\t\n\t\t/**\n\t\t * Init Hooks (Event)\n\t\t * @return {feedGenerator}\n\t\t */\n\t\tinit() {\n\t\t\tlet self = this;\n\t\t\tif ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n\t\t\t\tthis.generate();\n\t\t\t}\n\n\t\t\t//thickbox body add feed plugin class to make it unique and custom style\n\t\t\tlet current_page_query = window.location.search;\n\t\t\tlet params = new URLSearchParams(current_page_query);\n\t\t\tlet page_name = params.get(\"page\");\n\t\t\tif( \"webappick-manage-feeds\" === page_name ) {\n\t\t\t\t$('body').addClass('woo-import-popup-body');\n\t\t\t}\n\n\t\t\t$(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t$(this).parent('.woo-feed-promotion').hide();\n\t\t\t\tlet condition = $(this).data('condition');\n\t\t\t\tif(1 === condition) {\n\t\t\t\t\twpAjax.post( 'woo_feed_hide_promotion', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tcondition: condition,\n\t\t\t\t\t} ).then( response => {\n\t\t\t\t\t\tself._log( response );\n\t\t\t\t\t} ).fail( error => {\n\t\t\t\t\t\tself._log( error );\n\t\t\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\t\t\tself._color = 'red';\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t});\n\t\t\t$(document).on('click', '.wpf_regenerate', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tself._current_btn = $( this );\n\t\t\t\tif( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n\t\t\t\tself._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n\t\t\t\tif( '' !== self._feed ) {\n\t\t\t\t\tself.generate();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t_block_button() {\n\t\t\tif ( this._all_btn.length ) {\n\t\t\t\tthis._all_btn.addClass('disabled');\n\t\t\t}\n\t\t\tif ( this._current_btn.length ) {\n\t\t\t\tthis._current_btn.find('span').addClass('wpf_spin reverse_spin');\n\t\t\t\tthis._current_btn_label = this._current_btn.attr('title');\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tthis._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n\t\t\t}\n\t\t}\n\t\t\n\t\t_unblock_button() {\n\t\t\tif ( this._all_btn.length ) {\n\t\t\t\tthis._all_btn.removeClass('disabled');\n\t\t\t}\n\t\t\tif ( this._current_btn.length ) {\n\t\t\t\tthis._current_btn.find('span').removeClass('wpf_spin');\n\t\t\t\tthis._current_btn.find('span').removeClass('reverse_spin');\n\t\t\t\tthis._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Generate Feed\n\t\t * @return void\n\t\t */\n\t\tgenerate() {\n\t\t\tlet self = this;\n\t\t\twindow.isRegenerating = true;\n\t\t\tthis._block_button();\n\t\t\tthis._resetProgressBar();\n\t\t\tthis._progressBarActive();\n\t\t\tthis._log( 'Counting Total Products' );\n\t\t\tthis._updateProgressStatus( 'Fetching products.' );\n\t\t\tthis._get_product_ids().then( response => {\n\t\t\t\tthis._progress = 10;\n\t\t\t\tself._log( {response} );\n\t\t\t\tif(response.success) {\n\t\t\t\t\tself._log( `Total ${response.total} Products found.` );\n\t\t\t\t\tself._product_ids = response.product;\n\t\t\t\t\tself._total_batch = this._product_ids.length;\n\t\t\t\t\tself._current_batch = 0;\n\t\t\t\t\tself._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n\t\t\t\t\tself._process_batch();\n\t\t\t\t\tself._updateProgressStatus( 'Processing Products...' );\n\t\t\t\t} else {\n\t\t\t\t\tself._updateProgressStatus( response.data.message );\n\t\t\t\t}\n\t\t\t}).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Get Product Ids\n\t\t * @returns {$.promise}\n\t\t * @private\n\t\t */\n\t\t_get_product_ids() {\n\t\t\tthis._progress = 5;\n\t\t\treturn wpAjax.post( 'get_product_information', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t\tlimit: this._limit,\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Run the Batch\n\t\t * @private\n\t\t */\n\t\t_process_batch() {\n\t\t\tlet self = this;\n\t\t\tlet status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n\t\t\tthis._updateProgressStatus( status );\n\t\t\tthis._log( status );\n\t\t\twpAjax.post( 'make_batch_feed', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t\tproducts: this._product_ids[this._current_batch],\n\t\t\t\tloop: this._current_batch,\n\t\t\t} ).then( response => {\n\t\t\t\tself._current_batch++;\n\t\t\t\tself._log( `Batch ${self._current_batch} Completed` );\n\t\t\t\tself._log( response );\n\t\t\t\tif ( self._current_batch < self._total_batch ) {\n\t\t\t\t\tself._process_batch();\n\t\t\t\t\tself._progress += self._progress_per_batch;\n\t\t\t\t}\n\t\t\t\tif ( self._current_batch === self._total_batch ) {\n\t\t\t\t\tself._save_feed_file();\n\t\t\t\t}\n\t\t\t} ).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Save Feed Data from temp to feed file\n\t\t * @private\n\t\t */\n\t\t_save_feed_file() {\n\t\t\tlet self = this;\n\t\t\tthis._log( 'Saving feed file' );\n\t\t\tthis._updateProgressStatus( 'Saving feed file' );\n\t\t\twpAjax.post( 'save_feed_file', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t} ).then( response => {\n\t\t\t\tself._log( response );\n\t\t\t\tself._progress = 100;\n\t\t\t\tif ( self._refresh ) {\n\t\t\t\t\twindow.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n\t\t\t\t}\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tsetTimeout( function(){\n\t\t\t\t\t\tself._resetProgressBar( true );\n\t\t\t\t\t\tself._unblock_button();\n\t\t\t\t\t}, 3000 );\n\t\t\t\t}, 2500 );\n\t\t\t} ).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Console log wrapper with debug settings.\n\t\t * @param data\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_log( data ) {\n\t\t\t// noinspection JSUnresolvedVariable\n\t\t\tif ( opts.wpf_debug ) {\n\t\t\t\tconsole.log( data );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Run the progressbar refresh interval\n\t\t * @param {int} refreshInterval\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_progressBarActive( refreshInterval = 0 ) {\n\t\t\tlet self = this;\n\t\t\tthis._toggleProgressBar( true );\n\t\t\tthis._timer = setInterval( function(){\n\t\t\t\tself._updateProgressBar();\n\t\t\t}, refreshInterval || 1000 );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Stop Progressbar\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_stopProgressBar() {\n\t\t\tclearInterval( this._timer );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Reset Progressbar\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_resetProgressBar( update ) {\n\t\t\tthis._toggleProgressBar( false );\n\t\t\tthis._updateProgressStatus( '' );\n\t\t\tclearInterval( this._timer );\n\t\t\tthis._color = false;\n\t\t\tthis._timer = null;\n\t\t\tthis._progress = 0;\n\t\t\tif ( update ) {\n\t\t\t\tthis._updateProgressBar();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Show hide the progress bar el\n\t\t * @param status\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_toggleProgressBar( status ) {\n\t\t\tlet table = $('#feed_progress_table');\n\t\t\tif ( status ) {\n\t\t\t\ttable.show();\n\t\t\t} else {\n\t\t\t\ttable.hide();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update Progress bar text status\n\t\t * @param {string} status\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_updateProgressStatus( status ) {\n\t\t\t$( '.feed-progress-status' ).text( status );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update Progress Data\n\t\t * hooked with setInterval\n\t\t * @private\n\t\t */\n\t\t_updateProgressBar() {\n\t\t\tlet percentage = $( '.feed-progress-percentage' ),\n\t\t\t\tbar = $( '.feed-progress-bar-fill' ),\n\t\t\t\t_progress = `${Math.round( this._progress )}%`;\n\t\t\tbar.css( {\n\t\t\t\twidth: _progress,\n\t\t\t} );\n\t\t\tpercentage.text( _progress );\n\t\t}\n\t}\n\t// expose to the global scope\n\twindow.wf = {\n\t\thelper: helper,\n\t\tfeedEditor: feedEditor,\n\t\tgenerator: feedGenerator,\n\t};\n\t$(window).on('load', function() {\n\t\t// Template loading ui conflict\n\t\tif ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n\t\t\t$('#wpbody-content').addClass('woofeed-body-content');\n\t\t}\n\n\t\t// on edit page show item wrapper dropdown\n\t\tlet current_page_url_query = window.location.search;\n\t\tlet urlParams = new URLSearchParams(current_page_url_query);\n\t\tlet page_action = urlParams.get('action');\n\n\t\t// ClipBoardJS\n\t\tclip();\n\t\t// postbox toggle\n\t\tpostboxes.add_postbox_toggles(pagenow);\n\t\t// initialize generator\n\t\tlet generator = new feedGenerator();\n\t\tgenerator.init();\n\t\t// noinspection JSUnresolvedVariable\n\t\tif( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\t\t\n\t\t}\n\t\t// initialize editor\n\t\tfeedEditor.init();\n\t\thelper.common(); // Generate Feed Add Table Row\n\t\ttooltip();\n\t\t// validate feed editor\n\t\t$(\".generateFeed\").validate();\n\t\t// document events\n\t\t$(document)\n\t\t\t.on('click', '[data-toggle_slide]', function(e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$($(this).data('toggle_slide')).slideToggle('fast');\n\t\t\t})\n\t\t\t// XML Feed Wrapper\n\t\t\t.on('click', '#wf_newRow', function () {\n\t\t\t\tlet tbody = $('#table-1 tbody'),\n\t\t\t\t\ttemplate = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n\t\t\t\ttbody.append(template);\n\t\t\t\thelper.fancySelect($('.outputType'));\n\t\t\t})\n\t\t\t// feed delete alert.\n\t\t\t.on('click', '.single-feed-delete', function (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (confirm(opts.form.del_confirm)) {\n\t\t\t\t\twindow.location.href = $(this).attr('val');\n\t\t\t\t}\n\t\t\t})\n\t\t\t// clear cache data.\n\t\t\t.on('click', '.wf_clean_cache_wrapper', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tvar nonce = $('.woo-feed-clean-cache-nonce').val();\n\t\t\t\tvar loader = $('.woo-feed-cache-loader');\n\n\t\t\t\t//show loader\n\t\t\t\tloader.show();\n\n\t\t\t\t// passed cache nonce\n\t\t\t\twpAjax.post('clear_cache_data', {\n\t\t\t\t\t_ajax_clean_nonce: nonce\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tloader.hide(); //hide loader\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t}\n\t\t\t\t}).fail(function (e) {\n\t\t\t\t\tconsole.log('something wrong');\n\t\t\t\t});\n\n\t\t\t})// Copy Status\n\t\t\t.on('click', '#woo-feed-copy-status-btn', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlet button = $('#woo-feed-copy-status-btn');\n\t\t\t\tlet status_area = $('#woo-feed-status-area');\n\t\t\t\tbutton.val('Copied');\n\t\t\t\tstatus_area.css('visibility','visible');\n\t\t\t\tstatus_area.select();\n\n\t\t\t\tdocument.execCommand('copy');\n\t\t\t})\n\t\t\t// feed value dropdown change.\n\t\t\t.on('change', '.wf_attr.wf_attributes', function(event) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t$('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n\t\t\t\t// price attributes\n\t\t\t\tvar price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n\t\t\t\t// current value\n\t\t\t\tvar current_attribute_value = $(this).val();\n\t\t\t\tvar outputSelect = $(this).parents('tr').find('.outputType');\n\t\t\t\tvar fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n\t\t\t\tvar fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n\t\t\t\tvar selectIf, selectKey;\n\n\t\t\t\t// when any attribute is selected, pick the key\n\t\t\t\tif( price_attributes.includes(current_attribute_value) ) {\n\t\t\t\t\t// when select any price attribute\n\t\t\t\t\tselectIf = 'for_price';\n\t\t\t\t\tselectKey = \"Price\";\n\t\t\t\t} else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n\t\t\t\t\t// when select any custom taxonomy\n\t\t\t\t\tselectIf = 'for_custom_taxo';\n\t\t\t\t\tselectKey = \"parent_if_empty\";\n\t\t\t\t} else {\n\n\t\t\t\t\tselectIf = 'for_all';\n\t\t\t\t\tselectKey = 'Default';\n\t\t\t\t}\n\n\t\t\t\t// remove selected class from old selected option\n\t\t\t\tfancyOption.removeClass('selected');\n\n\t\t\t\t// when value dropdown is selected as price or any custom taxonomy\n\t\t\t\tif( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n\t\t\t\t\t// update \"Option Type\" when select key matches\n\t\t\t\t\tfancyOption.each(function(item) {\n\t\t\t\t\t\tif( selectKey === $(this).text() ) {\n\t\t\t\t\t\t\t$(this).addClass('selected');\n\t\t\t\t\t\t\tfancyDataPicker.text(selectKey);\n\t\t\t\t\t\t\toutputSelect.find(\"option\").text(selectKey);\n\t\t\t\t\t\t\toutputSelect.find(\"option\").val( $(this).data('value') );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\n\t\t\t\t\t// update \"Option Type\" when select key matches\n\t\t\t\t\t// fancyOption.each(function(item) {\n\t\t\t\t\t// \tif( \"parent_if_empty\" !== $(this).text() && \"for_all\" === selectIf ) {\n\t\t\t\t\t// \t\t$(this).addClass('selected');\n\t\t\t\t\t// \t\tfancyDataPicker.text(selectKey);\n\t\t\t\t\t// \t\toutputSelect.find(\"option\").text(selectKey);\n\t\t\t\t\t// \t\toutputSelect.find(\"option\").val( $(this).data('value') );\n\t\t\t\t\t// \t}\n\t\t\t\t\t// });\n\t\t\t\t}\n\n\t\t\t})\n\t\t\t// bulk delete alert.\n\t\t\t.on('click', '#doaction, #doaction2', function () {\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\treturn confirm(opts.form.del_confirm_multi);\n\t\t\t})\n\t\t\t// Generate Feed Table Row Delete\n\t\t\t.on('change', '.dType', function () {\n\t\t\t\tlet self = $(this),\n\t\t\t\t\ttype = self.val(),\n\t\t\t\t\trow = self.closest('tr');\n\t\t\t\t\n\t\t\t\tif (type === 'pattern') {\n\t\t\t\t\trow.find('.value_attribute').hide();\n\t\t\t\t\trow.find('.value_pattern').show();\n\t\t\t\t} else if (type === 'attribute') {\n\t\t\t\t\trow.find('.value_attribute').show();\n\t\t\t\t\trow.find('.value_pattern').hide();\n\t\t\t\t} else if (type === 'remove') {\n\t\t\t\t\trow.find('.value_attribute').hide();\n\t\t\t\t\trow.find('.value_pattern').hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Generate Feed Form Submit\n\t\t\t.on('click', '.delRow', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$(this).closest('tr').remove();\n\t\t\t\thelper.reindex_config_table();\n\t\t\t})\n\t\t\t.on('submit', '#generateFeed', function () {\n\t\t\t\t// Feed Generating form validation\n\t\t\t\t$(this).validate();\n\t\t\t\t\n\t\t\t\tif ($(this).valid()) {\n\t\t\t\t\t$(\".makeFeedResponse\")\n\t\t\t\t\t\t.show()\n\t\t\t\t\t\t.html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Generate Update Feed Form Submit\n\t\t\t.on('submit', '#updatefeed', function (e, data) {\n\t\t\t\t// Feed Generating form validation\n\t\t\t\t$(this).validate();\n\t\t\t\t\n\t\t\t\tif ($(this).valid()) {\n\t\t\t\t\t$(\".makeFeedResponse\")\n\t\t\t\t\t\t.show()\n\t\t\t\t\t\t.html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${data && data.save ? opts.form.save : opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on( 'ready woo_feed_config_loaded', function(){\n\t\t\t\tconsole.log(\"Ready Provided\");\n\t\t\t\tif( $('#ftpenabled').val() == 0 ){\n\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n\t\t\t\t} else {\n\t\t\t\t\tif( $('#provider').val() == 'google' ) {\n\t\t\t\t\t\t$('.google-merchant-message').show('slow');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t}\n\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\t\t\t\t}\n\n\t\t\t\t$('#ftpenabled').on('change', function(){\n\t\t\t\t\tif( $('#ftpenabled').val() == 0 ){\n\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n\t\t\t\t\t\t// Google merchant specific message\n\t\t\t\t\t\tif( $('#provider').val() == 'google' ){\n\t\t\t\t\t\t\t$('.google-merchant-message').show('slow');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('change', '.ftporsftp', function () {\n\t\t\t\tlet server = $(this).val(),\n\t\t\t\t\tstatus = $('.ssh2_status');\n\t\t\t\t\n\t\t\t\tif (server === 'sftp') {\n\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\tstatus.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n\t\t\t\t\twpAjax.post('get_ssh2_status', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tserver: server\n\t\t\t\t\t}).then(function (response) {\n\t\t\t\t\t\tif (response === 'exists') {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\tstatus.css('color', '#2CC185').text(opts.form.sftp_available);\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tstatus.hide();\n\t\t\t\t\t\t\t}, 1500);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\tstatus.show().css('color', 'red').text(opts.form.sftp_warning);\n\t\t\t\t\t\t}\n\t\t\t\t\t}).fail(function (e) {\n\t\t\t\t\t\tstatus.hide();\n\t\t\t\t\t\thelper.ajax_fail(e);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tstatus.hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('click', '[name=\"save_feed_config\"]', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$('#updatefeed').trigger('submit', {\n\t\t\t\t\tsave: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('change', '#provider', function (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t//if (!$(this).closest('.generateFeed').hasClass('add-new')) return; // only for new feed.\n\n\t\t\t\tlet merchant = $(this).val(),\n\t\t\t\t\ttemplateName = $(this).find(':selected').text(),\n\t\t\t\t\tname = $('#filename').val(),\n\t\t\t\t\tfeedType = $(\"#feedType\"),\n\t\t\t\t\tfeedForm = $(\"#providerPage\"),\n\t\t\t\t\tmerchantInfo = $('#feed_merchant_info'); // set loading..\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tfeedForm.html('<h3><span style=\"float:none;margin: -3px 0 0;\" class=\"spinner is-active\"></span> ' + opts.form.loading_tmpl + '</h3>'); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t\n\t\t\t\tmerchantInfo.find('.spinner').addClass('is-active');\n\t\t\t\tfeedType.disabled(!0); // disable dropdown\n\t\t\t\t\n\t\t\t\tfeedType.parent().find('.spinner').addClass('is-active');\n\t\t\t\tmerchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n\t\t\t\t// Get Merchant info for selected Provider/Merchant\n\t\t\t\t\n\t\t\t\tif (merchantInfoCache.hasOwnProperty(merchant)) {\n\t\t\t\t\tfeedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t * */\n\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t} else {\n\t\t\t\t\twpAjax.send('woo_feed_get_merchant_info', {\n\t\t\t\t\t\ttype: 'GET',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnonce: opts.nonce,\n\t\t\t\t\t\t\tprovider: merchant,\n\t\t\t\t\t\t\ttemplateName: templateName\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\tmerchantInfoCache[merchant] = r;\n\t\t\t\t\t\tfeedEditor.renderMerchantInfo(merchantInfo, feedType, r)\n\t\t\t\t\t\t// console.log('filter load')\n\t\t\t\t\t\t// $('#utm_source').val(templateName)\n\t\t\t\t\t}).then(function(){\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t\t * */\n\t\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t} // Get FeedForm For Selected Provider/Merchant\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif (merchantTemplateCache.hasOwnProperty(merchant)) {\n\t\t\t\t\tfeedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t * */\n\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t} else {\n\t\t\t\t\twpAjax.post('get_feed_merchant', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tmerchant: merchant\n\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\tmerchantTemplateCache[merchant] = r;\n\t\t\t\t\t\tfeedEditor.renderMerchantTemplate(feedForm, r);\n\t\t\t\t\t\t$('#utm_source').val(templateName);\n\t\t\t\t\t\t$('#utm_campaign').val(name);\n\t\t\t\t\t\t//when merchant is bing, change delimiter and enclosure\n\t\t\t\t\t\tif( 'bing' === merchant ) {\n\t\t\t\t\t\t\t//delimiter value\n\t\t\t\t\t\t\t$(\"#delimiter option\").removeAttr('selected');\n\t\t\t\t\t\t\t$(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n\t\t\t\t\t\t\t//enclosure value\n\t\t\t\t\t\t\t$(\"#enclosure option\").removeAttr('selected');\n\t\t\t\t\t\t\t$(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//reviewer options hide\n\t\t\t\t\t\tif( 'google_product_review' !== merchant) {\n\t\t\t\t\t\t\t$('.wf_attributes option[value=\"reviewer_name\"]').hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(function(){\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t* Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t\t* */\n\t\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Feed Active and Inactive status change via ajax\n\t\t\t.on('change', '.woo_feed_status_input', function () {\n\t\t\t\tlet self = $(this);\n\t\t\t\twpAjax.post('update_feed_status', {\n\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\tfeedName: self.val(),\n\t\t\t\t\tstatus: self[0].checked ? 1 : 0\n\t\t\t\t});\n\t\t\t});\n\t\t// event with trigger\n\t\t$(document)\n\t\t\t.on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n\t\t\t\tlet outOfStockVisibilityRow = $('.out-of-stock-visibility');\n\t\t\t\tif ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n\t\t\t\t\toutOfStockVisibilityRow.show();\n\t\t\t\t} else {\n\t\t\t\t\toutOfStockVisibilityRow.hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '.attr_type', function () {\n\t\t\t\t// Attribute type selection\n\t\t\t\tlet self = $(this),\n\t\t\t\t\ttype = self.val(),\n\t\t\t\t\trow = self.closest('tr');\n\t\t\t\t\n\t\t\t\tif (type === 'pattern') {\n\t\t\t\t\trow.find('.wf_attr').hide();\n\t\t\t\t\trow.find('.wf_attr').val('');\n\t\t\t\t\trow.find('.wf_default').show();\n\t\t\t\t} else {\n\t\t\t\t\trow.find('.wf_attr').show();\n\t\t\t\t\trow.find('.wf_default').hide();\n\t\t\t\t\trow.find('.wf_default').val('');\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '.wf_mattributes, .attr_type', function () {\n\t\t\t\tlet row = $(this).closest('tr'),\n\t\t\t\t\tattribute = row.find('.wf_mattributes'),\n\t\t\t\t\ttype = row.find('.attr_type'),\n\t\t\t\t\tvalueColumn = row.find('td:eq(4)'),\n\t\t\t\t\tprovider = $('#provider').val();\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n\t\t\t\t\tif (valueColumn.find('select.selectize').length === 0) {\n\t\t\t\t\t\tvalueColumn.find('input.wf_default').remove();\n\t\t\t\t\t\tvalueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\tvalueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (!googleCategories) {\n\t\t\t\t\t\t\tvalueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet select = valueColumn.find('.wf_attributes select');\n\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\thelper.selectize(select, {\n\t\t\t\t\t\t\tpreload: true,\n\t\t\t\t\t\t\tplaceholder: opts.form.select_category,\n\t\t\t\t\t\t\tload: function load(query, cb) {\n\t\t\t\t\t\t\t\tif (!googleCategories) {\n\t\t\t\t\t\t\t\t\twpAjax.send('get_google_categories', {\n\t\t\t\t\t\t\t\t\t\ttype: 'GET',\n\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\t\t\t\t\t\taction: \"get_google_categories\",\n\t\t\t\t\t\t\t\t\t\t\tprovider: provider\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\t\t\t\t\tgoogleCategories = r;\n\t\t\t\t\t\t\t\t\t\tcb(googleCategories);\n\t\t\t\t\t\t\t\t\t\tvalueColumn.find('.spinner').remove();\n\t\t\t\t\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcb(googleCategories);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n\t\t\t\t\t\tvalueColumn.find('span').remove();\n\t\t\t\t\t\tvalueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (type.val() !== 'pattern') {\n\t\t\t\t\t\t\tvalueColumn.find('input.wf_default').hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '#feedType,#provider', function (e) {\n\t\t\t\tlet type = $('#feedType').val(),\n\t\t\t\t\tprovider = $('#provider').val(),\n\t\t\t\t\titemWrapper = $('.itemWrapper'),\n\t\t\t\t\twf_csv_txt = $('.wf_csvtxt');\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n\t\t\t\t\titemWrapper.hide();\n\t\t\t\t}\n\n\t\t\t\t//when feed type is changed\n\t\t\t\tif( 'feedType' === e.target.id ) {\n\t\t\t\t\tif (type === 'csv' || type === 'txt' || type === 'tsv') {\n\t\t\t\t\t\titemWrapper.hide();\n\t\t\t\t\t\twf_csv_txt.show();\n\n\t\t\t\t\t\tif( 'tsv' === type ) {\n\t\t\t\t\t\t\t$('#delimiter option:last').prop(\"selected\", \"selected\");\n\t\t\t\t\t\t} else if( 'csv' === type ) {\n\t\t\t\t\t\t\t$('#delimiter option:first').prop(\"selected\", \"selected\");\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if( type === 'xml' ) {\n\t\t\t\t\t\titemWrapper.show();\n\t\t\t\t\t\twf_csv_txt.hide();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t})\n\t\t\t.trigger('change');\n\n\n\t\t// product Attribute class\n\t\tclass WooFeedCustomFields {\n\n\t\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t\t}\n\n\t\t\tcacheClear() {\n\t\t\t\tlet data = {\n\t\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\t};\n\t\t\t\t$.ajax({\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\t\tdata\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\t\tlet data = {\n\t\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\t\tfield,\n\t\t\t\t\tstatus,\n\t\t\t\t\tisTaxonomy\n\t\t\t\t};\n\t\t\t\t$.ajax({\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\t\tdata,\n\t\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t$(document).on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\t\t});\n\n\t\t// Remove sticky cart on feature page\n\t\t$(document).ready(function() {\n\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\tvar pos = s.position();\n\t\t\t$(window).scroll(function() {\n\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t} else {\n\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\t$(document).on('click', '#woo-feed-debug-log-download', function (e) {\n\t\te.preventDefault();\n\t\t$(\"<a />\", {\n\t\t\tdownload: new Date() + \".log\",\n\t\t\thref: URL.createObjectURL(\n\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t})),\n\t\t}).appendTo(\"body\")[0].click();\n\t});\n\n\t$(document).on('keyup', '#filename', function(e) {\n\t\tvar name = $('#filename').val();\n\t\t$('#utm_campaign').val(name);\n\t});\n\n})(jQuery, window, document, wp.ajax, wpf_ajax_obj);\n"]}
|
1 |
+
{"version":3,"sources":["woo-feed-admin.js"],"names":["_defineProperties","target","props","descriptor","i","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","self","prop","showTooltip","$","hasClass","currentTarget","clearTooltip","removeClass","actionMsg","className","match","index","action","removeAttr","actionKey","elem","addClass","attr","msg","extend","_default","_args","clip","$copyBtn","top","this","on","event","test","navigator","console","googleCategories","in_array","needle","haystack","sortable","escape","data","value","text","ajax_fail","column_count","find","warn","wf_sortable","selectize_render_item","e","hasOwnProperty","opts","ajax","error","statusText","status","el","config","column","_onDrop","each","length","selectize","itemPath","create","concat","plugins","$item","container","containerSelector","group","options","bodyClass","itemSelector","handle","onDrop","fancySelect","maxItemShow","split","map","s","trim","helper","render","item","replace","x","form","merchantInfo","document","trigger","jQuery","k","init","renderMerchantInfo","opt","feedType","r","types","html","t","toLowerCase","na","disabled","val","renderMerchantTemplate","_loop","contentSettings","feedForm","feedEditor","merchantInfoCache","css","clipboard","_regenerate","isRegenerating","_feed","_current_btn","feed","_limit","generator","limit","_progress","_product_ids","_progress_per_batch","_refresh","_all_btn","generate","feedGenerator","condition","_current_btn_label","then","URLSearchParams","response","_color","preventDefault","parent","hide","_ajax_nonce","_log","_updateProgressStatus","message","key","_block_button","_this","product","setTimeout","_stopProgressBar","_process_batch","_current_batch","_total_batch","post","loop","_resetProgressBar","_unblock_button","refreshInterval","arguments","undefined","_timer","clearInterval","update","table","show","width","bar","wf","current_page_url_query","postboxes","regenerate","_updateProgressBar","pagenow","template","common","hover","title","appendTo","userAgent","remove","ClipboardJS","pageX","location","slideToggle","loader","tbody","reload","nonce","button","status_area","select","execCommand","fail","current_attribute_value","fancyOption","fancyDataPicker","selectIf","price_attributes","selectKey","outputSelect","parents","includes","confirm","del_confirm_multi","closest","reindex_config_table","type","_ajax_clean_nonce","row","valid","validate","save","log","server","sftp_available","templateName","name","merchant","loading_tmpl","provider","merchantTemplateCache","outOfStockVisibilityRow","feedName","checked","valueColumn","append","load","google_category","attribute","learn_more","preload","cb","query","itemWrapper","wf_csv_txt","item_wrapper_hidden","WooFeedCustomFields","productCustomFields","placeholder","url","field","isTaxonomy","success","_this2","wpf_ajax_obj","wpf_ajax_url","download","URL","position","scroll","scrollTop","googleMap","Date","method","click","providerName","wp"],"mappings":"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","file":"woo-feed-admin.min.js","sourcesContent":["// noinspection JSUnresolvedletiable\n/**!\n * WooFeed Scripts\n * @version 3.3.6\n * @package WooFeed\n * @copyright 2020 WebAppick\n *\n */\n/* global ajaxurl, wpAjax, postboxes, pagenow, alert, deleteUserSetting, typenow, adminpage, thousandsSeparator, decimalPoint, isRtl */\n// noinspection JSUnresolvedVariable\n(function($, window, document, wpAjax, opts) {\n\t\"use strict\";\n\t/**\n\t * All of the code for your admin-facing JavaScript source\n\t * should reside in this file.\n\t *\n\t * Note: It has been assumed you will write jQuery code here, so the\n\t * $ function reference has been prepared for usage within the scope\n\t * of this function.\n\t *\n\t * This enables you to define handlers, for when the DOM is ready:\n\t */\n\n\t/**\n\t * disable element utility\n\t *\n\t * @since 3.1.9\n\t *\n\t * @param {*} status\n\t * @returns {jQuery|HTMLElement}\n\t */\n\t$.fn.disabled = function(status) {\n\t\t$(this).each(function() {\n\t\t\tlet self = $(this),\n\t\t\t\tprop = 'disabled';\n\n\t\t\tif (typeof self.prop(prop) !== 'undefined') {\n\t\t\t\tself.prop(prop, status === void 0 || status === true);\n\t\t\t} else {\n\t\t\t\t!0 === status ? self.addClass(prop) : self.removeClass(prop);\n\t\t\t}\n\t\t});\n\t\treturn self; // method chaining\n\t};\n\t\n\t/**\n\t * Check if a HTMLElement or jQuery is disabled\n\t */\n\t$.fn.isDisabled = function() {\n\t\tlet self = $(this),\n\t\t\tprop = 'disabled';\n\t\treturn typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n\t};\n\t\n\t/**\n\t * Clear Tooltip for clip board js\n\t * @param {Object} event\n\t */\n\tconst clearTooltip = (event) => {\n\t\t$(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n\t};\n\n\tconst showTooltip = (elem, msg) => {\n\t\t$(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n\t};\n\n\tconst fallbackMessage = (action) =>{\n\t\tlet actionMsg,\n\t\t\tactionKey = action === 'cut' ? 'X' : 'C';\n\n\t\tif (/iPhone|iPad/i.test(navigator.userAgent)) {\n\t\t\tactionMsg = 'No support :(';\n\t\t} else if (/Mac/i.test(navigator.userAgent)) {\n\t\t\tactionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n\t\t} else {\n\t\t\tactionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n\t\t}\n\n\t\treturn actionMsg;\n\t};\n\t\n\t/**\n\t * Alias of jQuery.extend()\n\t * @param {Object} _default\n\t * @param {Object} _args\n\t */\n\tconst extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\t\n\tlet $copyBtn,\n\t\tclipboard,\n\t\tgoogleCategories,\n\t\thelper = {\n\t\t\tin_array: (needle, haystack) => {\n\t\t\t\ttry {\n\t\t\t\t\treturn haystack.indexOf(needle) !== -1;\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tselectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' ' + data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n\t\t\tajax_fail: e => {\n\t\t\t\tconsole.warn(e);\n\t\t\t\talert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n\t\t\t},\n\t\t\t/**\n\t\t\t * Initialize Sortable\n\t\t\t * @param {jQuery|HTMLElement} el\n\t\t\t * @param {object} config\n\t\t\t * @param {int|boolean} column\n\t\t\t * @param {function} onDrop\n\t\t\t * @return {jQuery|HTMLElement}\n\t\t\t */\n\t\t\tsortable: (el, config, column, onDrop) => {\n\t\t\t\treturn (el || $('.sorted_table')).each(function() {\n\t\t\t\t\tlet self = $(this),\n\t\t\t\t\t\tcolumn_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n\t\t\t\t\tself.wf_sortable(extend({\n\t\t\t\t\t\tcontainerSelector: 'table',\n\t\t\t\t\t\titemPath: '> tbody',\n\t\t\t\t\t\titemSelector: 'tr',\n\t\t\t\t\t\thandle: 'i.wf_sortedtable',\n\t\t\t\t\t\tplaceholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n\t\t\t\t\t\tonDrop: ($item, container, _super, event) => {\n\t\t\t\t\t\t\t$item.removeClass(container.group.options.draggedClass).removeAttr('style');\n\t\t\t\t\t\t\t$(\"body\").removeClass(container.group.options.bodyClass);\n\t\t\t\t\t\t\tif ( onDrop && 'function' === typeof( onDrop ) ) {\n\t\t\t\t\t\t\t\tonDrop( $item, container, _super, event );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\tselectize: (el, config) => {\n\t\t\t\treturn (el || $('select.selectize')).not('.selectized').each(function() {\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.selectize(extend({\n\t\t\t\t\t\tcreate: self.data('create') || false,\n\t\t\t\t\t\tplugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n\t\t\t\t\t\t\treturn s.trim();\n\t\t\t\t\t\t}) : [],\n\t\t\t\t\t\t//['remove_button'],\n\t\t\t\t\t\trender: {\n\t\t\t\t\t\t\titem: helper.selectize_render_item\n\t\t\t\t\t\t}\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\tfancySelect: (el, config) => {\n\t\t\t\treturn (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.fancySelect(extend({\n\t\t\t\t\t\tmaxItemShow: 3\n\t\t\t\t\t}, config));\n\t\t\t\t});\n\t\t\t},\n\t\t\treindex_config_table: () => {\n\t\t\t\t$('#table-1').find('tbody tr').each( ( x, el ) => {\n\t\t\t\t\t$(el).find('[name]').each( ( x1, el ) => {\n\t\t\t\t\t\t$(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t},\n\t\t\tcommon: () => {\n\t\t\t\thelper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n\t\t\t\thelper.selectize();\n\t\t\t\thelper.fancySelect($('.outputType'));\n\t\t\t}\n\t\t},\n\t\t// helper functions\n\t\tfeedEditor = {\n\t\t\t/**\n\t\t\t * The Editor Form Elem.\n\t\t\t * @type {jQuery|HTMLElement}\n\t\t\t */\n\t\t\tform: null,\n\n\t\t\t/**\n\t\t\t * Initialize The Feed Editor {Tabs...}\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tinit: function () {\n\t\t\t\tlet self = this;\n\t\t\t\tself.form = $('.generateFeed');\n\t\t\t\tif (!self.form.length) return;\n\t\t\t\thelper.common();\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t$(document).trigger(new jQuery.Event('feedEditor.init', {\n\t\t\t\t\ttarget: this.form\n\t\t\t\t}));\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Render Merchant info ajax response and handle allowed feed type for selected merchant\n\t\t\t * @param {jQuery|HTMLElement} merchantInfo jQuery dom object\n\t\t\t * @param {jQuery|HTMLElement} feedType jQuery dom object\n\t\t\t * @param {Object} r ajax response object\n\t\t\t */\n\t\t\trenderMerchantInfo: function (merchantInfo, feedType, r) {\n\t\t\t\tfor (let k in r) {\n\t\t\t\t\tif (r.hasOwnProperty(k)) {\n\t\t\t\t\t\tmerchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n\t\t\t\t\t\tif ('feed_file_type' === k) {\n\t\t\t\t\t\t\t(function() {\n\t\t\t\t\t\t\t\tlet types = r[k].split(\",\").map(function(t) {\n\t\t\t\t\t\t\t\t\treturn t.trim().toLowerCase();\n\t\t\t\t\t\t\t\t}).filter(function(t) {\n\t\t\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\t\t\treturn t !== '' && t !== opts.na.toLowerCase();\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (types.length) {\n\t\t\t\t\t\t\t\t\tfeedType.find('option').removeAttr('selected').each(function() {\n\t\t\t\t\t\t\t\t\t\tlet opt = $(this);\n\t\t\t\t\t\t\t\t\t\topt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n\t\t\t\t\t\t\t\t} else feedType.find('option').disabled(!1);\n\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmerchantInfo.find('.spinner').removeClass('is-active');\n\t\t\t\tfeedType.disabled(!1);\n\t\t\t\tfeedType.trigger('change');\n\n\t\t\t\t/**\n\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t * */\n\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\tfeedType.parent().find('.spinner').removeClass('is-active');\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Render Feed Template Tabs and settings while creating new feed.\n\t\t\t * @param {jQuery|HTMLElement} feedForm feed from query dom object\n\t\t\t * @param {object} r merchant template ajax response object\n\t\t\t */\n\t\t\trenderMerchantTemplate: function (feedForm, r) {\n\t\t\t\tlet _loop = function _loop(k) {\n\t\t\t\t\tif (r.hasOwnProperty(k)) {\n\t\t\t\t\t\tif ('tabs' === k) {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedFunction\n\t\t\t\t\t\t\tfeedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet contentSettings = $('[name=\"' + k + '\"]');\n\n\t\t\t\t\t\t\tif (contentSettings.length) {\n\t\t\t\t\t\t\t\tcontentSettings.each(function() {\n\t\t\t\t\t\t\t\t\tlet elem = $(this);\n\n\t\t\t\t\t\t\t\t\tif (elem.is('select')) {\n\t\t\t\t\t\t\t\t\t\telem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n\t\t\t\t\t\t\t\t\t} else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n\t\t\t\t\t\t\t\t\t\telem.prop('checked', true);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\telem.val(r[k]); // type=text\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}).trigger('change');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tfor (let k in r) {\n\t\t\t\t\t_loop(k);\n\t\t\t\t}\n\n\t\t\t\tfeedEditor.init();\n\t\t\t}\n\t\t},\n\t\t// Feed Editor Table\n\t\tmerchantInfoCache = [],\n\t\tmerchantTemplateCache = [],\n\t\ttooltip = () => {\n\t\t\t// Tooltip only Text\n\t\t\t$('.wfmasterTooltip')\n\t\t\t\t.hover(function () {\n\t\t\t\t\t// Hover over code\n\t\t\t\t\tlet self = $(this), title = self.attr('wftitle');\n\t\t\t\t\tself.data('tipText', title).removeAttr('wftitle');\n\t\t\t\t\t$('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n\t\t\t\t}, function () {\n\t\t\t\t\t// Hover out code\n\t\t\t\t\tlet self = $(this);\n\t\t\t\t\tself.attr('wftitle', self.data('tipText'));\n\t\t\t\t\t$('.wftooltip').remove();\n\t\t\t\t})\n\t\t\t\t.mousemove(function (e) {\n\t\t\t\t\t$('.wftooltip').css({\n\t\t\t\t\t\ttop: e.pageY + 10,\n\t\t\t\t\t\tleft: e.pageX + 20\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t\tclip = () => {\n\t\t\t$copyBtn = $('.toClipboard');\n\t\t\tif (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n\t\t\t\t$copyBtn.find('img').hide(0);\n\t\t\t} else {\n\t\t\t\t$copyBtn.each(function() {\n\t\t\t\t\t$(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n\t\t\t\t});\n\t\t\t\tclipboard = new ClipboardJS('.toClipboard');\n\t\t\t\tclipboard.on('error', function(event) {\n\t\t\t\t\tshowTooltip(event.trigger, fallbackMessage(event.action));\n\t\t\t\t}).on('success', function(event) {\n\t\t\t\t\tshowTooltip(event.trigger, 'Copied');\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\n\t/**\n\t * Feed Generator Module\n\t */\n\tclass feedGenerator {\n\t\t\n\t\t/**\n\t\t * Constructor\n\t\t * @constructor\n\t\t */\n\t\tconstructor() {\n\t\t\tthis._feed = opts.generator.feed; // wf_config+xxxx\n\t\t\tthis._limit = opts.generator.limit;\n\t\t\tthis._progress = 0;\n\t\t\tthis._timer = null;\n\t\t\tthis._color = false;\n\t\t\t// batch info\n\t\t\tthis._total_batch = 0;\n\t\t\tthis._current_batch = 0;\n\t\t\tthis._product_ids = [];\n\t\t\tthis._progress_per_batch = 0;\n\t\t\tthis._refresh = true;\n\t\t\t// noinspection JSUnresolvedVariable\n\t\t\tthis._regenerate = opts.generator.regenerate;\n\t\t\twindow.isRegenerating = false;\n\t\t\tthis._all_btn = $('.wpf_regenerate');\n\t\t\tthis._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n\t\t\tthis._current_btn_label = '';\n\t\t}\n\t\t\n\t\t/**\n\t\t * Init Hooks (Event)\n\t\t * @return {feedGenerator}\n\t\t */\n\t\tinit() {\n\t\t\tlet self = this;\n\t\t\tif ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n\t\t\t\tthis.generate();\n\t\t\t}\n\n\t\t\t//thickbox body add feed plugin class to make it unique and custom style\n\t\t\tlet current_page_query = window.location.search;\n\t\t\tlet params = new URLSearchParams(current_page_query);\n\t\t\tlet page_name = params.get(\"page\");\n\t\t\tif( \"webappick-manage-feeds\" === page_name ) {\n\t\t\t\t$('body').addClass('woo-import-popup-body');\n\t\t\t}\n\n\t\t\t$(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t$(this).parent('.woo-feed-promotion').hide();\n\t\t\t\tlet condition = $(this).data('condition');\n\t\t\t\tif(1 === condition) {\n\t\t\t\t\twpAjax.post( 'woo_feed_hide_promotion', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tcondition: condition,\n\t\t\t\t\t} ).then( response => {\n\t\t\t\t\t\tself._log( response );\n\t\t\t\t\t} ).fail( error => {\n\t\t\t\t\t\tself._log( error );\n\t\t\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\t\t\tself._color = 'red';\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t});\n\t\t\t$(document).on('click', '.wpf_regenerate', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tself._current_btn = $( this );\n\t\t\t\tif( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n\t\t\t\tself._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n\t\t\t\tif( '' !== self._feed ) {\n\t\t\t\t\tself.generate();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t_block_button() {\n\t\t\tif ( this._all_btn.length ) {\n\t\t\t\tthis._all_btn.addClass('disabled');\n\t\t\t}\n\t\t\tif ( this._current_btn.length ) {\n\t\t\t\tthis._current_btn.find('span').addClass('wpf_spin reverse_spin');\n\t\t\t\tthis._current_btn_label = this._current_btn.attr('title');\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tthis._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n\t\t\t}\n\t\t}\n\t\t\n\t\t_unblock_button() {\n\t\t\tif ( this._all_btn.length ) {\n\t\t\t\tthis._all_btn.removeClass('disabled');\n\t\t\t}\n\t\t\tif ( this._current_btn.length ) {\n\t\t\t\tthis._current_btn.find('span').removeClass('wpf_spin');\n\t\t\t\tthis._current_btn.find('span').removeClass('reverse_spin');\n\t\t\t\tthis._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Generate Feed\n\t\t * @return void\n\t\t */\n\t\tgenerate() {\n\t\t\tlet self = this;\n\t\t\twindow.isRegenerating = true;\n\t\t\tthis._block_button();\n\t\t\tthis._resetProgressBar();\n\t\t\tthis._progressBarActive();\n\t\t\tthis._log( 'Counting Total Products' );\n\t\t\tthis._updateProgressStatus( 'Fetching products.' );\n\t\t\tthis._get_product_ids().then( response => {\n\t\t\t\tthis._progress = 10;\n\t\t\t\tself._log( {response} );\n\t\t\t\tif(response.success) {\n\t\t\t\t\tself._log( `Total ${response.total} Products found.` );\n\t\t\t\t\tself._product_ids = response.product;\n\t\t\t\t\tself._total_batch = this._product_ids.length;\n\t\t\t\t\tself._current_batch = 0;\n\t\t\t\t\tself._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n\t\t\t\t\tself._process_batch();\n\t\t\t\t\tself._updateProgressStatus( 'Processing Products...' );\n\t\t\t\t} else {\n\t\t\t\t\tself._updateProgressStatus( response.data.message );\n\t\t\t\t}\n\t\t\t}).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Get Product Ids\n\t\t * @returns {$.promise}\n\t\t * @private\n\t\t */\n\t\t_get_product_ids() {\n\t\t\tthis._progress = 5;\n\t\t\treturn wpAjax.post( 'get_product_information', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t\tlimit: this._limit,\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Run the Batch\n\t\t * @private\n\t\t */\n\t\t_process_batch() {\n\t\t\tlet self = this;\n\t\t\tlet status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n\t\t\tthis._updateProgressStatus( status );\n\t\t\tthis._log( status );\n\t\t\twpAjax.post( 'make_batch_feed', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t\tproducts: this._product_ids[this._current_batch],\n\t\t\t\tloop: this._current_batch,\n\t\t\t} ).then( response => {\n\t\t\t\tself._current_batch++;\n\t\t\t\tself._log( `Batch ${self._current_batch} Completed` );\n\t\t\t\tself._log( response );\n\t\t\t\tif ( self._current_batch < self._total_batch ) {\n\t\t\t\t\tself._process_batch();\n\t\t\t\t\tself._progress += self._progress_per_batch;\n\t\t\t\t}\n\t\t\t\tif ( self._current_batch === self._total_batch ) {\n\t\t\t\t\tself._save_feed_file();\n\t\t\t\t}\n\t\t\t} ).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Save Feed Data from temp to feed file\n\t\t * @private\n\t\t */\n\t\t_save_feed_file() {\n\t\t\tlet self = this;\n\t\t\tthis._log( 'Saving feed file' );\n\t\t\tthis._updateProgressStatus( 'Saving feed file' );\n\t\t\twpAjax.post( 'save_feed_file', {\n\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\tfeed: this._feed,\n\t\t\t} ).then( response => {\n\t\t\t\tself._log( response );\n\t\t\t\tself._progress = 100;\n\t\t\t\tif ( self._refresh ) {\n\t\t\t\t\twindow.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n\t\t\t\t}\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tsetTimeout( function(){\n\t\t\t\t\t\tself._resetProgressBar( true );\n\t\t\t\t\t\tself._unblock_button();\n\t\t\t\t\t}, 3000 );\n\t\t\t\t}, 2500 );\n\t\t\t} ).fail( error => {\n\t\t\t\tself._log( error );\n\t\t\t\tself._updateProgressStatus( error.message );\n\t\t\t\tself._color = 'red';\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\tself._stopProgressBar();\n\t\t\t\t\tself._unblock_button();\n\t\t\t\t}, 1500 );\n\t\t\t} );\n\t\t}\n\t\t\n\t\t/**\n\t\t * Console log wrapper with debug settings.\n\t\t * @param data\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_log( data ) {\n\t\t\t// noinspection JSUnresolvedVariable\n\t\t\tif ( opts.wpf_debug ) {\n\t\t\t\tconsole.log( data );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Run the progressbar refresh interval\n\t\t * @param {int} refreshInterval\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_progressBarActive( refreshInterval = 0 ) {\n\t\t\tlet self = this;\n\t\t\tthis._toggleProgressBar( true );\n\t\t\tthis._timer = setInterval( function(){\n\t\t\t\tself._updateProgressBar();\n\t\t\t}, refreshInterval || 1000 );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Stop Progressbar\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_stopProgressBar() {\n\t\t\tclearInterval( this._timer );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Reset Progressbar\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_resetProgressBar( update ) {\n\t\t\tthis._toggleProgressBar( false );\n\t\t\tthis._updateProgressStatus( '' );\n\t\t\tclearInterval( this._timer );\n\t\t\tthis._color = false;\n\t\t\tthis._timer = null;\n\t\t\tthis._progress = 0;\n\t\t\tif ( update ) {\n\t\t\t\tthis._updateProgressBar();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Show hide the progress bar el\n\t\t * @param status\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_toggleProgressBar( status ) {\n\t\t\tlet table = $('#feed_progress_table');\n\t\t\tif ( status ) {\n\t\t\t\ttable.show();\n\t\t\t} else {\n\t\t\t\ttable.hide();\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update Progress bar text status\n\t\t * @param {string} status\n\t\t * @returns {feedGenerator}\n\t\t * @private\n\t\t */\n\t\t_updateProgressStatus( status ) {\n\t\t\t$( '.feed-progress-status' ).text( status );\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update Progress Data\n\t\t * hooked with setInterval\n\t\t * @private\n\t\t */\n\t\t_updateProgressBar() {\n\t\t\tlet percentage = $( '.feed-progress-percentage' ),\n\t\t\t\tbar = $( '.feed-progress-bar-fill' ),\n\t\t\t\t_progress = `${Math.round( this._progress )}%`;\n\t\t\tbar.css( {\n\t\t\t\twidth: _progress,\n\t\t\t} );\n\t\t\tpercentage.text( _progress );\n\t\t}\n\t}\n\t// expose to the global scope\n\twindow.wf = {\n\t\thelper: helper,\n\t\tfeedEditor: feedEditor,\n\t\tgenerator: feedGenerator,\n\t};\n\t$(window).on('load', function() {\n\t\t// Template loading ui conflict\n\t\tif ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n\t\t\t$('#wpbody-content').addClass('woofeed-body-content');\n\t\t}\n\n\t\t// on edit page show item wrapper dropdown\n\t\tlet current_page_url_query = window.location.search;\n\t\tlet urlParams = new URLSearchParams(current_page_url_query);\n\t\tlet page_action = urlParams.get('action');\n\n\t\t// ClipBoardJS\n\t\tclip();\n\t\t// postbox toggle\n\t\tpostboxes.add_postbox_toggles(pagenow);\n\t\t// initialize generator\n\t\tlet generator = new feedGenerator();\n\t\tgenerator.init();\n\t\t// noinspection JSUnresolvedVariable\n\t\tif( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\t\t\n\t\t}\n\t\t// initialize editor\n\t\tfeedEditor.init();\n\t\thelper.common(); // Generate Feed Add Table Row\n\t\ttooltip();\n\t\t// validate feed editor\n\t\t$(\".generateFeed\").validate();\n\t\t// document events\n\t\t$(document)\n\t\t\t.on('click', '[data-toggle_slide]', function(e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$($(this).data('toggle_slide')).slideToggle('fast');\n\t\t\t})\n\t\t\t// XML Feed Wrapper\n\t\t\t.on('click', '#wf_newRow', function () {\n\t\t\t\tlet tbody = $('#table-1 tbody'),\n\t\t\t\t\ttemplate = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n\t\t\t\ttbody.append(template);\n\t\t\t\thelper.fancySelect($('.outputType'));\n\t\t\t})\n\t\t\t// feed delete alert.\n\t\t\t.on('click', '.single-feed-delete', function (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (confirm(opts.form.del_confirm)) {\n\t\t\t\t\twindow.location.href = $(this).attr('val');\n\t\t\t\t}\n\t\t\t})\n\t\t\t// clear cache data.\n\t\t\t.on('click', '.wf_clean_cache_wrapper', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tvar nonce = $('.woo-feed-clean-cache-nonce').val();\n\t\t\t\tvar loader = $('.woo-feed-cache-loader');\n\n\t\t\t\t//show loader\n\t\t\t\tloader.show();\n\n\t\t\t\t// passed cache nonce\n\t\t\t\twpAjax.post('clear_cache_data', {\n\t\t\t\t\t_ajax_clean_nonce: nonce\n\t\t\t\t}).then(function (response) {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tloader.hide(); //hide loader\n\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t}\n\t\t\t\t}).fail(function (e) {\n\t\t\t\t\tconsole.log('something wrong');\n\t\t\t\t});\n\n\t\t\t})// Copy Status\n\t\t\t.on('click', '#woo-feed-copy-status-btn', function(event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlet button = $('#woo-feed-copy-status-btn');\n\t\t\t\tlet status_area = $('#woo-feed-status-area');\n\t\t\t\tbutton.val('Copied');\n\t\t\t\tstatus_area.css('visibility','visible');\n\t\t\t\tstatus_area.select();\n\n\t\t\t\tdocument.execCommand('copy');\n\t\t\t})\n\t\t\t// feed value dropdown change.\n\t\t\t.on('change', '.wf_attr.wf_attributes', function(event) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t$('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n\t\t\t\t// price attributes\n\t\t\t\tvar price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n\t\t\t\t// current value\n\t\t\t\tvar current_attribute_value = $(this).val();\n\t\t\t\tvar outputSelect = $(this).parents('tr').find('.outputType');\n\t\t\t\tvar fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n\t\t\t\tvar fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n\t\t\t\tvar selectIf, selectKey;\n\n\t\t\t\t// when any attribute is selected, pick the key\n\t\t\t\tif( price_attributes.includes(current_attribute_value) ) {\n\t\t\t\t\t// when select any price attribute\n\t\t\t\t\tselectIf = 'for_price';\n\t\t\t\t\tselectKey = \"Price\";\n\t\t\t\t} else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n\t\t\t\t\t// when select any custom taxonomy\n\t\t\t\t\tselectIf = 'for_custom_taxo';\n\t\t\t\t\tselectKey = \"parent_if_empty\";\n\t\t\t\t} else {\n\n\t\t\t\t\tselectIf = 'for_all';\n\t\t\t\t\tselectKey = 'Default';\n\t\t\t\t}\n\n\t\t\t\t// remove selected class from old selected option\n\t\t\t\tfancyOption.removeClass('selected');\n\n\t\t\t\t// when value dropdown is selected as price or any custom taxonomy\n\t\t\t\tif( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n\t\t\t\t\t// update \"Option Type\" when select key matches\n\t\t\t\t\tfancyOption.each(function(item) {\n\t\t\t\t\t\tif( selectKey === $(this).text() ) {\n\t\t\t\t\t\t\t$(this).addClass('selected');\n\t\t\t\t\t\t\tfancyDataPicker.text(selectKey);\n\t\t\t\t\t\t\toutputSelect.find(\"option\").text(selectKey);\n\t\t\t\t\t\t\toutputSelect.find(\"option\").val( $(this).data('value') );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\n\t\t\t\t\t// update \"Option Type\" when select key matches\n\t\t\t\t\t// fancyOption.each(function(item) {\n\t\t\t\t\t// \tif( \"parent_if_empty\" !== $(this).text() && \"for_all\" === selectIf ) {\n\t\t\t\t\t// \t\t$(this).addClass('selected');\n\t\t\t\t\t// \t\tfancyDataPicker.text(selectKey);\n\t\t\t\t\t// \t\toutputSelect.find(\"option\").text(selectKey);\n\t\t\t\t\t// \t\toutputSelect.find(\"option\").val( $(this).data('value') );\n\t\t\t\t\t// \t}\n\t\t\t\t\t// });\n\t\t\t\t}\n\n\t\t\t})\n\t\t\t// bulk delete alert.\n\t\t\t.on('click', '#doaction, #doaction2', function () {\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\treturn confirm(opts.form.del_confirm_multi);\n\t\t\t})\n\t\t\t// Generate Feed Table Row Delete\n\t\t\t.on('change', '.dType', function () {\n\t\t\t\tlet self = $(this),\n\t\t\t\t\ttype = self.val(),\n\t\t\t\t\trow = self.closest('tr');\n\t\t\t\t\n\t\t\t\tif (type === 'pattern') {\n\t\t\t\t\trow.find('.value_attribute').hide();\n\t\t\t\t\trow.find('.value_pattern').show();\n\t\t\t\t} else if (type === 'attribute') {\n\t\t\t\t\trow.find('.value_attribute').show();\n\t\t\t\t\trow.find('.value_pattern').hide();\n\t\t\t\t} else if (type === 'remove') {\n\t\t\t\t\trow.find('.value_attribute').hide();\n\t\t\t\t\trow.find('.value_pattern').hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Generate Feed Form Submit\n\t\t\t.on('click', '.delRow', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$(this).closest('tr').remove();\n\t\t\t\thelper.reindex_config_table();\n\t\t\t})\n\t\t\t.on('submit', '#generateFeed', function () {\n\t\t\t\t// Feed Generating form validation\n\t\t\t\t$(this).validate();\n\t\t\t\t\n\t\t\t\tif ($(this).valid()) {\n\t\t\t\t\t$(\".makeFeedResponse\")\n\t\t\t\t\t\t.show()\n\t\t\t\t\t\t.html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Generate Update Feed Form Submit\n\t\t\t.on('submit', '#updatefeed', function (e, data) {\n\t\t\t\t// Feed Generating form validation\n\t\t\t\t$(this).validate();\n\t\t\t\t\n\t\t\t\tif ($(this).valid()) {\n\t\t\t\t\t$(\".makeFeedResponse\")\n\t\t\t\t\t\t.show()\n\t\t\t\t\t\t.html(`<b style=\"color: darkblue;\"><i class=\"dashicons dashicons-sos wpf_spin\"></i> ${data && data.save ? opts.form.save : opts.form.generate}</b>`); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on( 'ready woo_feed_config_loaded', function(){\n\t\t\t\tconsole.log(\"Ready Provided\");\n\t\t\t\tif( $('#ftpenabled').val() === 0 ){\n\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n\t\t\t\t} else {\n\t\t\t\t\tif( $('#provider').val() === 'google' ) {\n\t\t\t\t\t\t$('.google-merchant-message').show('slow');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t}\n\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\t\t\t\t}\n\n\t\t\t\t$('#ftpenabled').on('change', function(){\n\t\t\t\t\tif( $('#ftpenabled').val() === 0 ){\n\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t$('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n\t\t\t\t\t\t// Google merchant specific message\n\t\t\t\t\t\tif( $('#provider').val() === 'google' ){\n\t\t\t\t\t\t\t$('.google-merchant-message').show('slow');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$('.google-merchant-message').hide('slow');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('change', '.ftporsftp', function () {\n\t\t\t\tlet server = $(this).val(),\n\t\t\t\t\tstatus = $('.ssh2_status');\n\t\t\t\t\n\t\t\t\tif (server === 'sftp') {\n\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\tstatus.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n\t\t\t\t\twpAjax.post('get_ssh2_status', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tserver: server\n\t\t\t\t\t}).then(function (response) {\n\t\t\t\t\t\tif (response === 'exists') {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\tstatus.css('color', '#2CC185').text(opts.form.sftp_available);\n\t\t\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\t\t\tstatus.hide();\n\t\t\t\t\t\t\t}, 1500);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\t\tstatus.show().css('color', 'red').text(opts.form.sftp_warning);\n\t\t\t\t\t\t}\n\t\t\t\t\t}).fail(function (e) {\n\t\t\t\t\t\tstatus.hide();\n\t\t\t\t\t\thelper.ajax_fail(e);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tstatus.hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('click', '[name=\"save_feed_config\"]', function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$('#updatefeed').trigger('submit', {\n\t\t\t\t\tsave: true\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('change', '#provider', function (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t//if (!$(this).closest('.generateFeed').hasClass('add-new')) return; // only for new feed.\n\n\t\t\t\tlet merchant = $(this).val(),\n\t\t\t\t\ttemplateName = $(this).find(':selected').text(),\n\t\t\t\t\tname = $('#filename').val(),\n\t\t\t\t\tfeedType = $(\"#feedType\"),\n\t\t\t\t\tfeedForm = $(\"#providerPage\"),\n\t\t\t\t\tmerchantInfo = $('#feed_merchant_info'); // set loading..\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tfeedForm.html('<h3><span style=\"float:none;margin: -3px 0 0;\" class=\"spinner is-active\"></span> ' + opts.form.loading_tmpl + '</h3>'); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html, WordPressVIPMinimum.JS.StringConcat.Found\n\t\t\t\t\n\t\t\t\tmerchantInfo.find('.spinner').addClass('is-active');\n\t\t\t\tfeedType.disabled(!0); // disable dropdown\n\t\t\t\t\n\t\t\t\tfeedType.parent().find('.spinner').addClass('is-active');\n\t\t\t\tmerchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n\t\t\t\t// Get Merchant info for selected Provider/Merchant\n\t\t\t\t\n\t\t\t\tif (merchantInfoCache.hasOwnProperty(merchant)) {\n\t\t\t\t\tfeedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t * */\n\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t} else {\n\t\t\t\t\twpAjax.send('woo_feed_get_merchant_info', {\n\t\t\t\t\t\ttype: 'GET',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tnonce: opts.nonce,\n\t\t\t\t\t\t\tprovider: merchant,\n\t\t\t\t\t\t\ttemplateName: templateName\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\tmerchantInfoCache[merchant] = r;\n\t\t\t\t\t\tfeedEditor.renderMerchantInfo(merchantInfo, feedType, r);\n\t\t\t\t\t\t// console.log('filter load')\n\t\t\t\t\t\t// $('#utm_source').val(templateName)\n\t\t\t\t\t}).then(function(){\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t\t * */\n\t\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t} // Get FeedForm For Selected Provider/Merchant\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tif (merchantTemplateCache.hasOwnProperty(merchant)) {\n\t\t\t\t\tfeedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t * */\n\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t} else {\n\t\t\t\t\twpAjax.post('get_feed_merchant', {\n\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\tmerchant: merchant\n\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\tmerchantTemplateCache[merchant] = r;\n\t\t\t\t\t\tfeedEditor.renderMerchantTemplate(feedForm, r);\n\t\t\t\t\t\t$('#utm_source').val(templateName);\n\t\t\t\t\t\t$('#utm_campaign').val(name);\n\t\t\t\t\t\t//when merchant is bing, change delimiter and enclosure\n\t\t\t\t\t\tif( 'bing' === merchant ) {\n\t\t\t\t\t\t\t//delimiter value\n\t\t\t\t\t\t\t$(\"#delimiter option\").removeAttr('selected');\n\t\t\t\t\t\t\t$(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n\t\t\t\t\t\t\t//enclosure value\n\t\t\t\t\t\t\t$(\"#enclosure option\").removeAttr('selected');\n\t\t\t\t\t\t\t$(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t//reviewer options hide\n\t\t\t\t\t\tif( 'google_product_review' !== merchant) {\n\t\t\t\t\t\t\t$('.wf_attributes option[value=\"reviewer_name\"]').hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}).then(function(){\n\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t* Triggers after merchant configuration is fetched & loaded\n\t\t\t\t\t\t* */\n\t\t\t\t\t\t$(document).trigger('woo_feed_config_loaded');\n\n\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Feed Active and Inactive status change via ajax\n\t\t\t.on('change', '.woo_feed_status_input', function () {\n\t\t\t\tlet self = $(this);\n\t\t\t\twpAjax.post('update_feed_status', {\n\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\tfeedName: self.val(),\n\t\t\t\t\tstatus: self[0].checked ? 1 : 0\n\t\t\t\t});\n\t\t\t});\n\t\t// event with trigger\n\t\t$(document)\n\t\t\t.on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n\t\t\t\tlet outOfStockVisibilityRow = $('.out-of-stock-visibility');\n\t\t\t\tif ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n\t\t\t\t\toutOfStockVisibilityRow.show();\n\t\t\t\t} else {\n\t\t\t\t\toutOfStockVisibilityRow.hide();\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '.attr_type', function () {\n\t\t\t\t// Attribute type selection\n\t\t\t\tlet self = $(this),\n\t\t\t\t\ttype = self.val(),\n\t\t\t\t\trow = self.closest('tr');\n\t\t\t\t\n\t\t\t\tif (type === 'pattern') {\n\t\t\t\t\trow.find('.wf_attr').hide();\n\t\t\t\t\trow.find('.wf_attr').val('');\n\t\t\t\t\trow.find('.wf_default').show();\n\t\t\t\t} else {\n\t\t\t\t\trow.find('.wf_attr').show();\n\t\t\t\t\trow.find('.wf_default').hide();\n\t\t\t\t\trow.find('.wf_default').val('');\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '.wf_mattributes, .attr_type', function () {\n\t\t\t\tlet row = $(this).closest('tr'),\n\t\t\t\t\tattribute = row.find('.wf_mattributes'),\n\t\t\t\t\ttype = row.find('.attr_type'),\n\t\t\t\t\tvalueColumn = row.find('td:eq(4)'),\n\t\t\t\t\tprovider = $('#provider').val();\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n\t\t\t\t\tif (valueColumn.find('select.selectize').length === 0) {\n\t\t\t\t\t\tvalueColumn.find('input.wf_default').remove();\n\t\t\t\t\t\tvalueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\tvalueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"http://webappick.helpscoutdocs.com/article/19-how-to-map-store-category-with-merchant-category\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (!googleCategories) {\n\t\t\t\t\t\t\tvalueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet select = valueColumn.find('.wf_attributes select');\n\t\t\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\t\t\thelper.selectize(select, {\n\t\t\t\t\t\t\tpreload: true,\n\t\t\t\t\t\t\tplaceholder: opts.form.select_category,\n\t\t\t\t\t\t\tload: function load(query, cb) {\n\t\t\t\t\t\t\t\tif (!googleCategories) {\n\t\t\t\t\t\t\t\t\twpAjax.send('get_google_categories', {\n\t\t\t\t\t\t\t\t\t\ttype: 'GET',\n\t\t\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\t\t_ajax_nonce: opts.nonce,\n\t\t\t\t\t\t\t\t\t\t\taction: \"get_google_categories\",\n\t\t\t\t\t\t\t\t\t\t\tprovider: provider\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}).then(function (r) {\n\t\t\t\t\t\t\t\t\t\tgoogleCategories = r;\n\t\t\t\t\t\t\t\t\t\tcb(googleCategories);\n\t\t\t\t\t\t\t\t\t\tvalueColumn.find('.spinner').remove();\n\t\t\t\t\t\t\t\t\t}).fail(helper.ajax_fail);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcb(googleCategories);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n\t\t\t\t\t\tvalueColumn.find('span').remove();\n\t\t\t\t\t\tvalueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (type.val() !== 'pattern') {\n\t\t\t\t\t\t\tvalueColumn.find('input.wf_default').hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('change', '#feedType,#provider', function (e) {\n\t\t\t\tlet type = $('#feedType').val(),\n\t\t\t\t\tprovider = $('#provider').val(),\n\t\t\t\t\titemWrapper = $('.itemWrapper'),\n\t\t\t\t\twf_csv_txt = $('.wf_csvtxt');\n\t\t\t\t\n\t\t\t\t// noinspection JSUnresolvedVariable\n\t\t\t\tif (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n\t\t\t\t\titemWrapper.hide();\n\t\t\t\t}\n\n\t\t\t\t//when feed type is changed\n\t\t\t\tif( 'feedType' === e.target.id ) {\n\t\t\t\t\tif (type === 'csv' || type === 'txt' || type === 'tsv') {\n\t\t\t\t\t\titemWrapper.hide();\n\t\t\t\t\t\twf_csv_txt.show();\n\n\t\t\t\t\t\tif( 'tsv' === type ) {\n\t\t\t\t\t\t\t$('#delimiter option:last').prop(\"selected\", \"selected\");\n\t\t\t\t\t\t} else if( 'csv' === type ) {\n\t\t\t\t\t\t\t$('#delimiter option:first').prop(\"selected\", \"selected\");\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if( type === 'xml' ) {\n\t\t\t\t\t\titemWrapper.show();\n\t\t\t\t\t\twf_csv_txt.hide();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t})\n\t\t\t.trigger('change');\n\n\n\t\t// product Attribute class\n\t\tclass WooFeedCustomFields {\n\n\t\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t\t}\n\n\t\t\tcacheClear() {\n\t\t\t\tlet data = {\n\t\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\t};\n\t\t\t\t$.ajax({\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\t\tdata\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\t\tlet data = {\n\t\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\t\tfield,\n\t\t\t\t\tstatus,\n\t\t\t\t\tisTaxonomy\n\t\t\t\t};\n\t\t\t\t$.ajax({\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\t\tdata,\n\t\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\t$(document).on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\t\t});\n\n\t\t// Remove sticky cart on feature page\n\t\t$(document).ready(function() {\n\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\tvar pos = s.position();\n\t\t\t$(window).scroll(function() {\n\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t} else {\n\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n\n\t$(document).on('click', '#woo-feed-debug-log-download', function (e) {\n\t\te.preventDefault();\n\t\t$(\"<a />\", {\n\t\t\tdownload: new Date() + \".log\",\n\t\t\thref: URL.createObjectURL(\n\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t})),\n\t\t}).appendTo(\"body\")[0].click();\n\t});\n\n\t$(document).on('keyup', '#filename', function(e) {\n\t\tvar name = $('#filename').val();\n\t\t$('#utm_campaign').val(name);\n\t});\n\t// var providerVal = $('#category-mapping-form #providers').val();\n\t// console.log(providerVal)\n\t$(document).on('change', '#category-mapping-form #providers', function(e) {\n\t\tvar provider = $(this).find(':selected').val(),\n\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];\n\t\tif( googleMap.indexOf(provider) !== -1 ) {\n\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'none');\n\t\t\t$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');\n\t\t\t// $('#category-mapping-form .dashicons').css('display', 'block');\n\t\t} else {\n\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'block');\n\t\t\t$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');\n\t\t\t// $('#category-mapping-form .dashicons').css('display', 'none');\n\t\t}\n\t});\n\n\t$(document).on('click', 'span[id*=\"cat-map-\"]', function(e) {\n\t\te.preventDefault();\n\t\tvar providerName = $('#category-mapping-form #providers').val(),\n\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],\n\t\t\tcatId = $(this).attr('id').replace(/[^\\d.]/g, ''),\n\t\t\tgroupId = 'group-child-' + catId;\n\n\t\tif( googleMap.indexOf(providerName) !== -1) {\n\t\t\tvar catField = $(this).parents('tr').find('.selectized').val();\n\n\t\t\tif (catField) {\n\t\t\t\t$('.' + groupId).parents('tr').find('select').each(function (i, v) {\n\t\t\t\t\t$(v).data('selectize').setValue(catField);\n\t\t\t\t});\n\t\t\t}\n\n\t\t} else {\n\t\t\tvar value = $('#cat_mapping_'+catId).val();\n\t\t\t$('.'+groupId).parents('tr').find('input').val(value);\n\t\t}\n\n\t});\n\n})(jQuery, window, document, wp.ajax, wpf_ajax_obj);\n"]}
|
admin/partials/woo-feed-category-mapping.php
CHANGED
@@ -55,6 +55,7 @@ if ( isset( $_GET['action'], $_GET['cmapping'] ) ) { // phpcs:ignore
|
|
55 |
<tr>
|
56 |
<th><?php esc_html_e( 'Local Category', 'woo-feed' ); ?></th>
|
57 |
<th><?php esc_html_e( 'Merchant Category', 'woo-feed' ); ?></th>
|
|
|
58 |
</tr>
|
59 |
</thead>
|
60 |
<tbody>
|
@@ -62,7 +63,7 @@ if ( isset( $_GET['action'], $_GET['cmapping'] ) ) { // phpcs:ignore
|
|
62 |
</tbody>
|
63 |
<tfoot>
|
64 |
<tr>
|
65 |
-
<td colspan="
|
66 |
<button name="<?php echo isset( $_GET['action'] ) ? esc_attr( sanitize_text_field( wp_unslash($_GET['action']) ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended ?>" type="submit" class="button button-large button-primary"><?php esc_html_e( 'Save Mapping', 'woo-feed' ); ?></button>
|
67 |
</td>
|
68 |
</tr>
|
55 |
<tr>
|
56 |
<th><?php esc_html_e( 'Local Category', 'woo-feed' ); ?></th>
|
57 |
<th><?php esc_html_e( 'Merchant Category', 'woo-feed' ); ?></th>
|
58 |
+
<th colspan="3"></th>
|
59 |
</tr>
|
60 |
</thead>
|
61 |
<tbody>
|
63 |
</tbody>
|
64 |
<tfoot>
|
65 |
<tr>
|
66 |
+
<td colspan="5">
|
67 |
<button name="<?php echo isset( $_GET['action'] ) ? esc_attr( sanitize_text_field( wp_unslash($_GET['action']) ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended ?>" type="submit" class="button button-large button-primary"><?php esc_html_e( 'Save Mapping', 'woo-feed' ); ?></button>
|
68 |
</td>
|
69 |
</tr>
|
admin/partials/woo-feed-settings.php
CHANGED
@@ -204,6 +204,7 @@ $settings = woo_feed_get_options( 'all' );
|
|
204 |
if ( isset( $get_settings['woo_feed_taxonomy'], $get_settings['woo_feed_identifier'] ) ) {
|
205 |
$custom_attributes = array_merge( $get_settings['woo_feed_taxonomy'], $get_settings['woo_feed_identifier'] );
|
206 |
}
|
|
|
207 |
foreach ( $custom_fields as $key => $value ) {
|
208 |
$custom_field_id = sprintf( '%s-switcher', strtolower( $key ) );
|
209 |
$custom_field_name = isset( $value[0] ) ? sanitize_text_field( $value[0] ) : '';
|
204 |
if ( isset( $get_settings['woo_feed_taxonomy'], $get_settings['woo_feed_identifier'] ) ) {
|
205 |
$custom_attributes = array_merge( $get_settings['woo_feed_taxonomy'], $get_settings['woo_feed_identifier'] );
|
206 |
}
|
207 |
+
|
208 |
foreach ( $custom_fields as $key => $value ) {
|
209 |
$custom_field_id = sprintf( '%s-switcher', strtolower( $key ) );
|
210 |
$custom_field_name = isset( $value[0] ) ? sanitize_text_field( $value[0] ) : '';
|
includes/classes/class-woo-feed-products-v3.php
CHANGED
@@ -1945,15 +1945,10 @@ class Woo_Feed_Products_v3
|
|
1945 |
|
1946 |
$content = woo_feed_stripInvalidXml($content);
|
1947 |
|
1948 |
-
//
|
1949 |
-
|
1950 |
-
/** @noinspection RegExpRedundantEscape */
|
1951 |
-
$content = preg_replace('/\[\/?et_pb.*?\]/', '', $content);
|
1952 |
-
}
|
1953 |
|
1954 |
-
|
1955 |
-
/** @noinspection RegExpRedundantEscape */
|
1956 |
-
$content = preg_replace('/\[\/?vc_.*?\]/', '', $content);
|
1957 |
|
1958 |
return strip_shortcodes($content);
|
1959 |
}
|
@@ -2181,10 +2176,22 @@ class Woo_Feed_Products_v3
|
|
2181 |
* @since 3.2.0
|
2182 |
*
|
2183 |
*/
|
2184 |
-
protected function ex_link($product)
|
2185 |
-
{
|
2186 |
if ($product->is_type('external')) {
|
2187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2188 |
} else {
|
2189 |
$ex_link = '';
|
2190 |
}
|
1945 |
|
1946 |
$content = woo_feed_stripInvalidXml($content);
|
1947 |
|
1948 |
+
// Covers all kinds of shortcodes
|
1949 |
+
$expression = '/\[\/*[a-zA-Z1-90_ -=\'"\{\}]*\/*\]/m';
|
|
|
|
|
|
|
1950 |
|
1951 |
+
$content = preg_replace( $expression, '', $content );
|
|
|
|
|
1952 |
|
1953 |
return strip_shortcodes($content);
|
1954 |
}
|
2176 |
* @since 3.2.0
|
2177 |
*
|
2178 |
*/
|
2179 |
+
protected function ex_link($product) {
|
|
|
2180 |
if ($product->is_type('external')) {
|
2181 |
+
$utm = $this->config['campaign_parameters'];
|
2182 |
+
if (!empty($utm['utm_source']) && !empty($utm['utm_medium']) && !empty($utm['utm_campaign'])) {
|
2183 |
+
$utm = [
|
2184 |
+
'utm_source' => $utm['utm_source'],
|
2185 |
+
'utm_medium' => $utm['utm_medium'],
|
2186 |
+
'utm_campaign' => $utm['utm_campaign'],
|
2187 |
+
'utm_term' => $utm['utm_term'],
|
2188 |
+
'utm_content' => $utm['utm_content'],
|
2189 |
+
];
|
2190 |
+
|
2191 |
+
return add_query_arg(array_filter($utm), $product->get_product_url());
|
2192 |
+
} else {
|
2193 |
+
$ex_link = $product->get_product_url();
|
2194 |
+
}
|
2195 |
} else {
|
2196 |
$ex_link = '';
|
2197 |
}
|
includes/helper.php
CHANGED
@@ -2345,23 +2345,26 @@ if (!function_exists('woo_feed_get_options')) {
|
|
2345 |
'only_free_shipping' => 'yes',
|
2346 |
'only_local_pickup_shipping' => 'no',
|
2347 |
'enable_ftp_upload' => 'no',
|
|
|
|
|
|
|
2348 |
'woo_feed_identifier' => array(
|
2349 |
-
'gtin' => '
|
2350 |
-
'ean' => '
|
2351 |
-
'age_group' => '
|
2352 |
-
'mpn' => '
|
2353 |
-
'material' => '
|
2354 |
-
'unit' => '
|
2355 |
-
'unit_pricing_base_measure' => '
|
2356 |
-
'custom_field_0' => '
|
2357 |
-
'custom_field_2' => '
|
2358 |
-
'custom_field_4' => '
|
2359 |
-
'gender' => '
|
2360 |
-
'cost_of_good_sold' => '
|
2361 |
-
'custom_field_3' => '
|
2362 |
-
'custom_field_1' => '
|
2363 |
-
'unit_pricing_measure' => '
|
2364 |
-
'isbn' => '
|
2365 |
),
|
2366 |
];
|
2367 |
|
@@ -3154,7 +3157,7 @@ if (!function_exists('woo_feed_render_categories')) {
|
|
3154 |
* @param string $par separator.
|
3155 |
* @param string $value mapped values.
|
3156 |
*/
|
3157 |
-
function woo_feed_render_categories($parent = 0, $par = '', $value = '')
|
3158 |
{
|
3159 |
$categoryArgs = [
|
3160 |
'taxonomy' => 'product_cat',
|
@@ -3178,8 +3181,11 @@ if (!function_exists('woo_feed_render_categories')) {
|
|
3178 |
<th>
|
3179 |
<label for="cat_mapping_<?php echo esc_attr($cat->term_id); ?>"><?php echo esc_html($par . $cat->name); ?></label>
|
3180 |
</th>
|
3181 |
-
<td><!--suppress HtmlUnknownAttribute -->
|
3182 |
-
|
|
|
|
|
|
|
3183 |
class="<?php echo esc_attr($class); ?> woo-feed-mapping-input"
|
3184 |
autocomplete="off"
|
3185 |
type="text"
|
@@ -3188,6 +3194,35 @@ if (!function_exists('woo_feed_render_categories')) {
|
|
3188 |
data-cat_id="<?php echo esc_attr($cat->term_id); ?>"
|
3189 |
value="<?php echo is_array($value) && isset($value['cmapping'][$cat->term_id]) ? esc_attr($value['cmapping'][$cat->term_id]) : ''; ?>"
|
3190 |
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3191 |
</td>
|
3192 |
</tr>
|
3193 |
<?php
|
@@ -3480,45 +3515,47 @@ if (!function_exists('woo_feed_custom_taxonomy')) {
|
|
3480 |
$custom_taxonomies_filter = new Woo_Feed_Custom_Taxonomy_Filter($custom_fields);
|
3481 |
$custom_taxonomies = iterator_to_array($custom_taxonomies_filter);
|
3482 |
|
3483 |
-
$
|
3484 |
-
if (isset($
|
3485 |
-
$
|
3486 |
-
|
3487 |
-
|
3488 |
-
|
3489 |
-
|
3490 |
-
|
3491 |
-
|
3492 |
-
|
3493 |
-
|
3494 |
-
|
3495 |
-
|
3496 |
-
|
3497 |
-
|
3498 |
-
|
3499 |
-
|
3500 |
-
|
3501 |
-
|
3502 |
-
|
3503 |
-
|
3504 |
-
|
3505 |
-
|
3506 |
-
|
3507 |
-
)
|
3508 |
-
|
3509 |
-
|
3510 |
-
|
3511 |
-
|
3512 |
-
|
3513 |
-
|
3514 |
-
|
3515 |
-
|
3516 |
-
|
3517 |
-
|
3518 |
-
|
|
|
|
|
|
|
3519 |
|
3520 |
-
|
3521 |
-
}
|
3522 |
}
|
3523 |
}
|
3524 |
}
|
2345 |
'only_free_shipping' => 'yes',
|
2346 |
'only_local_pickup_shipping' => 'no',
|
2347 |
'enable_ftp_upload' => 'no',
|
2348 |
+
'woo_feed_taxonomy' => array(
|
2349 |
+
'brand' => 'enable'
|
2350 |
+
),
|
2351 |
'woo_feed_identifier' => array(
|
2352 |
+
'gtin' => 'enable',
|
2353 |
+
'ean' => 'enable',
|
2354 |
+
'age_group' => 'enable',
|
2355 |
+
'mpn' => 'enable',
|
2356 |
+
'material' => 'enable',
|
2357 |
+
'unit' => 'enable',
|
2358 |
+
'unit_pricing_base_measure' => 'enable',
|
2359 |
+
'custom_field_0' => 'enable',
|
2360 |
+
'custom_field_2' => 'enable',
|
2361 |
+
'custom_field_4' => 'enable',
|
2362 |
+
'gender' => 'enable',
|
2363 |
+
'cost_of_good_sold' => 'enable',
|
2364 |
+
'custom_field_3' => 'enable',
|
2365 |
+
'custom_field_1' => 'enable',
|
2366 |
+
'unit_pricing_measure' => 'enable',
|
2367 |
+
'isbn' => 'enable',
|
2368 |
),
|
2369 |
];
|
2370 |
|
3157 |
* @param string $par separator.
|
3158 |
* @param string $value mapped values.
|
3159 |
*/
|
3160 |
+
function woo_feed_render_categories($parent = 0, $par = '', $value = '' )
|
3161 |
{
|
3162 |
$categoryArgs = [
|
3163 |
'taxonomy' => 'product_cat',
|
3181 |
<th>
|
3182 |
<label for="cat_mapping_<?php echo esc_attr($cat->term_id); ?>"><?php echo esc_html($par . $cat->name); ?></label>
|
3183 |
</th>
|
3184 |
+
<td colspan="3"><!--suppress HtmlUnknownAttribute -->
|
3185 |
+
<?php
|
3186 |
+
$newOrGoogleFacebook = ! empty( $value ) ? in_array( $value['mappingprovider'], array( 'google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat' ) ) : false;
|
3187 |
+
?>
|
3188 |
+
<input <?php echo ( ! $newOrGoogleFacebook ) ? '' : 'style=" display: none;" '; ?> id="cat_mapping_<?php echo esc_attr($cat->term_id); ?>"
|
3189 |
class="<?php echo esc_attr($class); ?> woo-feed-mapping-input"
|
3190 |
autocomplete="off"
|
3191 |
type="text"
|
3194 |
data-cat_id="<?php echo esc_attr($cat->term_id); ?>"
|
3195 |
value="<?php echo is_array($value) && isset($value['cmapping'][$cat->term_id]) ? esc_attr($value['cmapping'][$cat->term_id]) : ''; ?>"
|
3196 |
>
|
3197 |
+
|
3198 |
+
<span <?php echo ( $newOrGoogleFacebook ) ? '' : 'style=" display: none;" '; ?>class="wf_default wf_attributes">
|
3199 |
+
<select name="default[<?php echo $cat->term_id ?>]" class="selectize" data-placeholder="<?php esc_attr_e( 'Select A Category', 'woo-feed' ); ?>">
|
3200 |
+
<?php
|
3201 |
+
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
3202 |
+
$wooFeedDropDown = new Woo_Feed_Dropdown();
|
3203 |
+
$selected_value = isset( $value['default'] ) ? $value['default'][$cat->term_id] : '';
|
3204 |
+
echo $wooFeedDropDown->googleTaxonomy($selected_value);
|
3205 |
+
?>
|
3206 |
+
</select>
|
3207 |
+
|
3208 |
+
</span>
|
3209 |
+
</td>
|
3210 |
+
<?php
|
3211 |
+
if ( ! empty( get_term_children( $cat->term_id, 'product_cat' ) ) ) {
|
3212 |
+
$woo_map_term_id = 'parent-'. $cat->term_id;
|
3213 |
+
} else {
|
3214 |
+
$woo_map_term_id = 'child-' . $cat->parent;
|
3215 |
+
}
|
3216 |
+
$termchildren = ! empty( get_term_children( $cat->term_id, 'product_cat' ) ) || $cat->parent;
|
3217 |
+
?>
|
3218 |
+
<td class="<?php echo $termchildren ? 'group-' . $woo_map_term_id : ''; ?>" >
|
3219 |
+
<?php
|
3220 |
+
$childrencat = ! empty( get_term_children( $cat->term_id, 'product_cat' ) );
|
3221 |
+
if( $childrencat ) {
|
3222 |
+
$title = __( 'Copy this category to subcategories', 'woo-feed' );
|
3223 |
+
echo '<span class="dashicons dashicons-arrow-down-alt" title=" ' . $title . '" id="cat-map-'.$cat->term_id.'"></span>';
|
3224 |
+
}
|
3225 |
+
?>
|
3226 |
</td>
|
3227 |
</tr>
|
3228 |
<?php
|
3515 |
$custom_taxonomies_filter = new Woo_Feed_Custom_Taxonomy_Filter($custom_fields);
|
3516 |
$custom_taxonomies = iterator_to_array($custom_taxonomies_filter);
|
3517 |
|
3518 |
+
$settings = woo_feed_get_options( 'all' );
|
3519 |
+
if ( isset( $settings['woo_feed_taxonomy'], $settings['woo_feed_identifier'] ) ) {
|
3520 |
+
$custom_attributes = array_merge( $settings['woo_feed_taxonomy'], $settings['woo_feed_identifier'] );
|
3521 |
+
}else {
|
3522 |
+
$custom_attributes = $settings['woo_feed_taxonomy'];
|
3523 |
+
}
|
3524 |
+
|
3525 |
+
if ( isset($custom_attributes['brand']) && 'enable' === $custom_attributes['brand'] ) {
|
3526 |
+
if (!empty($custom_taxonomies)) {
|
3527 |
+
foreach ($custom_taxonomies as $key => $value) {
|
3528 |
+
$taxonomy_name = esc_html($value[0]);
|
3529 |
+
|
3530 |
+
$labels = array(
|
3531 |
+
'name' => $taxonomy_name . ' ' . __('by CTX Feed', 'woo-feed'),
|
3532 |
+
'singular_name' => $taxonomy_name,
|
3533 |
+
'menu_name' => $taxonomy_name . 's ' . __('by CTX Feed', 'woo-feed'),
|
3534 |
+
'all_items' => __('All', 'woo-feed') . ' ' . $taxonomy_name . 's',
|
3535 |
+
'parent_item' => __('Parent', 'woo-feed') . $taxonomy_name,
|
3536 |
+
'parent_item_colon' => __('Parent:', 'woo-feed') . $taxonomy_name . ':',
|
3537 |
+
'new_item_name' => __('New', 'woo-feed') . ' ' . $taxonomy_name . ' ' . __('Name', 'woo-feed'),
|
3538 |
+
'add_new_item' => __('Add New', 'woo-feed') . ' ' . $taxonomy_name,
|
3539 |
+
'edit_item' => __('Edit', 'woo-feed') . ' ' . $taxonomy_name,
|
3540 |
+
'update_item' => __('Update', 'woo-feed') . ' ' . $taxonomy_name,
|
3541 |
+
'separate_items_with_commas' => __('Separate', 'woo-feed') . ' ' . $taxonomy_name . ' ' . __('with commas', 'woo-feed'),
|
3542 |
+
'search_items' => __('Search', 'woo-feed') . ' ' . $taxonomy_name,
|
3543 |
+
'add_or_remove_items' => __('Add or remove', 'woo-feed') . ' ' . $taxonomy_name,
|
3544 |
+
'choose_from_most_used' => __('Choose from the most used', 'woo-feed') . ' ' . $taxonomy_name . 's',
|
3545 |
+
);
|
3546 |
+
$args = array(
|
3547 |
+
'labels' => $labels,
|
3548 |
+
'hierarchical' => true,
|
3549 |
+
'public' => true,
|
3550 |
+
'show_ui' => true,
|
3551 |
+
'show_admin_column' => false,
|
3552 |
+
'show_in_rest' => true,
|
3553 |
+
'show_in_nav_menus' => true,
|
3554 |
+
'show_tagcloud' => true,
|
3555 |
+
);
|
3556 |
+
$taxonomy_key = sprintf('woo-feed-%s', strtolower($key));
|
3557 |
|
3558 |
+
register_taxonomy($taxonomy_key, 'product', $args);
|
|
|
3559 |
}
|
3560 |
}
|
3561 |
}
|
includes/pluggable.php
CHANGED
@@ -20,23 +20,28 @@ if ( ! function_exists( 'woo_feed_get_category_mapping_value' ) ) {
|
|
20 |
$getValue = maybe_unserialize( get_option( $cmappingName ) );
|
21 |
$cat_map_value = '';
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
|
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
40 |
return $cat_map_value;
|
41 |
|
42 |
}
|
20 |
$getValue = maybe_unserialize( get_option( $cmappingName ) );
|
21 |
$cat_map_value = '';
|
22 |
|
23 |
+
if( ! in_array( $getValue['mappingprovider'], array('google', 'facebook') ) ) {
|
24 |
+
if ( ! isset( $getValue['cmapping'] ) ) {
|
25 |
+
return '';
|
26 |
+
}
|
27 |
+
$cmapping = is_array( $getValue['cmapping'] ) ? array_reverse( $getValue['cmapping'], true ) : $getValue['cmapping'];
|
28 |
+
$categories = '';
|
29 |
|
30 |
+
if ( get_the_terms( $parent, 'product_cat' ) ) {
|
31 |
+
$categories = array_reverse( get_the_terms( $parent, 'product_cat' ) );
|
32 |
+
}
|
33 |
|
34 |
+
if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) {
|
35 |
+
foreach ( $categories as $key => $category ) {
|
36 |
+
if ( isset( $cmapping[ $category->term_id ] ) && ! empty( $cmapping[ $category->term_id ] ) ) {
|
37 |
+
return $cmapping[ $category->term_id ];
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
41 |
+
} else {
|
42 |
+
$categories = get_the_terms($parent, 'product_cat')[0];
|
43 |
+
$cat_map_value = $getValue['default'][$categories->term_id];
|
44 |
+
}
|
45 |
return $cat_map_value;
|
46 |
|
47 |
}
|
languages/woo-feed.pot
CHANGED
@@ -12,35 +12,35 @@ msgstr ""
|
|
12 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
|
15 |
-
#: woo-feed.php:
|
16 |
msgid "Unauthorized Action."
|
17 |
msgstr ""
|
18 |
|
19 |
-
#: woo-feed.php:
|
20 |
msgid "Invalid Request."
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: woo-feed.php:
|
24 |
msgid "Failed to fetch products."
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: woo-feed.php:
|
28 |
msgid "Invalid Feed."
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: woo-feed.php:
|
32 |
msgid "Feed Making Complete"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: woo-feed.php:
|
36 |
msgid "Failed security check"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: woo-feed.php:
|
40 |
msgid "Invalid Feed Type!"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: woo-feed.php:
|
44 |
msgid "Invalid Merchant"
|
45 |
msgstr ""
|
46 |
|
@@ -56,7 +56,7 @@ msgstr ""
|
|
56 |
msgid "Learn More.."
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: admin/class-woo-feed-admin.php:152, admin/partials/woo-feed-edit-config.php:66
|
60 |
msgid "Select A Category"
|
61 |
msgstr ""
|
62 |
|
@@ -391,111 +391,115 @@ msgstr ""
|
|
391 |
msgid "Invalid or corrupted config file."
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/helper.php:
|
395 |
msgid "Brand"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/helper.php:
|
399 |
msgid "GTIN"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/helper.php:
|
403 |
msgid "MPN"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/helper.php:
|
407 |
msgid "EAN"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/helper.php:
|
411 |
msgid "ISBN"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/helper.php:
|
415 |
msgid "Age group"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/helper.php:
|
419 |
msgid "Gender"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/helper.php:
|
423 |
msgid "Material"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/helper.php:
|
427 |
msgid "Cost of good sold"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/helper.php:
|
431 |
msgid "Unit"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/helper.php:
|
435 |
msgid "Unit Price Measure"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/helper.php:
|
439 |
msgid "Unit Price Base Measure"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/helper.php:
|
443 |
msgid "Custom field 0"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/helper.php:
|
447 |
msgid "Custom field 1"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/helper.php:
|
451 |
msgid "Custom field 2"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: includes/helper.php:
|
455 |
msgid "Custom field 3"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: includes/helper.php:
|
459 |
msgid "Custom field 4"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: includes/helper.php:
|
463 |
msgid "CUSTOM FIELDS by CTX Feed"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/helper.php:
|
467 |
msgid " here."
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: includes/helper.php:
|
471 |
msgid "Mapping Not Changed"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: includes/helper.php:
|
475 |
msgid "Mapping Updated Successfully"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: includes/helper.php:
|
|
|
|
|
|
|
|
|
479 |
msgid "Clear Cache"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/helper.php:
|
483 |
msgid "User meta updated successfully."
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/helper.php:
|
487 |
msgid "by CTX Feed"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/helper.php:
|
491 |
msgid "Name"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/helper.php:
|
495 |
msgid "with commas"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: includes/helper.php:
|
499 |
msgid "Option Already Added."
|
500 |
msgstr ""
|
501 |
|
@@ -560,7 +564,7 @@ msgstr ""
|
|
560 |
msgid "Merchant Category"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: admin/partials/woo-feed-category-mapping.php:
|
564 |
msgid "Save Mapping"
|
565 |
msgstr ""
|
566 |
|
12 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
|
15 |
+
#: woo-feed.php:248, woo-feed.php:368, woo-feed.php:443, woo-feed.php:799, woo-feed.php:839, woo-feed.php:859, woo-feed.php:885
|
16 |
msgid "Unauthorized Action."
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: woo-feed.php:253, woo-feed.php:372, includes/helper.php:1870, includes/classes/class-woo-feed-webappick-api.php:427, includes/classes/class-woo-feed-webappick-api.php:451
|
20 |
msgid "Invalid Request."
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: woo-feed.php:326
|
24 |
msgid "Failed to fetch products."
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: woo-feed.php:447
|
28 |
msgid "Invalid Feed."
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: woo-feed.php:571
|
32 |
msgid "Feed Making Complete"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: woo-feed.php:655, woo-feed.php:695
|
36 |
msgid "Failed security check"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: woo-feed.php:659, woo-feed.php:699
|
40 |
msgid "Invalid Feed Type!"
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: woo-feed.php:805
|
44 |
msgid "Invalid Merchant"
|
45 |
msgstr ""
|
46 |
|
56 |
msgid "Learn More.."
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: admin/class-woo-feed-admin.php:152, includes/helper.php:3199, admin/partials/woo-feed-edit-config.php:66
|
60 |
msgid "Select A Category"
|
61 |
msgstr ""
|
62 |
|
391 |
msgid "Invalid or corrupted config file."
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: includes/helper.php:2846
|
395 |
msgid "Brand"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: includes/helper.php:2847
|
399 |
msgid "GTIN"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/helper.php:2848
|
403 |
msgid "MPN"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/helper.php:2849
|
407 |
msgid "EAN"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/helper.php:2850
|
411 |
msgid "ISBN"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/helper.php:2851
|
415 |
msgid "Age group"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/helper.php:2852
|
419 |
msgid "Gender"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: includes/helper.php:2853
|
423 |
msgid "Material"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: includes/helper.php:2854
|
427 |
msgid "Cost of good sold"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: includes/helper.php:2855
|
431 |
msgid "Unit"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: includes/helper.php:2856, includes/classes/class-woo-feed-dropdown.php:405
|
435 |
msgid "Unit Price Measure"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: includes/helper.php:2857, includes/classes/class-woo-feed-dropdown.php:406
|
439 |
msgid "Unit Price Base Measure"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: includes/helper.php:2858
|
443 |
msgid "Custom field 0"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: includes/helper.php:2859
|
447 |
msgid "Custom field 1"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: includes/helper.php:2860
|
451 |
msgid "Custom field 2"
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: includes/helper.php:2861
|
455 |
msgid "Custom field 3"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/helper.php:2862
|
459 |
msgid "Custom field 4"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/helper.php:2931, includes/helper.php:3018
|
463 |
msgid "CUSTOM FIELDS by CTX Feed"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/helper.php:2943
|
467 |
msgid " here."
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: includes/helper.php:3104
|
471 |
msgid "Mapping Not Changed"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: includes/helper.php:3110
|
475 |
msgid "Mapping Updated Successfully"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: includes/helper.php:3222
|
479 |
+
msgid "Copy this category to subcategories"
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: includes/helper.php:3253
|
483 |
msgid "Clear Cache"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/helper.php:3452
|
487 |
msgid "User meta updated successfully."
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/helper.php:3531, includes/helper.php:3533
|
491 |
msgid "by CTX Feed"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/helper.php:3537, libs/WebAppick/AppServices/Insights.php:977
|
495 |
msgid "Name"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/helper.php:3541
|
499 |
msgid "with commas"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/helper.php:4715
|
503 |
msgid "Option Already Added."
|
504 |
msgstr ""
|
505 |
|
564 |
msgid "Merchant Category"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: admin/partials/woo-feed-category-mapping.php:67
|
568 |
msgid "Save Mapping"
|
569 |
msgstr ""
|
570 |
|
woo-feed.php
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
* Plugin Name: CTX Feed
|
11 |
* Plugin URI: https://webappick.com/
|
12 |
* Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
|
13 |
-
* Version: 4.4.
|
14 |
* Author: WebAppick
|
15 |
* Author URI: https://webappick.com/
|
16 |
* License: GPL v2
|
@@ -42,7 +42,7 @@ if ( ! defined( 'WOO_FEED_FREE_VERSION' ) ) {
|
|
42 |
* @var string
|
43 |
* @since 3.1.6
|
44 |
*/
|
45 |
-
define( 'WOO_FEED_FREE_VERSION', '4.4.
|
46 |
}
|
47 |
|
48 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
@@ -208,12 +208,29 @@ if ( ! function_exists( 'run_woo_feed' ) ) {
|
|
208 |
add_action( 'plugins_loaded', array( $plugin, 'run' ), PHP_INT_MAX );
|
209 |
add_action( 'admin_notices', 'wooFeed_Admin_Notices' );
|
210 |
add_action( 'admin_notices', 'wooFeed_To_ctxFeed' );
|
211 |
-
|
212 |
-
|
213 |
|
214 |
run_woo_feed();
|
215 |
}
|
216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
// ======================================================================================================================*
|
218 |
//
|
219 |
// Ajax Feed Making Development Start.
|
10 |
* Plugin Name: CTX Feed
|
11 |
* Plugin URI: https://webappick.com/
|
12 |
* Description: Easily generate woocommerce product feed for any marketing channel like Google Shopping(Merchant), Facebook Remarketing, Bing, eBay & more. Support 100+ Merchants.
|
13 |
+
* Version: 4.4.18
|
14 |
* Author: WebAppick
|
15 |
* Author URI: https://webappick.com/
|
16 |
* License: GPL v2
|
42 |
* @var string
|
43 |
* @since 3.1.6
|
44 |
*/
|
45 |
+
define( 'WOO_FEED_FREE_VERSION', '4.4.18' );
|
46 |
}
|
47 |
|
48 |
if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
|
208 |
add_action( 'plugins_loaded', array( $plugin, 'run' ), PHP_INT_MAX );
|
209 |
add_action( 'admin_notices', 'wooFeed_Admin_Notices' );
|
210 |
add_action( 'admin_notices', 'wooFeed_To_ctxFeed' );
|
211 |
+
|
212 |
+
}
|
213 |
|
214 |
run_woo_feed();
|
215 |
}
|
216 |
|
217 |
+
if( ! function_exists( 'woo_feed_hook_webappick_api' ) ){
|
218 |
+
|
219 |
+
/*
|
220 |
+
* Hooks WebAppick API to initialization hook
|
221 |
+
* Solves conflict with Ultimate Member plugin
|
222 |
+
*
|
223 |
+
* @return void
|
224 |
+
* @since 4.4.17
|
225 |
+
* */
|
226 |
+
function woo_feed_hook_webappick_api() {
|
227 |
+
WooFeedWebAppickAPI::getInstance();
|
228 |
+
}
|
229 |
+
|
230 |
+
add_action( 'init', 'woo_feed_hook_webappick_api' );
|
231 |
+
|
232 |
+
}
|
233 |
+
|
234 |
// ======================================================================================================================*
|
235 |
//
|
236 |
// Ajax Feed Making Development Start.
|