CTX Feed – WooCommerce Product Feed Manager Plugin - Version 4.4.18

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 Icon 128x128 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 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.17
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">${ escape(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,11 +831,11 @@
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,7 +844,7 @@
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,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() == 'google' ){
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="2">
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
- // Remove DIVI Builder Short Codes
1949
- if (class_exists('ET_Builder_Module') || defined('ET_BUILDER_PLUGIN_VERSION')) {
1950
- /** @noinspection RegExpRedundantEscape */
1951
- $content = preg_replace('/\[\/?et_pb.*?\]/', '', $content);
1952
- }
1953
 
1954
- // Remove Visual Composer Short Codes
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
- $ex_link = $product->get_product_url();
 
 
 
 
 
 
 
 
 
 
 
 
 
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' => 'disable',
2350
- 'ean' => 'disable',
2351
- 'age_group' => 'disable',
2352
- 'mpn' => 'disable',
2353
- 'material' => 'disable',
2354
- 'unit' => 'disable',
2355
- 'unit_pricing_base_measure' => 'disable',
2356
- 'custom_field_0' => 'disable',
2357
- 'custom_field_2' => 'disable',
2358
- 'custom_field_4' => 'disable',
2359
- 'gender' => 'disable',
2360
- 'cost_of_good_sold' => 'disable',
2361
- 'custom_field_3' => 'disable',
2362
- 'custom_field_1' => 'disable',
2363
- 'unit_pricing_measure' => 'disable',
2364
- 'isbn' => 'disable',
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
- <input id="cat_mapping_<?php echo esc_attr($cat->term_id); ?>"
 
 
 
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
- $feed_setting = get_option('woo_feed_settings');
3484
- if (isset($feed_setting['woo_feed_taxonomy']['brand'])) {
3485
- $brand_option = $feed_setting['woo_feed_taxonomy']['brand'];
3486
-
3487
- if ($brand_option === 'enable') {
3488
- if (!empty($custom_taxonomies)) {
3489
- foreach ($custom_taxonomies as $key => $value) {
3490
- $taxonomy_name = esc_html($value[0]);
3491
-
3492
- $labels = array(
3493
- 'name' => $taxonomy_name . ' ' . __('by CTX Feed', 'woo-feed'),
3494
- 'singular_name' => $taxonomy_name,
3495
- 'menu_name' => $taxonomy_name . 's ' . __('by CTX Feed', 'woo-feed'),
3496
- 'all_items' => __('All', 'woo-feed') . ' ' . $taxonomy_name . 's',
3497
- 'parent_item' => __('Parent', 'woo-feed') . $taxonomy_name,
3498
- 'parent_item_colon' => __('Parent:', 'woo-feed') . $taxonomy_name . ':',
3499
- 'new_item_name' => __('New', 'woo-feed') . ' ' . $taxonomy_name . ' ' . __('Name', 'woo-feed'),
3500
- 'add_new_item' => __('Add New', 'woo-feed') . ' ' . $taxonomy_name,
3501
- 'edit_item' => __('Edit', 'woo-feed') . ' ' . $taxonomy_name,
3502
- 'update_item' => __('Update', 'woo-feed') . ' ' . $taxonomy_name,
3503
- 'separate_items_with_commas' => __('Separate', 'woo-feed') . ' ' . $taxonomy_name . ' ' . __('with commas', 'woo-feed'),
3504
- 'search_items' => __('Search', 'woo-feed') . ' ' . $taxonomy_name,
3505
- 'add_or_remove_items' => __('Add or remove', 'woo-feed') . ' ' . $taxonomy_name,
3506
- 'choose_from_most_used' => __('Choose from the most used', 'woo-feed') . ' ' . $taxonomy_name . 's',
3507
- );
3508
- $args = array(
3509
- 'labels' => $labels,
3510
- 'hierarchical' => true,
3511
- 'public' => true,
3512
- 'show_ui' => true,
3513
- 'show_admin_column' => false,
3514
- 'show_in_rest' => true,
3515
- 'show_in_nav_menus' => true,
3516
- 'show_tagcloud' => true,
3517
- );
3518
- $taxonomy_key = sprintf('woo-feed-%s', strtolower($key));
 
 
 
3519
 
3520
- register_taxonomy($taxonomy_key, 'product', $args);
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
- if ( ! isset( $getValue['cmapping'] ) ) {
24
- return '';
25
- }
26
- $cmapping = is_array( $getValue['cmapping'] ) ? array_reverse( $getValue['cmapping'], true ) : $getValue['cmapping'];
27
- $categories = '';
 
28
 
29
- if ( get_the_terms( $parent, 'product_cat' ) ) {
30
- $categories = array_reverse( get_the_terms( $parent, 'product_cat' ) );
31
- }
32
 
33
- if ( ! empty( $categories ) && is_array( $categories ) && count( $categories ) ) {
34
- foreach ( $categories as $key => $category ) {
35
- if ( isset( $cmapping[ $category->term_id ] ) && ! empty( $cmapping[ $category->term_id ] ) ) {
36
- return $cmapping[ $category->term_id ];
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:231, woo-feed.php:351, woo-feed.php:426, woo-feed.php:782, woo-feed.php:822, woo-feed.php:842, woo-feed.php:868
16
  msgid "Unauthorized Action."
17
  msgstr ""
18
 
19
- #: woo-feed.php:236, woo-feed.php:355, 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:309
24
  msgid "Failed to fetch products."
25
  msgstr ""
26
 
27
- #: woo-feed.php:430
28
  msgid "Invalid Feed."
29
  msgstr ""
30
 
31
- #: woo-feed.php:554
32
  msgid "Feed Making Complete"
33
  msgstr ""
34
 
35
- #: woo-feed.php:638, woo-feed.php:678
36
  msgid "Failed security check"
37
  msgstr ""
38
 
39
- #: woo-feed.php:642, woo-feed.php:682
40
  msgid "Invalid Feed Type!"
41
  msgstr ""
42
 
43
- #: woo-feed.php:788
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:2843
395
  msgid "Brand"
396
  msgstr ""
397
 
398
- #: includes/helper.php:2844
399
  msgid "GTIN"
400
  msgstr ""
401
 
402
- #: includes/helper.php:2845
403
  msgid "MPN"
404
  msgstr ""
405
 
406
- #: includes/helper.php:2846
407
  msgid "EAN"
408
  msgstr ""
409
 
410
- #: includes/helper.php:2847
411
  msgid "ISBN"
412
  msgstr ""
413
 
414
- #: includes/helper.php:2848
415
  msgid "Age group"
416
  msgstr ""
417
 
418
- #: includes/helper.php:2849
419
  msgid "Gender"
420
  msgstr ""
421
 
422
- #: includes/helper.php:2850
423
  msgid "Material"
424
  msgstr ""
425
 
426
- #: includes/helper.php:2851
427
  msgid "Cost of good sold"
428
  msgstr ""
429
 
430
- #: includes/helper.php:2852
431
  msgid "Unit"
432
  msgstr ""
433
 
434
- #: includes/helper.php:2853, includes/classes/class-woo-feed-dropdown.php:405
435
  msgid "Unit Price Measure"
436
  msgstr ""
437
 
438
- #: includes/helper.php:2854, includes/classes/class-woo-feed-dropdown.php:406
439
  msgid "Unit Price Base Measure"
440
  msgstr ""
441
 
442
- #: includes/helper.php:2855
443
  msgid "Custom field 0"
444
  msgstr ""
445
 
446
- #: includes/helper.php:2856
447
  msgid "Custom field 1"
448
  msgstr ""
449
 
450
- #: includes/helper.php:2857
451
  msgid "Custom field 2"
452
  msgstr ""
453
 
454
- #: includes/helper.php:2858
455
  msgid "Custom field 3"
456
  msgstr ""
457
 
458
- #: includes/helper.php:2859
459
  msgid "Custom field 4"
460
  msgstr ""
461
 
462
- #: includes/helper.php:2928, includes/helper.php:3015
463
  msgid "CUSTOM FIELDS by CTX Feed"
464
  msgstr ""
465
 
466
- #: includes/helper.php:2940
467
  msgid " here."
468
  msgstr ""
469
 
470
- #: includes/helper.php:3101
471
  msgid "Mapping Not Changed"
472
  msgstr ""
473
 
474
- #: includes/helper.php:3107
475
  msgid "Mapping Updated Successfully"
476
  msgstr ""
477
 
478
- #: includes/helper.php:3218
 
 
 
 
479
  msgid "Clear Cache"
480
  msgstr ""
481
 
482
- #: includes/helper.php:3417
483
  msgid "User meta updated successfully."
484
  msgstr ""
485
 
486
- #: includes/helper.php:3493, includes/helper.php:3495
487
  msgid "by CTX Feed"
488
  msgstr ""
489
 
490
- #: includes/helper.php:3499, libs/WebAppick/AppServices/Insights.php:977
491
  msgid "Name"
492
  msgstr ""
493
 
494
- #: includes/helper.php:3503
495
  msgid "with commas"
496
  msgstr ""
497
 
498
- #: includes/helper.php:4678
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:66
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.17
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.17' );
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
- WooFeedWebAppickAPI::getInstance();
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.