CTX Feed – WooCommerce Product Feed Manager Plugin - Version 4.4.38

Version Description

(2021-11-19) = * Fixed: Loyalty point attribute for Google shopping template not working issue fixed. * Fixed: Product sale price override in schema issue fixed. * Fixed: Conflict with woo discount plugin and sale price attribute issue fixed.

Download this release

Release Info

Developer wahid0003
Plugin Icon 128x128 CTX Feed – WooCommerce Product Feed Manager Plugin
Version 4.4.38
Comparing to
See all releases

Code changes from version 4.4.37 to 4.4.38

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.2
7
  Requires PHP: 5.6
8
- Stable tag: 4.4.37
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -517,6 +517,11 @@ Using pro version:
517
 
518
  == Changelog ==
519
 
 
 
 
 
 
520
  = 4.4.37 (2021-11-16) =
521
  * Fixed: Currency/Unit postfix customization issue fix.
522
 
5
  Requires at least: 4.4
6
  Tested Up To: 5.8.2
7
  Requires PHP: 5.6
8
+ Stable tag: 4.4.38
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
517
 
518
  == Changelog ==
519
 
520
+ = 4.4.38 (2021-11-19) =
521
+ * Fixed: Loyalty point attribute for Google shopping template not working issue fixed.
522
+ * Fixed: Product sale price override in schema issue fixed.
523
+ * Fixed: Conflict with woo discount plugin and sale price attribute issue fixed.
524
+
525
  = 4.4.37 (2021-11-16) =
526
  * Fixed: Currency/Unit postfix customization issue fix.
527
 
admin/css/woo-feed-admin.css CHANGED
@@ -60,7 +60,7 @@
60
  }
61
 
62
  .woo-feed-ctx-startup-notice {
63
- min-height: 140px;
64
  background-size: contain !important;
65
  border: none;
66
  display: block;
60
  }
61
 
62
  .woo-feed-ctx-startup-notice {
63
+ min-height: 168px;
64
  background-size: contain !important;
65
  border: none;
66
  display: block;
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:3px;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-ctx-startup-notice{min-height:140px;background-size:contain!important;border:none;display:block;margin-left:0;margin-top:40px}.woo-feed-ctx-startup-notice button::before{color:#fbfbfb;font-size:18px}.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%}.woo-feed-btn-bg-gradient-blue,[data-class=woo-feed-btn-bg-gradient-blue]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-blue:hover,[data-class=woo-feed-btn-bg-gradient-blue]:hover{background:#3cb0fd!important}.woo-feed-btn-bg-gradient-red{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-red:hover{background:#fc5c65!important}.woo-feed-btn-bg-gradient-purple{background:linear-gradient(67.36deg,#9733ee 3.09%,#da22ff 64.97%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-purple:hover{background:#a203fb!important}.woo-feed-light-btn-bg-gradient-blue{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important}#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}.woofeed-body-content #providerPage{display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#providerPageWrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#providerPageWrapper .wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}#providerPageWrapper .wf_tabs:after{display:table;clear:both;content:""}#providerPageWrapper .wf_tabs li{background:#fff;float:left;display:none;border:2px solid #ccc}#providerPageWrapper .wf_tabs li.active{display:block}#providerPageWrapper .wf_tabs li .wf-tab-content{z-index:2;width:100%;font-size:.9rem;display:block;left:0}#providerPageWrapper .wf_tabs li .wf-tab-content .feed-actions{border:none;border-top:2px solid #ccc}#providerPageWrapper #tabName{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start}#providerPageWrapper #tabName .tab-name{min-width:300px;border:2px solid #ccc;border-bottom:none}#providerPageWrapper #tabName .tab-name input[type=radio]{display:none}#providerPageWrapper #tabName .tab-name label.activate{background:#2cc185;color:#fff}.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 [id^=tab]:checked~[id^=wf-tab-content]{display:block}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;border-color:#0073aa!important;padding-left:5px;padding-right:5px;border-radius:3px}.selectize-google-category .selectize-input{padding-right:30px}.selectize-google-category .selectize-dropdown-content{padding:0 8px}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item{color:#000!important;background-color:#edf0f2!important;margin-bottom:3px!important;padding:3px 8px!important;transition-duration:.6s}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item.active{background-color:#a2c8e1!important;transition-duration:.6s}.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;margin-top:10px}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 .get-woo-feed-pro img,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro img{width:172px}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):not(.counter){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 140%);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{position:relative}.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-notice .woo-feed-review-btn-dismiss{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;position:absolute;top:7px;right:7px;background:0 0;border:none;cursor:pointer}.woo-feed-notice .woo-feed-review-btn-dismiss span{line-height:18px}.woo-feed-notice .woo-feed-review-btn-dismiss:before{background:0 0;color:#787c82;content:"\f153";display:block;font:normal 16px/20px dashicons;speak:never;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased}.woo-feed-notice .woo-feed-review-btn-dismiss:hover:before{color:#d63638}.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}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group{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 td.woo-feed-status-page-btn-group .wf_clean_cache_wrapper{margin:initial}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group button,.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group input[type=button]{height:38px;padding:0 30px;font-size:16px;font-weight:500;border:none;outline:0}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:55px;height:28px}.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:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.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}
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:3px;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-ctx-startup-notice{min-height:168px;background-size:contain!important;border:none;display:block;margin-left:0;margin-top:40px}.woo-feed-ctx-startup-notice button::before{color:#fbfbfb;font-size:18px}.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%}.woo-feed-btn-bg-gradient-blue,[data-class=woo-feed-btn-bg-gradient-blue]{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-blue:hover,[data-class=woo-feed-btn-bg-gradient-blue]:hover{background:#3cb0fd!important}.woo-feed-btn-bg-gradient-red{background:linear-gradient(125deg,#eb4d4b 0,#ff9671 140%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-red:hover{background:#fc5c65!important}.woo-feed-btn-bg-gradient-purple{background:linear-gradient(67.36deg,#9733ee 3.09%,#da22ff 64.97%)!important;border:none;outline:0;border-width:0!important;box-shadow:none!important;transition:1s lenear;font-weight:500;color:#fff!important}.woo-feed-btn-bg-gradient-purple:hover{background:#a203fb!important}.woo-feed-light-btn-bg-gradient-blue{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)!important}#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}.woofeed-body-content #providerPage{display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#providerPageWrapper{display:-ms-flexbox;display:flex;-ms-flex-direction:column-reverse;flex-direction:column-reverse}#providerPageWrapper .wf_tabs{position:relative;margin:0 auto;width:100%;list-style:none}#providerPageWrapper .wf_tabs:after{display:table;clear:both;content:""}#providerPageWrapper .wf_tabs li{background:#fff;float:left;display:none;border:2px solid #ccc}#providerPageWrapper .wf_tabs li.active{display:block}#providerPageWrapper .wf_tabs li .wf-tab-content{z-index:2;width:100%;font-size:.9rem;display:block;left:0}#providerPageWrapper .wf_tabs li .wf-tab-content .feed-actions{border:none;border-top:2px solid #ccc}#providerPageWrapper #tabName{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:start;align-items:flex-start}#providerPageWrapper #tabName .tab-name{min-width:300px;border:2px solid #ccc;border-bottom:none}#providerPageWrapper #tabName .tab-name input[type=radio]{display:none}#providerPageWrapper #tabName .tab-name label.activate{background:#2cc185;color:#fff}.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 [id^=tab]:checked~[id^=wf-tab-content]{display:block}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;border-color:#0073aa!important;padding-left:5px;padding-right:5px;border-radius:3px}.selectize-google-category .selectize-input{padding-right:30px}.selectize-google-category .selectize-dropdown-content{padding:0 8px}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item{color:#000!important;background-color:#edf0f2!important;margin-bottom:3px!important;padding:3px 8px!important;transition-duration:.6s}.selectize-google-category .selectize-dropdown-content .wapk-selectize-item.active{background-color:#a2c8e1!important;transition-duration:.6s}.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;margin-top:10px}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 .get-woo-feed-pro img,table.wf-rate-table th .woo-feed-top-header .get-woo-feed-pro img{width:172px}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):not(.counter){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 140%);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{position:relative}.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-notice .woo-feed-review-btn-dismiss{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-line-pack:center;align-content:center;position:absolute;top:7px;right:7px;background:0 0;border:none;cursor:pointer}.woo-feed-notice .woo-feed-review-btn-dismiss span{line-height:18px}.woo-feed-notice .woo-feed-review-btn-dismiss:before{background:0 0;color:#787c82;content:"\f153";display:block;font:normal 16px/20px dashicons;speak:never;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased}.woo-feed-notice .woo-feed-review-btn-dismiss:hover:before{color:#d63638}.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}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group{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 td.woo-feed-status-page-btn-group .wf_clean_cache_wrapper{margin:initial}.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group button,.woo-feed-status-table-wrapper .woo-feed-status-table tr td.woo-feed-status-page-btn-group input[type=button]{height:38px;padding:0 30px;font-size:16px;font-weight:500;border:none;outline:0}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:55px;height:28px}.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:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s}.wapk-admin input:checked+.slider{background:linear-gradient(125deg,#3cb0fd 0,#6c5ce7 140%)}.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
@@ -60,7 +60,7 @@
60
  }
61
  }
62
  .woo-feed-ctx-startup-notice {
63
- min-height: 140px;
64
  background-size: contain !important;
65
  border: none;
66
  display: block;
60
  }
61
  }
62
  .woo-feed-ctx-startup-notice {
63
+ min-height: 168px;
64
  background-size: contain !important;
65
  border: none;
66
  display: block;
admin/images/ctx-feed-black-friday-banner-2021.png CHANGED
Binary file
admin/js/fancy-select.min.js.map CHANGED
File without changes
admin/js/jquery-sortable.min.js.map CHANGED
File without changes
admin/js/woo-feed-admin-pro.min.js.map CHANGED
File without changes
admin/js/woo-feed-admin.js CHANGED
@@ -1380,7 +1380,6 @@
1380
 
1381
  $(document).on('feedEditor.init', function(){
1382
  update_postfix();
1383
- $('.wf_attr.wf_attributes, #table-1 tbody').on( 'change', update_postfix );
1384
  });
1385
 
1386
  });
1380
 
1381
  $(document).on('feedEditor.init', function(){
1382
  update_postfix();
 
1383
  });
1384
 
1385
  });
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 o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),e}!function(s,a,c,l,f){s.fn.disabled=function(o){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===o||!0===o):!0===o?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;o(e.trigger,(t=e.action,e="cut"===t?"X":"C",t=/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+e+" to "+t:"Press Ctrl-"+e+" to "+t))}).on("success",function(e){o(e.trigger,"Copied")}))}var n,i,d=function(){function a(e,t,o){_classCallCheck(this,a),this.productCustomFields(e,t,o)}return _createClass(a,[{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(t){var o=this,e={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:t,status:1<arguments.length&&void 0!==arguments[1]&&arguments[1],isTaxonomy:2<arguments.length?arguments[2]:void 0};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e,success:function(e){e.success?o.cacheClear():console.log(e),s("#"+t+"-switcher").closest("td").find(".switch-loader").hide()}})}}]),a}(),_={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")?f.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,o,a,n){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||a||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,o,a){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),n&&"function"==typeof n&&n(e,t,o,a)}},o))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").not(".selectize-google-category").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:_.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(o,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(o,"]")))})})},common:function(){_.sortable(s(".sorted_table"),{},9,_.reindex_config_table),_.selectize(),_.fancySelect(s(".outputType"))}},u={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(_.common(),s(c).trigger("feed_editor_init"),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(o,a,n){for(var e in n)!function(e){var t;n.hasOwnProperty(e)&&(o.find(".merchant-info-section."+e+" .data").html(n[e]),"feed_file_type"===e&&((t=n[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==f.na.toLowerCase()})).length?(a.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&a.find('option[value="'+t[0]+'"]').attr("selected","selected")):a.find("option").disabled(!1)))}(e);o.find(".spinner").removeClass("is-active"),a.disabled(!1),a.trigger("change"),s(c).trigger("woo_feed_config_loaded"),a.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(o,a){for(var e in a)!function(t){var e;a.hasOwnProperty(t)&&("tabs"===t?o.html(a[t]):(e=s('[name="'+t+'"]')).length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+a[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===a[t]?e.prop("checked",!0):e.val(a[t])}).trigger("change"))}(e);u.init()}},p=[],h=[],g=function(){function e(){_classCallCheck(this,e),this._feed=f.generator.feed,this._limit=f.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=f.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 t=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();e=s(this).data("condition");1===e&&l.post("woo_feed_hide_promotion",{_ajax_nonce:f.nonce,condition:e}).then(function(e){t._log(e)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),t._current_btn=s(this),t._current_btn.hasClass("disabled")||!0===a.isRegenerating||(t._feed=t._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==t._feed&&t.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",f.regenerate).attr("title",f.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,o=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,o._log({response:e}),e.success?(o._log("Total ".concat(e.total," Products found.")),o._product_ids=e.product,o._total_batch=t._product_ids.length,o._current_batch=0,o._progress_per_batch=(90-t._progress)/t._total_batch,o._process_batch(),o._updateProgressStatus("Processing Products...")):o._updateProgressStatus(e.data.message)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red",setTimeout(function(){o._stopProgressBar(),o._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:f.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:f.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:f.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(a.location.href="".concat(f.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 f.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){t._updateProgressBar()},e||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").html(e),this}},{key:"_getErrorMessageByCode",value:function(e){s(".feed-progress-status").css({color:this._color}),s(".feed-progress-percentage").css({color:this._color}),s(".wpf_spin").css({color:this._color});var t=e.status+" : "+e.statusText+". ";500===e.status&&(t+="Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>."),this._updateProgressStatus(t)}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),o="".concat(Math.round(this._progress),"%");t.css({width:o}),e.text(o)}}]),e}();a.wf={helper:_,feedEditor:u,generator:g},s(a).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content"),t(),postboxes.add_postbox_toggles(pagenow),(new g).init(),""!==f.generator.feed&&f.generator.regenerate,u.init(),_.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("blur",'input[name="wfDAttributeName"]',function(e){e.preventDefault();e=s(this).val();e=(e=e.toLowerCase()).split(" ").join("_"),s("#wfDAttributeCode").val(e)}).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),_.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(f.form.del_confirm)&&(a.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var e=s(".woo-feed-clean-cache-nonce").val(),t=s(".woo-feed-cache-loader");t.show(),l.post("clear_cache_data",{_ajax_clean_nonce:e}).then(function(e){e.success&&(t.hide(),location.reload())}).fail(function(){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),e=s("#woo-feed-status-area");t.val("Copied"),e.css("visibility","visible"),e.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,o=s(this).val(),a=s(this).parents("tr").find(".outputType"),e=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),n=s(this).parents("tr").find(".fancy-picker-data span"),r=["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");e.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t&&"for_all"!==t||e.each(function(){r===s(this).text()&&(s(this).addClass("selected"),n.text(r),a.find("option").text(r),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(f.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),e=e.closest("tr");"pattern"===t?(e.find(".value_attribute").hide(),e.find(".value_pattern").show()):"attribute"===t?(e.find(".value_attribute").show(),e.find(".value_pattern").hide()):"remove"===t&&(e.find(".value_attribute").hide(),e.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),_.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(f.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?f.form.save:f.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",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")):("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(f.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:f.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(f.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(f.form.sftp_warning)}).fail(function(e){t.hide(),_.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(),o=s(this).find(":selected").text(),a=s("#filename").val(),n=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> '+f.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),n.disabled(!0),n.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),p.hasOwnProperty(t)?(u.renderMerchantInfo(i,n,p[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:f.nonce,provider:t,templateName:o}}).then(function(e){p[t]=e,u.renderMerchantInfo(i,n,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail),h.hasOwnProperty(t)?(u.renderMerchantTemplate(r,h[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:f.nonce,merchant:t}).then(function(e){h[t]=e,u.renderMerchantTemplate(r,e),s("#utm_source").val(o),s("#utm_campaign").val(a),"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(_.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:f.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(),e=e.closest("tr");"pattern"===t?(e.find(".wf_attr").hide(),e.find(".wf_attr").val(""),e.find(".wf_default").show()):(e.find(".wf_attr").show(),e.find(".wf_default").hide(),e.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),o=e.find(".attr_type"),a=e.find("td:eq(4)"),n=s("#provider").val();f.form.google_category.hasOwnProperty(t.val())&&"pattern"===o.val()&&_.in_array(n,f.form.google_category[t.val()])?0===a.find("select.selectize").length&&(a.find("input.wf_default").remove(),a.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),a.append('<span style="font-size:x-small;"><a style="color: red" href="https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/" target="_blank">'.concat(f.learn_more,"</a></span>")),i||a.append('<span class="spinner is-active" style="margin: 0;"></span>'),e=a.find(".wf_attributes select"),_.selectize(e,{preload:!0,placeholder:f.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:f.nonce,action:"get_google_categories",provider:n}}).then(function(e){t(i=e),a.find(".spinner").remove()}).fail(_.ajax_fail)}})):"current_category"!==t.val()&&0===a.find("input.wf_default").length&&(a.find("span").remove(),a.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==o.val()&&a.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),o=s("#provider").val(),a=s(".itemWrapper"),n=s(".wf_csvtxt");""!==t&&_.in_array(o,f.form.item_wrapper_hidden)&&a.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(n.show(),a.hide(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t&&"custom"===o?(a.show(),n.hide()):"json"===t&&n.hide()),"custom"!==o&&a.hide()}).trigger("change"),s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){s(this).closest("td").find(".switch-loader").show();var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),o=s(this).prop("checked");new d(e,o,t)}).ready(function(){var e=s(".wapk-feed-buy-now-container");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()}).on("keyup","#filename",function(){var e=s("#filename").val();s("#utm_campaign").val(e)}).on("click",".wf-tab-name",function(e){s(".wf-tab-name.activate").removeClass("activate"),s(this).addClass("activate");var t=s(this).attr("for");s(".wf_tabs li.active").removeClass("active"),s(".wf_tabs .wf-tab-content#"+t).parent().addClass("active")}).on("change","#category-mapping-form #providers",function(){var e=s(this).find(":selected").val();-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(e)?(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%"))}).on("click",'span[id*="cat-map-"]',function(e){e.preventDefault();var o,t=s("#category-mapping-form #providers").val(),a=s(this).attr("id").replace(/[^\d.]/g,""),e="group-child-"+a;-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)?(o=s(this).parents("tr").find(".selectized").val())&&s("."+e).parents("tr").find("select").each(function(e,t){s(t).data("selectize").setValue(o)}):(a=s("#cat_mapping_"+a).val(),s("."+e).parents("tr").find("input").val(a))}),s(c).ready(function(){l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:f.nonce,action:"get_google_categories"}}).then(function(e){s(".selectize-google-category").selectize({valueField:"value",labelField:"text",placeholder:"Select a category",searchField:["value","text"],options:e,render:{option:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")},item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")}}})}).fail(_.ajax_fail)}),s(c).on("feed_editor_init",function(){var t=s(".merchant-info-section.feed_file_type .data").html().split(",").map(function(e){return e.trim().toLowerCase()}),e=s("#feedType");t.length?(e.find("option").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&e.find('option[value="'+t[0]+'"]').attr("selected","selected")):e.find("option").disabled(!1)}),s(c).on("ready",function(){function e(){var t={price:wpf_ajax_obj.woocommerce.currency,current_price:wpf_ajax_obj.woocommerce.currency,sale_price:wpf_ajax_obj.woocommerce.currency,price_with_tax:wpf_ajax_obj.woocommerce.currency,current_price_with_tax:wpf_ajax_obj.woocommerce.currency,sale_price_with_tax:wpf_ajax_obj.woocommerce.currency,weight:wpf_ajax_obj.woocommerce.weight,weight_unit:wpf_ajax_obj.woocommerce.weight,height:wpf_ajax_obj.woocommerce.dimension,length:wpf_ajax_obj.woocommerce.dimension,width:wpf_ajax_obj.woocommerce.dimension};s(".wf_attr.wf_attributes").each(function(o,e){var a=s(e).val(),e=s('input[name^="suffix"]').eq(parseInt(o)).val();-1!==s.inArray(e,[" "+wpf_ajax_obj.woocommerce.currency," "+wpf_ajax_obj.woocommerce.weight," "+wpf_ajax_obj.woocommerce.dimension])&&s('input[name^="suffix"]').eq(parseInt(o)).val(""),s.each(t,function(e,t){a===e&&""===s('input[name^="suffix"]').eq(parseInt(o)).val()&&s('input[name^="suffix"]').eq(parseInt(o)).val(" "+t)})}),s(c).trigger("feedEditor.after.free.postfix.update")}s(c).on("feedEditor.init",function(){e(),s(".wf_attr.wf_attributes, #table-1 tbody").on("change",e)})})}(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 o=0;o<t.length;o++){var a=t[o];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),e}!function(s,a,c,l,f){s.fn.disabled=function(o){return s(this).each(function(){var e=s(this),t="disabled";void 0!==e.prop(t)?e.prop(t,void 0===o||!0===o):!0===o?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;o(e.trigger,(t=e.action,e="cut"===t?"X":"C",t=/iPhone|iPad/i.test(navigator.userAgent)?"No support :(":/Mac/i.test(navigator.userAgent)?"Press ⌘-"+e+" to "+t:"Press Ctrl-"+e+" to "+t))}).on("success",function(e){o(e.trigger,"Copied")}))}var n,i,d=function(){function a(e,t,o){_classCallCheck(this,a),this.productCustomFields(e,t,o)}return _createClass(a,[{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(t){var o=this,e={action:"woo_feed_custom_fields_status_change",nonce:wpf_ajax_obj.ajax.nonce,field:t,status:1<arguments.length&&void 0!==arguments[1]&&arguments[1],isTaxonomy:2<arguments.length?arguments[2]:void 0};s.ajax({method:"POST",url:wpf_ajax_obj.wpf_ajax_url,data:e,success:function(e){e.success?o.cacheClear():console.log(e),s("#"+t+"-switcher").closest("td").find(".switch-loader").hide()}})}}]),a}(),_={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")?f.ajax.error+"\n"+e.statusText+" ("+e.status+")":e)},sortable:function(e,o,a,n){return(e||s(".sorted_table")).each(function(){var e=s(this),t=e.find("tbody > tr:eq(0) > td").length||a||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,o,a){e.removeClass(t.group.options.draggedClass).removeAttr("style"),s("body").removeClass(t.group.options.bodyClass),n&&"function"==typeof n&&n(e,t,o,a)}},o))})},selectize:function(e,t){return(e||s("select.selectize")).not(".selectized").not(".selectize-google-category").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:_.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(o,e){s(e).find("[name]").each(function(e,t){s(t).attr("name",s(t).attr("name").replace(/(\[\d\])/g,"[".concat(o,"]")))})})},common:function(){_.sortable(s(".sorted_table"),{},9,_.reindex_config_table),_.selectize(),_.fancySelect(s(".outputType"))}},u={form:null,init:function(){this.form=s(".generateFeed"),this.form.length&&(_.common(),s(c).trigger("feed_editor_init"),s(c).trigger(new jQuery.Event("feedEditor.init",{target:this.form})))},renderMerchantInfo:function(o,a,n){for(var e in n)!function(e){var t;n.hasOwnProperty(e)&&(o.find(".merchant-info-section."+e+" .data").html(n[e]),"feed_file_type"===e&&((t=n[e].split(",").map(function(e){return e.trim().toLowerCase()}).filter(function(e){return""!==e&&e!==f.na.toLowerCase()})).length?(a.find("option").removeAttr("selected").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&a.find('option[value="'+t[0]+'"]').attr("selected","selected")):a.find("option").disabled(!1)))}(e);o.find(".spinner").removeClass("is-active"),a.disabled(!1),a.trigger("change"),s(c).trigger("woo_feed_config_loaded"),a.parent().find(".spinner").removeClass("is-active")},renderMerchantTemplate:function(o,a){for(var e in a)!function(t){var e;a.hasOwnProperty(t)&&("tabs"===t?o.html(a[t]):(e=s('[name="'+t+'"]')).length&&e.each(function(){var e=s(this);e.is("select")?e.find('[value="'+a[t]+'"]').prop("selected",!0):(e.is("[type=checkbox]")||e.is("[type=radio]"))&&e.val()===a[t]?e.prop("checked",!0):e.val(a[t])}).trigger("change"))}(e);u.init()}},p=[],h=[],g=function(){function e(){_classCallCheck(this,e),this._feed=f.generator.feed,this._limit=f.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=f.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 t=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();e=s(this).data("condition");1===e&&l.post("woo_feed_hide_promotion",{_ajax_nonce:f.nonce,condition:e}).then(function(e){t._log(e)}).fail(function(e){t._log(e),t._updateProgressStatus(e.message),t._color="red"})}),s(c).on("click",".wpf_regenerate",function(e){e.preventDefault(),t._current_btn=s(this),t._current_btn.hasClass("disabled")||!0===a.isRegenerating||(t._feed=t._current_btn.attr("id").replace("wf_feed_","wf_config"),""!==t._feed&&t.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",f.regenerate).attr("title",f.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,o=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,o._log({response:e}),e.success?(o._log("Total ".concat(e.total," Products found.")),o._product_ids=e.product,o._total_batch=t._product_ids.length,o._current_batch=0,o._progress_per_batch=(90-t._progress)/t._total_batch,o._process_batch(),o._updateProgressStatus("Processing Products...")):o._updateProgressStatus(e.data.message)}).fail(function(e){o._log(e),o._updateProgressStatus(e.message),o._color="red",setTimeout(function(){o._stopProgressBar(),o._unblock_button()},1500)})}},{key:"_get_product_ids",value:function(){return this._progress=5,l.post("get_product_information",{_ajax_nonce:f.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:f.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:f.nonce,feed:this._feed}).then(function(e){t._log(e),t._progress=100,t._refresh&&(a.location.href="".concat(f.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 f.wpf_debug&&console.log(e),this}},{key:"_progressBarActive",value:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._toggleProgressBar(!0),this._timer=setInterval(function(){t._updateProgressBar()},e||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").html(e),this}},{key:"_getErrorMessageByCode",value:function(e){s(".feed-progress-status").css({color:this._color}),s(".feed-progress-percentage").css({color:this._color}),s(".wpf_spin").css({color:this._color});var t=e.status+" : "+e.statusText+". ";500===e.status&&(t+="Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>."),this._updateProgressStatus(t)}},{key:"_updateProgressBar",value:function(){var e=s(".feed-progress-percentage"),t=s(".feed-progress-bar-fill"),o="".concat(Math.round(this._progress),"%");t.css({width:o}),e.text(o)}}]),e}();a.wf={helper:_,feedEditor:u,generator:g},s(a).on("load",function(){null!==s(location).attr("href").match(/webappick.*feed/g)&&s("#wpbody-content").addClass("woofeed-body-content"),t(),postboxes.add_postbox_toggles(pagenow),(new g).init(),""!==f.generator.feed&&f.generator.regenerate,u.init(),_.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("blur",'input[name="wfDAttributeName"]',function(e){e.preventDefault();e=s(this).val();e=(e=e.toLowerCase()).split(" ").join("_"),s("#wfDAttributeCode").val(e)}).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),_.fancySelect(s(".outputType"))}).on("click",".single-feed-delete",function(e){e.preventDefault(),confirm(f.form.del_confirm)&&(a.location.href=s(this).attr("val"))}).on("click",".wf_clean_cache_wrapper",function(e){e.preventDefault();var e=s(".woo-feed-clean-cache-nonce").val(),t=s(".woo-feed-cache-loader");t.show(),l.post("clear_cache_data",{_ajax_clean_nonce:e}).then(function(e){e.success&&(t.hide(),location.reload())}).fail(function(){console.log("something wrong")})}).on("click","#woo-feed-copy-status-btn",function(e){e.preventDefault();var t=s("#woo-feed-copy-status-btn"),e=s("#woo-feed-status-area");t.val("Copied"),e.css("visibility","visible"),e.select(),c.execCommand("copy")}).on("change",".wf_attr.wf_attributes",function(e){e.preventDefault(),s(".fancy-picker-picked").trigger("click");var t,o=s(this).val(),a=s(this).parents("tr").find(".outputType"),e=s(this).parents("tr").find(".fancy-picker-content .fancy-picker-option"),n=s(this).parents("tr").find(".fancy-picker-data span"),r=["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");e.removeClass("selected"),"for_custom_taxo"!==t&&"for_price"!==t&&"for_all"!==t||e.each(function(){r===s(this).text()&&(s(this).addClass("selected"),n.text(r),a.find("option").text(r),a.find("option").val(s(this).data("value")))})}).on("click","#doaction, #doaction2",function(){return confirm(f.form.del_confirm_multi)}).on("change",".dType",function(){var e=s(this),t=e.val(),e=e.closest("tr");"pattern"===t?(e.find(".value_attribute").hide(),e.find(".value_pattern").show()):"attribute"===t?(e.find(".value_attribute").show(),e.find(".value_pattern").hide()):"remove"===t&&(e.find(".value_attribute").hide(),e.find(".value_pattern").hide())}).on("click",".delRow",function(e){e.preventDefault(),s(this).closest("tr").remove(),_.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(f.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?f.form.save:f.form.generate,"</b>"))}).on("ready woo_feed_config_loaded",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")):("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(f.form.sftp_checking),l.post("get_ssh2_status",{_ajax_nonce:f.nonce,server:e}).then(function(e){"exists"===e?(t.css("color","#2CC185").text(f.form.sftp_available),setTimeout(function(){t.hide()},1500)):t.show().css("color","red").text(f.form.sftp_warning)}).fail(function(e){t.hide(),_.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(),o=s(this).find(":selected").text(),a=s("#filename").val(),n=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> '+f.form.loading_tmpl+"</h3>"),i.find(".spinner").addClass("is-active"),n.disabled(!0),n.parent().find(".spinner").addClass("is-active"),i.find(".merchant-info-section .data").html(""),p.hasOwnProperty(t)?(u.renderMerchantInfo(i,n,p[t]),s(c).trigger("woo_feed_config_loaded")):l.send("woo_feed_get_merchant_info",{type:"GET",data:{nonce:f.nonce,provider:t,templateName:o}}).then(function(e){p[t]=e,u.renderMerchantInfo(i,n,e)}).then(function(){s(c).trigger("woo_feed_config_loaded")}).fail(_.ajax_fail),h.hasOwnProperty(t)?(u.renderMerchantTemplate(r,h[t]),s(c).trigger("woo_feed_config_loaded")):l.post("get_feed_merchant",{_ajax_nonce:f.nonce,merchant:t}).then(function(e){h[t]=e,u.renderMerchantTemplate(r,e),s("#utm_source").val(o),s("#utm_campaign").val(a),"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(_.ajax_fail)}).on("change",".woo_feed_status_input",function(){var e=s(this);l.post("update_feed_status",{_ajax_nonce:f.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(),e=e.closest("tr");"pattern"===t?(e.find(".wf_attr").hide(),e.find(".wf_attr").val(""),e.find(".wf_default").show()):(e.find(".wf_attr").show(),e.find(".wf_default").hide(),e.find(".wf_default").val(""))}).on("change",".wf_mattributes, .attr_type",function(){var e=s(this).closest("tr"),t=e.find(".wf_mattributes"),o=e.find(".attr_type"),a=e.find("td:eq(4)"),n=s("#provider").val();f.form.google_category.hasOwnProperty(t.val())&&"pattern"===o.val()&&_.in_array(n,f.form.google_category[t.val()])?0===a.find("select.selectize").length&&(a.find("input.wf_default").remove(),a.append('<span class="wf_default wf_attributes"><select name="default[]" class="selectize"></select></span>'),a.append('<span style="font-size:x-small;"><a style="color: red" href="https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/" target="_blank">'.concat(f.learn_more,"</a></span>")),i||a.append('<span class="spinner is-active" style="margin: 0;"></span>'),e=a.find(".wf_attributes select"),_.selectize(e,{preload:!0,placeholder:f.form.select_category,load:function(e,t){i?t(i):l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:f.nonce,action:"get_google_categories",provider:n}}).then(function(e){t(i=e),a.find(".spinner").remove()}).fail(_.ajax_fail)}})):"current_category"!==t.val()&&0===a.find("input.wf_default").length&&(a.find("span").remove(),a.append('<input autocomplete="off" class="wf_default wf_attributes" type="text" name="default[]" value="">'),"pattern"!==o.val()&&a.find("input.wf_default").hide())}).on("change","#feedType,#provider",function(e){var t=s("#feedType").val(),o=s("#provider").val(),a=s(".itemWrapper"),n=s(".wf_csvtxt");""!==t&&_.in_array(o,f.form.item_wrapper_hidden)&&a.hide(),"feedType"===e.target.id&&("csv"===t||"txt"===t||"tsv"===t?(n.show(),a.hide(),"tsv"===t?s("#delimiter option:last").prop("selected","selected"):"csv"===t&&s("#delimiter option:first").prop("selected","selected")):"xml"===t&&"custom"===o?(a.show(),n.hide()):"json"===t&&n.hide()),"custom"!==o&&a.hide()}).trigger("change"),s(c).on("click",'.woofeed-custom-fields [id*="-switcher"]',function(){s(this).closest("td").find(".switch-loader").show();var e=s(this).attr("id").split("-")[0],t=s(this).data("taxonomy"),o=s(this).prop("checked");new d(e,o,t)}).ready(function(){var e=s(".wapk-feed-buy-now-container");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()}).on("keyup","#filename",function(){var e=s("#filename").val();s("#utm_campaign").val(e)}).on("click",".wf-tab-name",function(e){s(".wf-tab-name.activate").removeClass("activate"),s(this).addClass("activate");var t=s(this).attr("for");s(".wf_tabs li.active").removeClass("active"),s(".wf_tabs .wf-tab-content#"+t).parent().addClass("active")}).on("change","#category-mapping-form #providers",function(){var e=s(this).find(":selected").val();-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(e)?(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%"))}).on("click",'span[id*="cat-map-"]',function(e){e.preventDefault();var o,t=s("#category-mapping-form #providers").val(),a=s(this).attr("id").replace(/[^\d.]/g,""),e="group-child-"+a;-1!==["google","facebook","pinterest","bing","bing_local_inventory","snapchat"].indexOf(t)?(o=s(this).parents("tr").find(".selectized").val())&&s("."+e).parents("tr").find("select").each(function(e,t){s(t).data("selectize").setValue(o)}):(a=s("#cat_mapping_"+a).val(),s("."+e).parents("tr").find("input").val(a))}),s(c).ready(function(){l.send("get_google_categories",{type:"GET",data:{_ajax_nonce:f.nonce,action:"get_google_categories"}}).then(function(e){s(".selectize-google-category").selectize({valueField:"value",labelField:"text",placeholder:"Select a category",searchField:["value","text"],options:e,render:{option:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")},item:function(e,t){return'<div class="item wapk-selectize-item">'.concat(t(e.value+" - "+e.text),"</div>")}}})}).fail(_.ajax_fail)}),s(c).on("feed_editor_init",function(){var t=s(".merchant-info-section.feed_file_type .data").html().split(",").map(function(e){return e.trim().toLowerCase()}),e=s("#feedType");t.length?(e.find("option").each(function(){var e=s(this);e.val()&&!_.in_array(e.val(),t)?e.disabled(!0):e.disabled(!1)}),1===t.length&&e.find('option[value="'+t[0]+'"]').attr("selected","selected")):e.find("option").disabled(!1)}),s(c).on("ready",function(){s(c).on("feedEditor.init",function(){var t;t={price:wpf_ajax_obj.woocommerce.currency,current_price:wpf_ajax_obj.woocommerce.currency,sale_price:wpf_ajax_obj.woocommerce.currency,price_with_tax:wpf_ajax_obj.woocommerce.currency,current_price_with_tax:wpf_ajax_obj.woocommerce.currency,sale_price_with_tax:wpf_ajax_obj.woocommerce.currency,weight:wpf_ajax_obj.woocommerce.weight,weight_unit:wpf_ajax_obj.woocommerce.weight,height:wpf_ajax_obj.woocommerce.dimension,length:wpf_ajax_obj.woocommerce.dimension,width:wpf_ajax_obj.woocommerce.dimension},s(".wf_attr.wf_attributes").each(function(o,e){var a=s(e).val(),e=s('input[name^="suffix"]').eq(parseInt(o)).val();-1!==s.inArray(e,[" "+wpf_ajax_obj.woocommerce.currency," "+wpf_ajax_obj.woocommerce.weight," "+wpf_ajax_obj.woocommerce.dimension])&&s('input[name^="suffix"]').eq(parseInt(o)).val(""),s.each(t,function(e,t){a===e&&""===s('input[name^="suffix"]').eq(parseInt(o)).val()&&s('input[name^="suffix"]').eq(parseInt(o)).val(" "+t)})}),s(c).trigger("feedEditor.after.free.postfix.update")})})}(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","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","$","document","opts","self","prop","status","addClass","removeClass","hasClass","currentTarget","clearTooltip","userAgent","actionMsg","match","actionKey","index","join","removeAttr","elem","attr","msg","extend","_default","_args","clip","$copyBtn","ClipboardJS","isSupported","test","navigator","feedGenerator","this","on","action","showTooltip","event","trigger","wpf_ajax_obj","success","url","data","_classCallCheck","WooFeedCustomFields","productCustomFields","field","isTaxonomy","value","ajax","nonce","method","response","wpf_ajax_url","clipboard","googleCategories","log","closest","find","hide","in_array","needle","haystack","indexOf","console","selectize_render_item","escape","sortable","onDrop","text","ajax_fail","column_count","warn","wf_sortable","containerSelector","e","hasOwnProperty","error","statusText","el","config","column","_onDrop","each","length","selectize","itemPath","itemSelector","concat","plugins","$item","container","group","options","draggedClass","bodyClass","render","item","helper","not","fancySelect","maxItemShow","create","split","map","s","handle","placeholder","form","replace","x","reindex_config_table","init","renderMerchantInfo","jQuery","k","opt","merchantInfo","feedType","r","types","html","t","trim","toLowerCase","na","disabled","val","_loop2","renderMerchantTemplate","_loop","filter","contentSettings","feedForm","feedEditor","merchantInfoCache","tooltip","css","top","_regenerate","isRegenerating","feed","_progress","_product_ids","_progress_per_batch","_refresh","_feed","_all_btn","generate","_current_btn","condition","_current_batch","then","URLSearchParams","preventDefault","parent","_current_btn_label","_ajax_nonce","_log","_updateProgressStatus","message","_color","regenerate","setTimeout","_this2","_stopProgressBar","_process_batch","fail","limit","_limit","_block_button","_progressBarActive","_save_feed_file","loop","_get_product_ids","_total_batch","_unblock_button","_resetProgressBar","refreshInterval","post","arguments","undefined","clearInterval","_timer","setInterval","_updateProgressBar","update","_toggleProgressBar","table","show","color","width","generator","pagenow","attr_name","hover","title","appendTo","remove","left","pageX","href","slideToggle","loader","tbody","location","reload","button","status_area","select","execCommand","progress_message","current_attribute_value","fancyOption","fancyDataPicker","selectIf","price_attributes","selectKey","percentage","outputSelect","parents","includes","add_postbox_toggles","confirm","del_confirm_multi","row","append","type","_ajax_clean_nonce","validate","valid","save","server","sftp_checking","merchant","name","templateName","loading_tmpl","provider","send","merchantTemplateCache","outOfStockVisibilityRow","checked","valueColumn","attribute","preload","load","google_category","query","learn_more","cb","itemWrapper","wf_csv_txt","id","windowpos","download","googleMap","click","for_attr","setValue","catField","catId","providerName","groupId","v","searchField","option","createObjectURL","labelField","woocommerce","currency","update_postfix","price","inArray","current_Value","parseInt","sale_price","_key","sale_price_with_tax","attribute_value","weight","height","dimension"],"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 \"use strict\";\n /**\n * All of the code for your admin-facing JavaScript source\n * should reside in this file.\n *\n * Note: It has been assumed you will write jQuery code here, so the\n * $ function reference has been prepared for usage within the scope\n * of this function.\n *\n * This enables you to define handlers, for when the DOM is ready:\n */\n\n /**\n * disable element utility\n *\n * @since 3.1.9\n *\n * @param {*} status\n * @returns {$|HTMLElement}\n */\n $.fn.disabled = function(status) {\n $(this).each(function() {\n let self = $(this),\n prop = 'disabled';\n\n if (typeof self.prop(prop) !== 'undefined') {\n self.prop(prop, status === void 0 || status === true);\n } else {\n !0 === status ? self.addClass(prop) : self.removeClass(prop);\n }\n });\n return self; // method chaining\n };\n\n /**\n * Check if a HTMLElement or jQuery is disabled\n */\n $.fn.isDisabled = function() {\n let self = $(this),\n prop = 'disabled';\n return typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n };\n\n /**\n * Clear Tooltip for clip board js\n * @param {Object} event\n */\n const clearTooltip = (event) => {\n $(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n };\n\n const showTooltip = (elem, msg) => {\n $(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n };\n\n const fallbackMessage = (action) =>{\n let actionMsg,\n actionKey = action === 'cut' ? 'X' : 'C';\n\n if (/iPhone|iPad/i.test(navigator.userAgent)) {\n actionMsg = 'No support :(';\n } else if (/Mac/i.test(navigator.userAgent)) {\n actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n } else {\n actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n }\n\n return actionMsg;\n };\n\n /**\n * Alias of jQuery.extend()\n * @param {Object} _default\n * @param {Object} _args\n */\n const extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\n\t/*\n\t* Handles product attributes\n\t*\n\t* @since 4.4.18\n\t* */\n\tclass WooFeedCustomFields {\n\n\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t}\n\n\t\tcacheClear() {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata\n\t\t\t});\n\t\t}\n\n\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\tfield,\n\t\t\t\tstatus,\n\t\t\t\tisTaxonomy\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata,\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t}\n $('#'+field+'-switcher').closest('td').find('.switch-loader').hide();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n let $copyBtn,\n clipboard,\n googleCategories,\n helper = {\n in_array: (needle, haystack) => {\n try {\n return haystack.indexOf(needle) !== -1;\n } catch (e) {\n return false;\n }\n },\n selectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n ajax_fail: e => {\n console.warn(e);\n alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n },\n /**\n * Initialize Sortable\n * @param {$|HTMLElement} el\n * @param {object} config\n * @param {int|boolean} column\n * @param {function} onDrop\n * @return {$|HTMLElement}\n */\n sortable: (el, config, column, onDrop) => {\n return (el || $('.sorted_table')).each(function() {\n let self = $(this),\n column_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n self.wf_sortable(extend({\n containerSelector: 'table',\n itemPath: '> tbody',\n itemSelector: 'tr',\n handle: 'i.wf_sortedtable',\n placeholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n onDrop: ($item, container, _super, event) => {\n $item.removeClass(container.group.options.draggedClass).removeAttr('style');\n $(\"body\").removeClass(container.group.options.bodyClass);\n if ( onDrop && 'function' === typeof( onDrop ) ) {\n onDrop( $item, container, _super, event );\n }\n },\n }, config));\n });\n },\n selectize: (el, config) => {\n return (el || $('select.selectize')).not('.selectized').not('.selectize-google-category').each(function() {\n let self = $(this);\n self.selectize(extend({\n create: self.data('create') || false,\n plugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n return s.trim();\n }) : [],\n //['remove_button'],\n render: {\n item: helper.selectize_render_item\n }\n }, config));\n });\n },\n fancySelect: (el, config) => {\n return (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n let self = $(this);\n self.fancySelect(extend({\n maxItemShow: 3\n }, config));\n });\n },\n reindex_config_table: () => {\n $('#table-1').find('tbody tr').each( ( x, el ) => {\n $(el).find('[name]').each( ( x1, el ) => {\n $(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n } );\n } );\n },\n common: () => {\n helper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n helper.selectize();\n helper.fancySelect($('.outputType'));\n }\n },\n // helper functions\n feedEditor = {\n /**\n * The Editor Form Elem.\n * @type {$|HTMLElement}\n */\n form: null,\n\n /**\n * Initialize The Feed Editor {Tabs...}\n * @returns {void}\n */\n init: function () {\n let self = this;\n self.form = $('.generateFeed');\n if (!self.form.length) return;\n helper.common();\n // noinspection JSUnresolvedVariable\n $(document).trigger('feed_editor_init');\n $(document).trigger(new jQuery.Event('feedEditor.init', {\n target: this.form\n }));\n },\n\n /**\n * Render Merchant info ajax response and handle allowed feed type for selected merchant\n * @param {$|HTMLElement} merchantInfo jQuery dom object\n * @param {$|HTMLElement} feedType jQuery dom object\n * @param {Object} r ajax response object\n */\n renderMerchantInfo: function (merchantInfo, feedType, r) {\n for (let k in r) {\n if (r.hasOwnProperty(k)) {\n merchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n if ('feed_file_type' === k) {\n (function() {\n let types = r[k].split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n }).filter(function(t) {\n // noinspection JSUnresolvedVariable\n return t !== '' && t !== opts.na.toLowerCase();\n });\n\n if (types.length) {\n feedType.find('option').removeAttr('selected').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n })();\n }\n }\n }\n\n merchantInfo.find('.spinner').removeClass('is-active');\n feedType.disabled(!1);\n feedType.trigger('change');\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n feedType.parent().find('.spinner').removeClass('is-active');\n },\n\n /**\n * Render Feed Template Tabs and settings while creating new feed.\n * @param {$|HTMLElement} feedForm feed from query dom object\n * @param {object} r merchant template ajax response object\n */\n renderMerchantTemplate: function (feedForm, r) {\n let _loop = function _loop(k) {\n if (r.hasOwnProperty(k)) {\n if ('tabs' === k) {\n // noinspection JSUnresolvedFunction\n feedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n } else {\n let contentSettings = $('[name=\"' + k + '\"]');\n\n if (contentSettings.length) {\n contentSettings.each(function() {\n let elem = $(this);\n\n if (elem.is('select')) {\n elem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n } else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n elem.prop('checked', true);\n } else {\n elem.val(r[k]); // type=text\n }\n }).trigger('change');\n }\n }\n }\n };\n\n for (let k in r) {\n _loop(k);\n }\n\n feedEditor.init();\n }\n },\n // Feed Editor Table\n merchantInfoCache = [],\n merchantTemplateCache = [],\n tooltip = () => {\n // Tooltip only Text\n $('.wfmasterTooltip')\n .hover(function () {\n // Hover over code\n let self = $(this), title = self.attr('wftitle');\n self.data('tipText', title).removeAttr('wftitle');\n $('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n }, function () {\n // Hover out code\n let self = $(this);\n self.attr('wftitle', self.data('tipText'));\n $('.wftooltip').remove();\n })\n .mousemove(function (e) {\n $('.wftooltip').css({\n top: e.pageY + 10,\n left: e.pageX + 20\n });\n });\n },\n clip = () => {\n $copyBtn = $('.toClipboard');\n if (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n $copyBtn.find('img').hide(0);\n } else {\n $copyBtn.each(function() {\n $(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n });\n clipboard = new ClipboardJS('.toClipboard');\n clipboard.on('error', function(event) {\n showTooltip(event.trigger, fallbackMessage(event.action));\n }).on('success', function(event) {\n showTooltip(event.trigger, 'Copied');\n });\n }\n };\n\n /**\n * Feed Generator Module\n */\n class feedGenerator {\n\n /**\n * Constructor\n * @constructor\n */\n constructor() {\n this._feed = opts.generator.feed; // wf_config+xxxx\n this._limit = opts.generator.limit;\n this._progress = 0;\n this._timer = null;\n this._color = false;\n // batch info\n this._total_batch = 0;\n this._current_batch = 0;\n this._product_ids = [];\n this._progress_per_batch = 0;\n this._refresh = true;\n // noinspection JSUnresolvedVariable\n this._regenerate = opts.generator.regenerate;\n window.isRegenerating = false;\n this._all_btn = $('.wpf_regenerate');\n this._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n this._current_btn_label = '';\n }\n\n /**\n * Init Hooks (Event)\n * @return {feedGenerator}\n */\n init() {\n let self = this;\n if ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n this.generate();\n }\n\n //thickbox body add feed plugin class to make it unique and custom style\n let current_page_query = window.location.search;\n let params = new URLSearchParams(current_page_query);\n let page_name = params.get(\"page\");\n if( \"webappick-manage-feeds\" === page_name ) {\n $('body').addClass('woo-import-popup-body');\n }\n\n $(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n event.preventDefault();\n\n $(this).parent('.woo-feed-promotion').hide();\n let condition = $(this).data('condition');\n if(1 === condition) {\n wpAjax.post( 'woo_feed_hide_promotion', {\n _ajax_nonce: opts.nonce,\n condition: condition,\n } ).then( response => {\n self._log( response );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n } );\n }\n });\n\n $(document).on('click', '.wpf_regenerate', function(event) {\n event.preventDefault();\n self._current_btn = $( this );\n if( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n self._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n if( '' !== self._feed ) {\n self.generate();\n }\n });\n return this;\n }\n\n _block_button() {\n if ( this._all_btn.length ) {\n this._all_btn.addClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').addClass('wpf_spin reverse_spin');\n this._current_btn_label = this._current_btn.attr('title');\n // noinspection JSUnresolvedVariable\n this._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n }\n }\n\n _unblock_button() {\n if ( this._all_btn.length ) {\n this._all_btn.removeClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').removeClass('wpf_spin');\n this._current_btn.find('span').removeClass('reverse_spin');\n this._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n }\n }\n\n /**\n * Generate Feed\n * @return void\n */\n generate() {\n let self = this;\n window.isRegenerating = true;\n this._block_button();\n this._resetProgressBar();\n this._progressBarActive();\n this._log( 'Counting Total Products' );\n this._updateProgressStatus( 'Fetching products.' );\n this._get_product_ids().then( response => {\n this._progress = 10;\n self._log( {response} );\n if(response.success) {\n self._log( `Total ${response.total} Products found.` );\n self._product_ids = response.product;\n self._total_batch = this._product_ids.length;\n self._current_batch = 0;\n self._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n self._process_batch();\n self._updateProgressStatus( 'Processing Products...' );\n } else {\n self._updateProgressStatus( response.data.message );\n }\n }).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Get Product Ids\n * @returns {$.promise}\n * @private\n */\n _get_product_ids() {\n this._progress = 5;\n return wpAjax.post( 'get_product_information', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n limit: this._limit,\n } );\n }\n\n /**\n * Run the Batch\n * @private\n */\n _process_batch() {\n let self = this;\n let status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n this._updateProgressStatus( status );\n this._log( status );\n wpAjax.post( 'make_batch_feed', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n products: this._product_ids[this._current_batch],\n loop: this._current_batch,\n } ).then( response => {\n self._current_batch++;\n self._log( `Batch ${self._current_batch} Completed` );\n self._log( response );\n if ( self._current_batch < self._total_batch ) {\n self._process_batch();\n self._progress += self._progress_per_batch;\n }\n if ( self._current_batch === self._total_batch ) {\n self._save_feed_file();\n }\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Save Feed Data from temp to feed file\n * @private\n */\n _save_feed_file() {\n let self = this;\n this._log( 'Saving feed file' );\n this._updateProgressStatus( 'Saving feed file' );\n wpAjax.post( 'save_feed_file', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n } ).then( response => {\n self._log( response );\n self._progress = 100;\n if ( self._refresh ) {\n window.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n }\n setTimeout( function(){\n self._stopProgressBar();\n setTimeout( function(){\n self._resetProgressBar( true );\n self._unblock_button();\n }, 3000 );\n }, 2500 );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Console log wrapper with debug settings.\n * @param data\n * @returns {feedGenerator}\n * @private\n */\n _log( data ) {\n // noinspection JSUnresolvedVariable\n if ( opts.wpf_debug ) {\n console.log( data );\n }\n return this;\n }\n\n /**\n * Run the progressbar refresh interval\n * @param {int} refreshInterval\n * @returns {feedGenerator}\n * @private\n */\n _progressBarActive( refreshInterval = 0 ) {\n let self = this;\n this._toggleProgressBar( true );\n this._timer = setInterval( function(){\n self._updateProgressBar();\n }, refreshInterval || 1000 );\n return this;\n }\n\n /**\n * Stop Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _stopProgressBar() {\n clearInterval( this._timer );\n return this;\n }\n\n /**\n * Reset Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _resetProgressBar( update ) {\n this._toggleProgressBar( false );\n this._updateProgressStatus( '' );\n clearInterval( this._timer );\n this._color = false;\n this._timer = null;\n this._progress = 0;\n if ( update ) {\n this._updateProgressBar();\n }\n return this;\n }\n\n /**\n * Show hide the progress bar el\n * @param status\n * @returns {feedGenerator}\n * @private\n */\n _toggleProgressBar( status ) {\n let table = $('#feed_progress_table');\n if ( status ) {\n table.show();\n } else {\n table.hide();\n }\n return this;\n }\n\n /**\n * Update Progress bar text status\n * @param {string} status\n * @returns {feedGenerator}\n * @private\n */\n _updateProgressStatus( status ) {\n $( '.feed-progress-status' ).html( status );\n return this;\n }\n\n _getErrorMessageByCode( error ){\n let progress_message = $( '.feed-progress-status' );\n progress_message.css( {'color':this._color});\n $( '.feed-progress-percentage' ).css( {'color':this._color});\n $( '.wpf_spin' ).css( {'color':this._color});\n\n let message=error.status +' : '+ error.statusText+'. ';\n if(500===error.status){\n message+= \"Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>.\";\n }\n\n this._updateProgressStatus(message);\n\n }\n\n /**\n * Update Progress Data\n * hooked with setInterval\n * @private\n */\n _updateProgressBar() {\n let percentage = $( '.feed-progress-percentage' ),\n bar = $( '.feed-progress-bar-fill' ),\n _progress = `${Math.round( this._progress )}%`;\n bar.css( {\n width: _progress,\n } );\n percentage.text( _progress );\n }\n }\n // expose to the global scope\n window.wf = {\n helper: helper,\n feedEditor: feedEditor,\n generator: feedGenerator,\n };\n\n $(window).on('load', function() {\n // Template loading ui conflict\n if ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n $('#wpbody-content').addClass('woofeed-body-content');\n }\n\n // ClipBoardJS\n clip();\n // postbox toggle\n postboxes.add_postbox_toggles(pagenow);\n // initialize generator\n let generator = new feedGenerator();\n generator.init();\n // noinspection JSUnresolvedVariable\n if( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\n }\n // initialize editor\n feedEditor.init();\n helper.common(); // Generate Feed Add Table Row\n tooltip();\n // validate feed editor\n $(\".generateFeed\").validate();\n\n // document events\n $(document)\n .on('blur', 'input[name=\"wfDAttributeName\"]', function(e) {\n e.preventDefault();\n let attr_name = $(this).val();\n attr_name = attr_name.toLowerCase();\n attr_name = attr_name.split(' ').join('_');\n\n $('#wfDAttributeCode').val(attr_name);\n\n })\n .on('click', '[data-toggle_slide]', function(e) {\n e.preventDefault();\n $($(this).data('toggle_slide')).slideToggle('fast');\n })\n // XML Feed Wrapper\n .on('click', '#wf_newRow', function () {\n let tbody = $('#table-1 tbody'),\n template = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n tbody.append(template);\n helper.fancySelect($('.outputType'));\n })\n // feed delete alert.\n .on('click', '.single-feed-delete', function (event) {\n event.preventDefault();\n // noinspection JSUnresolvedVariable\n if (confirm(opts.form.del_confirm)) {\n window.location.href = $(this).attr('val');\n }\n })\n // clear cache data.\n .on('click', '.wf_clean_cache_wrapper', function(event) {\n event.preventDefault();\n var nonce = $('.woo-feed-clean-cache-nonce').val();\n var loader = $('.woo-feed-cache-loader');\n\n //show loader\n loader.show();\n\n // passed cache nonce\n wpAjax.post('clear_cache_data', {\n _ajax_clean_nonce: nonce\n }).then(function (response) {\n if( response.success ) {\n loader.hide(); //hide loader\n location.reload();\n }\n }).fail(function () {\n console.log('something wrong');\n });\n\n })// Copy Status\n .on('click', '#woo-feed-copy-status-btn', function(event) {\n event.preventDefault();\n let button = $('#woo-feed-copy-status-btn');\n let status_area = $('#woo-feed-status-area');\n button.val('Copied');\n status_area.css('visibility','visible');\n status_area.select();\n\n document.execCommand('copy');\n })\n // feed value dropdown change.\n .on('change', '.wf_attr.wf_attributes', function(event) {\n event.preventDefault();\n\n $('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n // price attributes\n var price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n // current value\n var current_attribute_value = $(this).val();\n var outputSelect = $(this).parents('tr').find('.outputType');\n var fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n var fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n var selectIf, selectKey;\n\n // when any attribute is selected, pick the key\n if( price_attributes.includes(current_attribute_value) ) {\n // when select any price attribute\n selectIf = 'for_price';\n selectKey = \"Price\";\n } else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n // when select any custom taxonomy\n selectIf = 'for_custom_taxo';\n selectKey = \"parent_if_empty\";\n } else {\n\n selectIf = 'for_all';\n selectKey = 'Default';\n }\n\n // remove selected class from old selected option\n fancyOption.removeClass('selected');\n\n // when value dropdown is selected as price or any custom taxonomy\n if( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n // update \"Option Type\" when select key matches\n fancyOption.each(function() {\n if( selectKey === $(this).text() ) {\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data('value') );\n }\n });\n } else if( selectIf === 'for_all' ){\n\n fancyOption.each(function(){\n if( selectKey === $(this).text() ){\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data(\"value\") );\n }\n });\n\n }\n\n })\n // bulk delete alert.\n .on('click', '#doaction, #doaction2', function () {\n // noinspection JSUnresolvedVariable\n return confirm(opts.form.del_confirm_multi);\n })\n // Generate Feed Table Row Delete\n .on('change', '.dType', function () {\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').show();\n } else if (type === 'attribute') {\n row.find('.value_attribute').show();\n row.find('.value_pattern').hide();\n } else if (type === 'remove') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').hide();\n }\n })\n // Generate Feed Form Submit\n .on('click', '.delRow', function (e) {\n e.preventDefault();\n $(this).closest('tr').remove();\n helper.reindex_config_table();\n })\n .on('submit', '#generateFeed', function () {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .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 }\n })\n // Generate Update Feed Form Submit\n .on('submit', '#updatefeed', function (e, data) {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .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 }\n })\n .on( 'ready woo_feed_config_loaded', function(){\n\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n if( $('#provider').val() === 'google' ) {\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n }\n\n $('#ftpenabled').on('change', function(){\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n // Google merchant specific message\n if( $('#provider').val() === 'google' ){\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n\n }\n });\n })\n .on('change', '.ftporsftp', function () {\n let server = $(this).val(),\n status = $('.ssh2_status');\n\n if (server === 'sftp') {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n wpAjax.post('get_ssh2_status', {\n _ajax_nonce: opts.nonce,\n server: server\n }).then(function (response) {\n if (response === 'exists') {\n // noinspection JSUnresolvedVariable\n status.css('color', '#2CC185').text(opts.form.sftp_available);\n setTimeout(function () {\n status.hide();\n }, 1500);\n } else {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'red').text(opts.form.sftp_warning);\n }\n }).fail(function (e) {\n status.hide();\n helper.ajax_fail(e);\n });\n } else {\n status.hide();\n }\n })\n .on('click', '[name=\"save_feed_config\"]', function (e) {\n e.preventDefault();\n $('#updatefeed').trigger('submit', {\n save: true\n });\n })\n .on('change', '#provider', function (event) {\n event.preventDefault();\n\n let merchant = $(this).val(),\n templateName = $(this).find(':selected').text(),\n name = $('#filename').val(),\n feedType = $(\"#feedType\"),\n feedForm = $(\"#providerPage\"),\n merchantInfo = $('#feed_merchant_info'); // set loading..\n\n // noinspection JSUnresolvedVariable\n feedForm.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\n merchantInfo.find('.spinner').addClass('is-active');\n feedType.disabled(!0); // disable dropdown\n\n feedType.parent().find('.spinner').addClass('is-active');\n merchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n // Get Merchant info for selected Provider/Merchant\n\n if (merchantInfoCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.send('woo_feed_get_merchant_info', {\n type: 'GET',\n data: {\n nonce: opts.nonce,\n provider: merchant,\n templateName: templateName\n }\n }).then(function (r) {\n merchantInfoCache[merchant] = r;\n feedEditor.renderMerchantInfo(merchantInfo, feedType, r);\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n } // Get FeedForm For Selected Provider/Merchant\n\n\n if (merchantTemplateCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.post('get_feed_merchant', {\n _ajax_nonce: opts.nonce,\n merchant: merchant\n }).then(function (r) {\n merchantTemplateCache[merchant] = r;\n feedEditor.renderMerchantTemplate(feedForm, r);\n $('#utm_source').val(templateName);\n $('#utm_campaign').val(name);\n //when merchant is bing, change delimiter and enclosure\n if( 'bing' === merchant ) {\n //delimiter value\n $(\"#delimiter option\").removeAttr('selected');\n $(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n //enclosure value\n $(\"#enclosure option\").removeAttr('selected');\n $(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n }\n\n //reviewer options hide\n if( 'google_product_review' !== merchant) {\n $('.wf_attributes option[value=\"reviewer_name\"]').hide();\n }\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n }\n })\n // Feed Active and Inactive status change via ajax\n .on('change', '.woo_feed_status_input', function () {\n let self = $(this);\n wpAjax.post('update_feed_status', {\n _ajax_nonce: opts.nonce,\n feedName: self.val(),\n status: self[0].checked ? 1 : 0\n });\n });\n // event with trigger\n $(document)\n .on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n let outOfStockVisibilityRow = $('.out-of-stock-visibility');\n if ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n outOfStockVisibilityRow.show();\n } else {\n outOfStockVisibilityRow.hide();\n }\n })\n .on('change', '.attr_type', function () {\n // Attribute type selection\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.wf_attr').hide();\n row.find('.wf_attr').val('');\n row.find('.wf_default').show();\n } else {\n row.find('.wf_attr').show();\n row.find('.wf_default').hide();\n row.find('.wf_default').val('');\n }\n })\n .on('change', '.wf_mattributes, .attr_type', function () {\n let row = $(this).closest('tr'),\n attribute = row.find('.wf_mattributes'),\n type = row.find('.attr_type'),\n valueColumn = row.find('td:eq(4)'),\n provider = $('#provider').val();\n\n // noinspection JSUnresolvedVariable\n if (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n if (valueColumn.find('select.selectize').length === 0) {\n valueColumn.find('input.wf_default').remove();\n valueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n // noinspection JSUnresolvedVariable\n valueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\n if (!googleCategories) {\n valueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n }\n\n let select = valueColumn.find('.wf_attributes select');\n // noinspection JSUnresolvedVariable\n helper.selectize(select, {\n preload: true,\n placeholder: opts.form.select_category,\n load: function load(query, cb) {\n if (!googleCategories) {\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n provider: provider\n }\n }).then(function (r) {\n googleCategories = r;\n cb(googleCategories);\n valueColumn.find('.spinner').remove();\n }).fail(helper.ajax_fail);\n } else {\n cb(googleCategories);\n }\n }\n });\n }\n } else {\n if (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n valueColumn.find('span').remove();\n valueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\n if (type.val() !== 'pattern') {\n valueColumn.find('input.wf_default').hide();\n }\n }\n }\n })\n .on('change', '#feedType,#provider', function (e) {\n let type = $('#feedType').val(),\n provider = $('#provider').val(),\n itemWrapper = $('.itemWrapper'),\n wf_csv_txt = $('.wf_csvtxt');\n\n // noinspection JSUnresolvedVariable\n if (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n itemWrapper.hide();\n }\n\n //when feed type is changed\n if( 'feedType' === e.target.id ) {\n if (type === 'csv' || type === 'txt' || type === 'tsv') {\n wf_csv_txt.show();\n itemWrapper.hide();\n \n if( 'tsv' === type ) {\n $('#delimiter option:last').prop(\"selected\", \"selected\");\n } else if( 'csv' === type ) {\n $('#delimiter option:first').prop(\"selected\", \"selected\");\n }\n } else if( 'xml' === type && \"custom\" === provider ) {\n itemWrapper.show();\n wf_csv_txt.hide();\n } else if( 'json' === type ) {\n wf_csv_txt.hide();\n }\n }\n\n // when template is not custom template 1 hide the item wrapper\n if( \"custom\" !== provider ) {\n itemWrapper.hide();\n }\n\n })\n .trigger('change');\n\n\n $(document)\n\t\t\t.on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\t $(this).closest('td').find('.switch-loader').show();\n\t\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\n\t\t\t})\n\n\t\t\t// Remove sticky cart on feature page\n\t\t\t.ready(function() {\n\t\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\t\t$(window).scroll(function() {\n\t\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n });\n\n $(document)\n\t\t.on('click', '#woo-feed-debug-log-download', function (e) {\n\t\t\te.preventDefault();\n\t\t\t$(\"<a />\", {\n\t\t\t\tdownload: new Date() + \".log\",\n\t\t\t\thref: URL.createObjectURL(\n\t\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t\t})),\n\t\t\t}).appendTo(\"body\")[0].click();\n\t\t})\n\t\t.on('keyup', '#filename', function() {\n\t\t\tvar name = $('#filename').val();\n\t\t\t$('#utm_campaign').val(name);\n\t\t})\n\n .on('click', '.wf-tab-name', function(e) {\n $('.wf-tab-name.activate').removeClass('activate');\n $(this).addClass('activate');\n\n let for_attr = $(this).attr('for');\n $('.wf_tabs li.active').removeClass('active');\n $('.wf_tabs .wf-tab-content#' + for_attr).parent().addClass('active');\n })\n\n\t\t.on('change', '#category-mapping-form #providers', function() {\n\t\t\tvar provider = $(this).find(':selected').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];\n\t\t\tif( googleMap.indexOf(provider) !== -1 ) {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'none');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');\n\n\t\t\t} else {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'block');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');\n\t\t\t}\n\t\t})\n\n // Copy parent category ids to child categories.\n\t\t.on('click', 'span[id*=\"cat-map-\"]', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar providerName = $('#category-mapping-form #providers').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],\n\t\t\t\tcatId = $(this).attr('id').replace(/[^\\d.]/g, ''),\n\t\t\t\tgroupId = 'group-child-' + catId;\n\n\t\t\tif( googleMap.indexOf(providerName) !== -1) {\n\t\t\t\tvar catField = $(this).parents('tr').find('.selectized').val();\n\n\t\t\t\tif (catField) {\n\t\t\t\t\t$('.' + groupId).parents('tr').find('select').each(function (i, v) {\n\t\t\t\t\t\t$(v).data('selectize').setValue(catField);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tvar value = $('#cat_mapping_'+catId).val();\n\t\t\t\t$('.'+groupId).parents('tr').find('input').val(value);\n\t\t\t}\n\n\t\t});\n\n $(document).ready(function (){\n\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n // provider: provider\n }\n }).then(function (response) {\n $('.selectize-google-category').selectize({\n valueField: 'value',\n labelField: 'text',\n placeholder: 'Select a category',\n searchField: ['value', 'text'],\n options: response,\n render: {\n option: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`,\n item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`\n }\n });\n }).fail(helper.ajax_fail);\n\n\n\n });\n\n /*\n * Issue fix for feed edit page unsupported `Feed Type` not disabling\n *\n * @since 4.4.22\n * */\n $(document).on( \"feed_editor_init\", function(){\n\n let types = $('.merchant-info-section.feed_file_type .data').html().split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n });\n\n let feedType = $(\"#feedType\");\n\n if (types.length) {\n feedType.find('option').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n\n } );\n\n /**\n * Automatically adding postfix for corresponding attribute selection.\n *\n * @since 4.4.32\n */\n $(document).on('ready', function(){\n\n function update_postfix(){\n var attribute_list = {\n\n 'price': wpf_ajax_obj.woocommerce.currency,\n 'current_price': wpf_ajax_obj.woocommerce.currency,\n 'sale_price': wpf_ajax_obj.woocommerce.currency,\n 'price_with_tax': wpf_ajax_obj.woocommerce.currency,\n 'current_price_with_tax': wpf_ajax_obj.woocommerce.currency,\n 'sale_price_with_tax': wpf_ajax_obj.woocommerce.currency,\n\n\n 'weight': wpf_ajax_obj.woocommerce.weight,\n 'weight_unit': wpf_ajax_obj.woocommerce.weight,\n\n\n 'height': wpf_ajax_obj.woocommerce.dimension,\n 'length': wpf_ajax_obj.woocommerce.dimension,\n 'width': wpf_ajax_obj.woocommerce.dimension\n\n };\n\n $( '.wf_attr.wf_attributes' ).each( function( key, value){\n\n var attribute_value = $(value).val();\n var current_Value = $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val();\n\n if( -1 !== $.inArray( current_Value, [\n ' ' + wpf_ajax_obj.woocommerce.currency,\n ' ' + wpf_ajax_obj.woocommerce.weight,\n ' ' + wpf_ajax_obj.woocommerce.dimension\n ] ) ){\n $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val('');\n }\n\n $.each(attribute_list, function (_key, _value){\n if( attribute_value === _key ){\n if( $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val() === '' ){\n $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val( ' ' + _value );\n }\n\n\n }\n });\n } );\n\n $(document).trigger( 'feedEditor.after.free.postfix.update' );\n }\n\n $(document).on('feedEditor.init', function(){\n update_postfix();\n $('.wf_attr.wf_attributes, #table-1 tbody').on( 'change', update_postfix );\n });\n\n });\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","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","window","wpAjax","$","document","opts","self","prop","status","addClass","removeClass","hasClass","currentTarget","clearTooltip","userAgent","actionMsg","match","actionKey","index","join","removeAttr","elem","attr","msg","extend","_default","_args","clip","$copyBtn","ClipboardJS","isSupported","test","navigator","feedGenerator","this","on","action","showTooltip","event","trigger","wpf_ajax_obj","success","url","data","_classCallCheck","WooFeedCustomFields","productCustomFields","field","isTaxonomy","value","ajax","nonce","method","response","wpf_ajax_url","clipboard","googleCategories","log","closest","find","hide","in_array","needle","haystack","indexOf","console","selectize_render_item","escape","sortable","onDrop","text","ajax_fail","column_count","warn","wf_sortable","containerSelector","e","hasOwnProperty","error","statusText","el","config","column","_onDrop","each","length","selectize","itemPath","itemSelector","concat","plugins","$item","container","group","options","draggedClass","bodyClass","render","item","helper","not","fancySelect","maxItemShow","create","split","map","s","handle","placeholder","form","replace","x","reindex_config_table","init","renderMerchantInfo","jQuery","k","opt","merchantInfo","feedType","r","types","html","t","trim","toLowerCase","na","disabled","val","_loop2","renderMerchantTemplate","_loop","filter","contentSettings","feedForm","feedEditor","merchantInfoCache","tooltip","css","top","_regenerate","isRegenerating","feed","_progress","_product_ids","_progress_per_batch","_refresh","_feed","_all_btn","generate","_current_btn","condition","_current_batch","then","URLSearchParams","preventDefault","parent","_current_btn_label","_ajax_nonce","_log","_updateProgressStatus","message","_color","regenerate","setTimeout","_this2","_stopProgressBar","_process_batch","fail","limit","_limit","_block_button","_progressBarActive","_save_feed_file","loop","_get_product_ids","_total_batch","_unblock_button","_resetProgressBar","refreshInterval","post","arguments","undefined","clearInterval","_timer","setInterval","_updateProgressBar","update","_toggleProgressBar","table","show","color","width","generator","pagenow","attr_name","hover","title","appendTo","remove","left","pageX","href","slideToggle","loader","tbody","location","reload","button","status_area","select","execCommand","progress_message","current_attribute_value","fancyOption","fancyDataPicker","selectIf","price_attributes","selectKey","percentage","outputSelect","parents","includes","add_postbox_toggles","confirm","del_confirm_multi","row","append","type","_ajax_clean_nonce","validate","valid","save","server","sftp_checking","merchant","name","templateName","loading_tmpl","provider","send","merchantTemplateCache","outOfStockVisibilityRow","checked","valueColumn","attribute","preload","load","google_category","query","learn_more","cb","itemWrapper","wf_csv_txt","id","windowpos","download","googleMap","click","for_attr","setValue","catField","catId","providerName","groupId","v","searchField","option","createObjectURL","labelField","woocommerce","currency","price","inArray","current_Value","parseInt","sale_price","_key","sale_price_with_tax","attribute_value","weight","height","dimension"],"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 \"use strict\";\n /**\n * All of the code for your admin-facing JavaScript source\n * should reside in this file.\n *\n * Note: It has been assumed you will write jQuery code here, so the\n * $ function reference has been prepared for usage within the scope\n * of this function.\n *\n * This enables you to define handlers, for when the DOM is ready:\n */\n\n /**\n * disable element utility\n *\n * @since 3.1.9\n *\n * @param {*} status\n * @returns {$|HTMLElement}\n */\n $.fn.disabled = function(status) {\n $(this).each(function() {\n let self = $(this),\n prop = 'disabled';\n\n if (typeof self.prop(prop) !== 'undefined') {\n self.prop(prop, status === void 0 || status === true);\n } else {\n !0 === status ? self.addClass(prop) : self.removeClass(prop);\n }\n });\n return self; // method chaining\n };\n\n /**\n * Check if a HTMLElement or jQuery is disabled\n */\n $.fn.isDisabled = function() {\n let self = $(this),\n prop = 'disabled';\n return typeof self.prop(prop) !== 'undefined' ? self.prop(prop) : self.hasClass(prop);\n };\n\n /**\n * Clear Tooltip for clip board js\n * @param {Object} event\n */\n const clearTooltip = (event) => {\n $(event.currentTarget).removeClass( (index, className) => (className.match(/\\btooltipped-\\S+/g) || []).join(' ') ).removeClass('tooltipped').removeAttr('aria-label');\n };\n\n const showTooltip = (elem, msg) => {\n $(elem).addClass('tooltipped tooltipped-s').attr('aria-label', msg);\n };\n\n const fallbackMessage = (action) =>{\n let actionMsg,\n actionKey = action === 'cut' ? 'X' : 'C';\n\n if (/iPhone|iPad/i.test(navigator.userAgent)) {\n actionMsg = 'No support :(';\n } else if (/Mac/i.test(navigator.userAgent)) {\n actionMsg = 'Press ⌘-' + actionKey + ' to ' + action;\n } else {\n actionMsg = 'Press Ctrl-' + actionKey + ' to ' + action;\n }\n\n return actionMsg;\n };\n\n /**\n * Alias of jQuery.extend()\n * @param {Object} _default\n * @param {Object} _args\n */\n const extend = (_default, _args) => $.extend(true, {}, _default, _args);\n\n\t/*\n\t* Handles product attributes\n\t*\n\t* @since 4.4.18\n\t* */\n\tclass WooFeedCustomFields {\n\n\t\tconstructor( field, status, isTaxonomy ) {\n\t\t\tthis.productCustomFields( field, status, isTaxonomy );\n\t\t}\n\n\t\tcacheClear() {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_product_attribute_cache_remove',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata\n\t\t\t});\n\t\t}\n\n\t\tproductCustomFields( field, status = false, isTaxonomy ) {\n\t\t\tlet data = {\n\t\t\t\taction: 'woo_feed_custom_fields_status_change',\n\t\t\t\tnonce: wpf_ajax_obj.ajax.nonce,\n\t\t\t\tfield,\n\t\t\t\tstatus,\n\t\t\t\tisTaxonomy\n\t\t\t};\n\t\t\t$.ajax({\n\t\t\t\tmethod: 'POST',\n\t\t\t\turl: wpf_ajax_obj.wpf_ajax_url,\n\t\t\t\tdata,\n\t\t\t\tsuccess: ( response ) => {\n\t\t\t\t\tif( response.success ) {\n\t\t\t\t\t\tthis.cacheClear();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.log( response );\n\t\t\t\t\t}\n $('#'+field+'-switcher').closest('td').find('.switch-loader').hide();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n let $copyBtn,\n clipboard,\n googleCategories,\n helper = {\n in_array: (needle, haystack) => {\n try {\n return haystack.indexOf(needle) !== -1;\n } catch (e) {\n return false;\n }\n },\n selectize_render_item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.text)}</div>`, // phpcs:ignore WordPressVIPMinimum.JS.StringConcat.Found,\n ajax_fail: e => {\n console.warn(e);\n alert(e.hasOwnProperty('statusText') && e.hasOwnProperty('status') ? opts.ajax.error + '\\n' + e.statusText + ' (' + e.status + ')' : e);\n },\n /**\n * Initialize Sortable\n * @param {$|HTMLElement} el\n * @param {object} config\n * @param {int|boolean} column\n * @param {function} onDrop\n * @return {$|HTMLElement}\n */\n sortable: (el, config, column, onDrop) => {\n return (el || $('.sorted_table')).each(function() {\n let self = $(this),\n column_count = self.find('tbody > tr:eq(0) > td').length || column || 9;\n self.wf_sortable(extend({\n containerSelector: 'table',\n itemPath: '> tbody',\n itemSelector: 'tr',\n handle: 'i.wf_sortedtable',\n placeholder: `<tr class=\"placeholder\"><td colspan=\"${column_count}\"></td></tr>`,\n onDrop: ($item, container, _super, event) => {\n $item.removeClass(container.group.options.draggedClass).removeAttr('style');\n $(\"body\").removeClass(container.group.options.bodyClass);\n if ( onDrop && 'function' === typeof( onDrop ) ) {\n onDrop( $item, container, _super, event );\n }\n },\n }, config));\n });\n },\n selectize: (el, config) => {\n return (el || $('select.selectize')).not('.selectized').not('.selectize-google-category').each(function() {\n let self = $(this);\n self.selectize(extend({\n create: self.data('create') || false,\n plugins: self.data('plugins') ? self.data('plugins').split(',').map(function(s) {\n return s.trim();\n }) : [],\n //['remove_button'],\n render: {\n item: helper.selectize_render_item\n }\n }, config));\n });\n },\n fancySelect: (el, config) => {\n return (el || $('select.fancySelect')).not('.FancySelectInit').each(function() {\n let self = $(this);\n self.fancySelect(extend({\n maxItemShow: 3\n }, config));\n });\n },\n reindex_config_table: () => {\n $('#table-1').find('tbody tr').each( ( x, el ) => {\n $(el).find('[name]').each( ( x1, el ) => {\n $(el).attr('name', $(el).attr('name').replace(/(\\[\\d\\])/g, `[${x}]`));\n } );\n } );\n },\n common: () => {\n helper.sortable( $('.sorted_table'), {}, 9, helper.reindex_config_table );\n helper.selectize();\n helper.fancySelect($('.outputType'));\n }\n },\n // helper functions\n feedEditor = {\n /**\n * The Editor Form Elem.\n * @type {$|HTMLElement}\n */\n form: null,\n\n /**\n * Initialize The Feed Editor {Tabs...}\n * @returns {void}\n */\n init: function () {\n let self = this;\n self.form = $('.generateFeed');\n if (!self.form.length) return;\n helper.common();\n // noinspection JSUnresolvedVariable\n $(document).trigger('feed_editor_init');\n $(document).trigger(new jQuery.Event('feedEditor.init', {\n target: this.form\n }));\n },\n\n /**\n * Render Merchant info ajax response and handle allowed feed type for selected merchant\n * @param {$|HTMLElement} merchantInfo jQuery dom object\n * @param {$|HTMLElement} feedType jQuery dom object\n * @param {Object} r ajax response object\n */\n renderMerchantInfo: function (merchantInfo, feedType, r) {\n for (let k in r) {\n if (r.hasOwnProperty(k)) {\n merchantInfo.find('.merchant-info-section.' + k + ' .data').html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n\n if ('feed_file_type' === k) {\n (function() {\n let types = r[k].split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n }).filter(function(t) {\n // noinspection JSUnresolvedVariable\n return t !== '' && t !== opts.na.toLowerCase();\n });\n\n if (types.length) {\n feedType.find('option').removeAttr('selected').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n })();\n }\n }\n }\n\n merchantInfo.find('.spinner').removeClass('is-active');\n feedType.disabled(!1);\n feedType.trigger('change');\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n feedType.parent().find('.spinner').removeClass('is-active');\n },\n\n /**\n * Render Feed Template Tabs and settings while creating new feed.\n * @param {$|HTMLElement} feedForm feed from query dom object\n * @param {object} r merchant template ajax response object\n */\n renderMerchantTemplate: function (feedForm, r) {\n let _loop = function _loop(k) {\n if (r.hasOwnProperty(k)) {\n if ('tabs' === k) {\n // noinspection JSUnresolvedFunction\n feedForm.html(r[k]); // phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html\n } else {\n let contentSettings = $('[name=\"' + k + '\"]');\n\n if (contentSettings.length) {\n contentSettings.each(function() {\n let elem = $(this);\n\n if (elem.is('select')) {\n elem.find('[value=\"' + r[k] + '\"]').prop('selected', true);\n } else if ((elem.is('[type=checkbox]') || elem.is('[type=radio]')) && elem.val() === r[k]) {\n elem.prop('checked', true);\n } else {\n elem.val(r[k]); // type=text\n }\n }).trigger('change');\n }\n }\n }\n };\n\n for (let k in r) {\n _loop(k);\n }\n\n feedEditor.init();\n }\n },\n // Feed Editor Table\n merchantInfoCache = [],\n merchantTemplateCache = [],\n tooltip = () => {\n // Tooltip only Text\n $('.wfmasterTooltip')\n .hover(function () {\n // Hover over code\n let self = $(this), title = self.attr('wftitle');\n self.data('tipText', title).removeAttr('wftitle');\n $('<p class=\"wftooltip\"></p>').text(title).appendTo('body').fadeIn('slow');\n }, function () {\n // Hover out code\n let self = $(this);\n self.attr('wftitle', self.data('tipText'));\n $('.wftooltip').remove();\n })\n .mousemove(function (e) {\n $('.wftooltip').css({\n top: e.pageY + 10,\n left: e.pageX + 20\n });\n });\n },\n clip = () => {\n $copyBtn = $('.toClipboard');\n if (!ClipboardJS.isSupported() || /iPhone|iPad/i.test(navigator.userAgent)) {\n $copyBtn.find('img').hide(0);\n } else {\n $copyBtn.each(function() {\n $(this).on('mouseleave', clearTooltip).on('blur', clearTooltip);\n });\n clipboard = new ClipboardJS('.toClipboard');\n clipboard.on('error', function(event) {\n showTooltip(event.trigger, fallbackMessage(event.action));\n }).on('success', function(event) {\n showTooltip(event.trigger, 'Copied');\n });\n }\n };\n\n /**\n * Feed Generator Module\n */\n class feedGenerator {\n\n /**\n * Constructor\n * @constructor\n */\n constructor() {\n this._feed = opts.generator.feed; // wf_config+xxxx\n this._limit = opts.generator.limit;\n this._progress = 0;\n this._timer = null;\n this._color = false;\n // batch info\n this._total_batch = 0;\n this._current_batch = 0;\n this._product_ids = [];\n this._progress_per_batch = 0;\n this._refresh = true;\n // noinspection JSUnresolvedVariable\n this._regenerate = opts.generator.regenerate;\n window.isRegenerating = false;\n this._all_btn = $('.wpf_regenerate');\n this._current_btn = $(`#${this._feed.replace( 'wf_config', 'wf_feed_' )}`);\n this._current_btn_label = '';\n }\n\n /**\n * Init Hooks (Event)\n * @return {feedGenerator}\n */\n init() {\n let self = this;\n if ( '' !== this._feed && this._regenerate && false === window.isRegenerating ) {\n this.generate();\n }\n\n //thickbox body add feed plugin class to make it unique and custom style\n let current_page_query = window.location.search;\n let params = new URLSearchParams(current_page_query);\n let page_name = params.get(\"page\");\n if( \"webappick-manage-feeds\" === page_name ) {\n $('body').addClass('woo-import-popup-body');\n }\n\n $(document).on('click', '.woo-feed-campaign-close-button', function(event) {\n event.preventDefault();\n\n $(this).parent('.woo-feed-promotion').hide();\n let condition = $(this).data('condition');\n if(1 === condition) {\n wpAjax.post( 'woo_feed_hide_promotion', {\n _ajax_nonce: opts.nonce,\n condition: condition,\n } ).then( response => {\n self._log( response );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n } );\n }\n });\n\n $(document).on('click', '.wpf_regenerate', function(event) {\n event.preventDefault();\n self._current_btn = $( this );\n if( self._current_btn.hasClass('disabled') || window.isRegenerating === true ) return;\n self._feed = self._current_btn.attr('id').replace( 'wf_feed_', 'wf_config' );\n if( '' !== self._feed ) {\n self.generate();\n }\n });\n return this;\n }\n\n _block_button() {\n if ( this._all_btn.length ) {\n this._all_btn.addClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').addClass('wpf_spin reverse_spin');\n this._current_btn_label = this._current_btn.attr('title');\n // noinspection JSUnresolvedVariable\n this._current_btn.attr( 'aria-label', opts.regenerate ).attr( 'title', opts.regenerate );\n }\n }\n\n _unblock_button() {\n if ( this._all_btn.length ) {\n this._all_btn.removeClass('disabled');\n }\n if ( this._current_btn.length ) {\n this._current_btn.find('span').removeClass('wpf_spin');\n this._current_btn.find('span').removeClass('reverse_spin');\n this._current_btn.attr( 'aria-label', this._current_btn_label ).attr( 'title', this._current_btn_label );\n }\n }\n\n /**\n * Generate Feed\n * @return void\n */\n generate() {\n let self = this;\n window.isRegenerating = true;\n this._block_button();\n this._resetProgressBar();\n this._progressBarActive();\n this._log( 'Counting Total Products' );\n this._updateProgressStatus( 'Fetching products.' );\n this._get_product_ids().then( response => {\n this._progress = 10;\n self._log( {response} );\n if(response.success) {\n self._log( `Total ${response.total} Products found.` );\n self._product_ids = response.product;\n self._total_batch = this._product_ids.length;\n self._current_batch = 0;\n self._progress_per_batch = ( 90 - this._progress ) / this._total_batch;\n self._process_batch();\n self._updateProgressStatus( 'Processing Products...' );\n } else {\n self._updateProgressStatus( response.data.message );\n }\n }).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Get Product Ids\n * @returns {$.promise}\n * @private\n */\n _get_product_ids() {\n this._progress = 5;\n return wpAjax.post( 'get_product_information', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n limit: this._limit,\n } );\n }\n\n /**\n * Run the Batch\n * @private\n */\n _process_batch() {\n let self = this;\n let status = `Processing Batch ${this._current_batch+1} of ${this._total_batch}`;\n this._updateProgressStatus( status );\n this._log( status );\n wpAjax.post( 'make_batch_feed', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n products: this._product_ids[this._current_batch],\n loop: this._current_batch,\n } ).then( response => {\n self._current_batch++;\n self._log( `Batch ${self._current_batch} Completed` );\n self._log( response );\n if ( self._current_batch < self._total_batch ) {\n self._process_batch();\n self._progress += self._progress_per_batch;\n }\n if ( self._current_batch === self._total_batch ) {\n self._save_feed_file();\n }\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Save Feed Data from temp to feed file\n * @private\n */\n _save_feed_file() {\n let self = this;\n this._log( 'Saving feed file' );\n this._updateProgressStatus( 'Saving feed file' );\n wpAjax.post( 'save_feed_file', {\n _ajax_nonce: opts.nonce,\n feed: this._feed,\n } ).then( response => {\n self._log( response );\n self._progress = 100;\n if ( self._refresh ) {\n window.location.href = `${opts.pages.list.feed}&link=${response.url}&cat=${response.cat}`;\n }\n setTimeout( function(){\n self._stopProgressBar();\n setTimeout( function(){\n self._resetProgressBar( true );\n self._unblock_button();\n }, 3000 );\n }, 2500 );\n } ).fail( error => {\n self._log( error );\n self._updateProgressStatus( error.message );\n self._color = 'red';\n setTimeout( function(){\n self._stopProgressBar();\n self._unblock_button();\n }, 1500 );\n } );\n }\n\n /**\n * Console log wrapper with debug settings.\n * @param data\n * @returns {feedGenerator}\n * @private\n */\n _log( data ) {\n // noinspection JSUnresolvedVariable\n if ( opts.wpf_debug ) {\n console.log( data );\n }\n return this;\n }\n\n /**\n * Run the progressbar refresh interval\n * @param {int} refreshInterval\n * @returns {feedGenerator}\n * @private\n */\n _progressBarActive( refreshInterval = 0 ) {\n let self = this;\n this._toggleProgressBar( true );\n this._timer = setInterval( function(){\n self._updateProgressBar();\n }, refreshInterval || 1000 );\n return this;\n }\n\n /**\n * Stop Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _stopProgressBar() {\n clearInterval( this._timer );\n return this;\n }\n\n /**\n * Reset Progressbar\n * @returns {feedGenerator}\n * @private\n */\n _resetProgressBar( update ) {\n this._toggleProgressBar( false );\n this._updateProgressStatus( '' );\n clearInterval( this._timer );\n this._color = false;\n this._timer = null;\n this._progress = 0;\n if ( update ) {\n this._updateProgressBar();\n }\n return this;\n }\n\n /**\n * Show hide the progress bar el\n * @param status\n * @returns {feedGenerator}\n * @private\n */\n _toggleProgressBar( status ) {\n let table = $('#feed_progress_table');\n if ( status ) {\n table.show();\n } else {\n table.hide();\n }\n return this;\n }\n\n /**\n * Update Progress bar text status\n * @param {string} status\n * @returns {feedGenerator}\n * @private\n */\n _updateProgressStatus( status ) {\n $( '.feed-progress-status' ).html( status );\n return this;\n }\n\n _getErrorMessageByCode( error ){\n let progress_message = $( '.feed-progress-status' );\n progress_message.css( {'color':this._color});\n $( '.feed-progress-percentage' ).css( {'color':this._color});\n $( '.wpf_spin' ).css( {'color':this._color});\n\n let message=error.status +' : '+ error.statusText+'. ';\n if(500===error.status){\n message+= \"Please increase your PHP max_execution_time. Please <a target='_blank' href='https://webappick.com/docs/woo-feed/faq-for-woocommerce-product-feed/how-to-solve-processing-10-feed-generation-stuck-error/'>read this doc</a>.\";\n }\n\n this._updateProgressStatus(message);\n\n }\n\n /**\n * Update Progress Data\n * hooked with setInterval\n * @private\n */\n _updateProgressBar() {\n let percentage = $( '.feed-progress-percentage' ),\n bar = $( '.feed-progress-bar-fill' ),\n _progress = `${Math.round( this._progress )}%`;\n bar.css( {\n width: _progress,\n } );\n percentage.text( _progress );\n }\n }\n // expose to the global scope\n window.wf = {\n helper: helper,\n feedEditor: feedEditor,\n generator: feedGenerator,\n };\n\n $(window).on('load', function() {\n // Template loading ui conflict\n if ($(location).attr(\"href\").match(/webappick.*feed/g) !== null) {\n $('#wpbody-content').addClass('woofeed-body-content');\n }\n\n // ClipBoardJS\n clip();\n // postbox toggle\n postboxes.add_postbox_toggles(pagenow);\n // initialize generator\n let generator = new feedGenerator();\n generator.init();\n // noinspection JSUnresolvedVariable\n if( '' !== opts.generator.feed && opts.generator.regenerate ) {\n\n }\n // initialize editor\n feedEditor.init();\n helper.common(); // Generate Feed Add Table Row\n tooltip();\n // validate feed editor\n $(\".generateFeed\").validate();\n\n // document events\n $(document)\n .on('blur', 'input[name=\"wfDAttributeName\"]', function(e) {\n e.preventDefault();\n let attr_name = $(this).val();\n attr_name = attr_name.toLowerCase();\n attr_name = attr_name.split(' ').join('_');\n\n $('#wfDAttributeCode').val(attr_name);\n\n })\n .on('click', '[data-toggle_slide]', function(e) {\n e.preventDefault();\n $($(this).data('toggle_slide')).slideToggle('fast');\n })\n // XML Feed Wrapper\n .on('click', '#wf_newRow', function () {\n let tbody = $('#table-1 tbody'),\n template = $('#feed_config_template').text().trim().replace(/__idx__/g, tbody.find('tr').length);\n tbody.append(template);\n helper.fancySelect($('.outputType'));\n })\n // feed delete alert.\n .on('click', '.single-feed-delete', function (event) {\n event.preventDefault();\n // noinspection JSUnresolvedVariable\n if (confirm(opts.form.del_confirm)) {\n window.location.href = $(this).attr('val');\n }\n })\n // clear cache data.\n .on('click', '.wf_clean_cache_wrapper', function(event) {\n event.preventDefault();\n var nonce = $('.woo-feed-clean-cache-nonce').val();\n var loader = $('.woo-feed-cache-loader');\n\n //show loader\n loader.show();\n\n // passed cache nonce\n wpAjax.post('clear_cache_data', {\n _ajax_clean_nonce: nonce\n }).then(function (response) {\n if( response.success ) {\n loader.hide(); //hide loader\n location.reload();\n }\n }).fail(function () {\n console.log('something wrong');\n });\n\n })// Copy Status\n .on('click', '#woo-feed-copy-status-btn', function(event) {\n event.preventDefault();\n let button = $('#woo-feed-copy-status-btn');\n let status_area = $('#woo-feed-status-area');\n button.val('Copied');\n status_area.css('visibility','visible');\n status_area.select();\n\n document.execCommand('copy');\n })\n // feed value dropdown change.\n .on('change', '.wf_attr.wf_attributes', function(event) {\n event.preventDefault();\n\n $('.fancy-picker-picked').trigger(\"click\"); // trigger fancy select box clicked\n\n // price attributes\n var price_attributes = ['price', 'current_price', 'sale_price', 'price_with_tax', 'current_price_with_tax', 'sale_price_with_tax', 'shipping_cost'];\n // current value\n var current_attribute_value = $(this).val();\n var outputSelect = $(this).parents('tr').find('.outputType');\n var fancyOption = $(this).parents('tr').find('.fancy-picker-content .fancy-picker-option');\n var fancyDataPicker = $(this).parents('tr').find('.fancy-picker-data span');\n var selectIf, selectKey;\n\n // when any attribute is selected, pick the key\n if( price_attributes.includes(current_attribute_value) ) {\n // when select any price attribute\n selectIf = 'for_price';\n selectKey = \"Price\";\n } else if ( \"\" !== current_attribute_value && -1 !== current_attribute_value.indexOf('wf_taxo') ) {\n\n // when select any custom taxonomy\n selectIf = 'for_custom_taxo';\n selectKey = \"parent_if_empty\";\n } else {\n\n selectIf = 'for_all';\n selectKey = 'Default';\n }\n\n // remove selected class from old selected option\n fancyOption.removeClass('selected');\n\n // when value dropdown is selected as price or any custom taxonomy\n if( selectIf === 'for_custom_taxo' || selectIf === 'for_price' ) {\n\n // update \"Option Type\" when select key matches\n fancyOption.each(function() {\n if( selectKey === $(this).text() ) {\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data('value') );\n }\n });\n } else if( selectIf === 'for_all' ){\n\n fancyOption.each(function(){\n if( selectKey === $(this).text() ){\n $(this).addClass('selected');\n fancyDataPicker.text(selectKey);\n outputSelect.find(\"option\").text(selectKey);\n outputSelect.find(\"option\").val( $(this).data(\"value\") );\n }\n });\n\n }\n\n })\n // bulk delete alert.\n .on('click', '#doaction, #doaction2', function () {\n // noinspection JSUnresolvedVariable\n return confirm(opts.form.del_confirm_multi);\n })\n // Generate Feed Table Row Delete\n .on('change', '.dType', function () {\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').show();\n } else if (type === 'attribute') {\n row.find('.value_attribute').show();\n row.find('.value_pattern').hide();\n } else if (type === 'remove') {\n row.find('.value_attribute').hide();\n row.find('.value_pattern').hide();\n }\n })\n // Generate Feed Form Submit\n .on('click', '.delRow', function (e) {\n e.preventDefault();\n $(this).closest('tr').remove();\n helper.reindex_config_table();\n })\n .on('submit', '#generateFeed', function () {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .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 }\n })\n // Generate Update Feed Form Submit\n .on('submit', '#updatefeed', function (e, data) {\n // Feed Generating form validation\n $(this).validate();\n\n if ($(this).valid()) {\n $(\".makeFeedResponse\")\n .show()\n .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 }\n })\n .on( 'ready woo_feed_config_loaded', function(){\n\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n if( $('#provider').val() === 'google' ) {\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n }\n\n $('#ftpenabled').on('change', function(){\n if( $('#ftpenabled').val() === '0' ){\n $('.google-merchant-message').hide('slow');\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').attr('disabled','disabled');\n } else {\n\n $('.woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) input, .woo-feed-ftp .ftpconfig tr:not(.ftpcontroller) select').removeAttr('disabled');\n\n // Google merchant specific message\n if( $('#provider').val() === 'google' ){\n $('.google-merchant-message').show('slow');\n } else {\n $('.google-merchant-message').hide('slow');\n }\n\n }\n });\n })\n .on('change', '.ftporsftp', function () {\n let server = $(this).val(),\n status = $('.ssh2_status');\n\n if (server === 'sftp') {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'dodgerblue').text(opts.form.sftp_checking);\n wpAjax.post('get_ssh2_status', {\n _ajax_nonce: opts.nonce,\n server: server\n }).then(function (response) {\n if (response === 'exists') {\n // noinspection JSUnresolvedVariable\n status.css('color', '#2CC185').text(opts.form.sftp_available);\n setTimeout(function () {\n status.hide();\n }, 1500);\n } else {\n // noinspection JSUnresolvedVariable\n status.show().css('color', 'red').text(opts.form.sftp_warning);\n }\n }).fail(function (e) {\n status.hide();\n helper.ajax_fail(e);\n });\n } else {\n status.hide();\n }\n })\n .on('click', '[name=\"save_feed_config\"]', function (e) {\n e.preventDefault();\n $('#updatefeed').trigger('submit', {\n save: true\n });\n })\n .on('change', '#provider', function (event) {\n event.preventDefault();\n\n let merchant = $(this).val(),\n templateName = $(this).find(':selected').text(),\n name = $('#filename').val(),\n feedType = $(\"#feedType\"),\n feedForm = $(\"#providerPage\"),\n merchantInfo = $('#feed_merchant_info'); // set loading..\n\n // noinspection JSUnresolvedVariable\n feedForm.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\n merchantInfo.find('.spinner').addClass('is-active');\n feedType.disabled(!0); // disable dropdown\n\n feedType.parent().find('.spinner').addClass('is-active');\n merchantInfo.find('.merchant-info-section .data').html(''); // remove previous data\n // Get Merchant info for selected Provider/Merchant\n\n if (merchantInfoCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantInfo(merchantInfo, feedType, merchantInfoCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.send('woo_feed_get_merchant_info', {\n type: 'GET',\n data: {\n nonce: opts.nonce,\n provider: merchant,\n templateName: templateName\n }\n }).then(function (r) {\n merchantInfoCache[merchant] = r;\n feedEditor.renderMerchantInfo(merchantInfo, feedType, r);\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n } // Get FeedForm For Selected Provider/Merchant\n\n\n if (merchantTemplateCache.hasOwnProperty(merchant)) {\n feedEditor.renderMerchantTemplate(feedForm, merchantTemplateCache[merchant]);\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n } else {\n wpAjax.post('get_feed_merchant', {\n _ajax_nonce: opts.nonce,\n merchant: merchant\n }).then(function (r) {\n merchantTemplateCache[merchant] = r;\n feedEditor.renderMerchantTemplate(feedForm, r);\n $('#utm_source').val(templateName);\n $('#utm_campaign').val(name);\n //when merchant is bing, change delimiter and enclosure\n if( 'bing' === merchant ) {\n //delimiter value\n $(\"#delimiter option\").removeAttr('selected');\n $(\"#delimiter option[value=\\\"tab\\\"]\").attr('selected', 'selected');\n\n //enclosure value\n $(\"#enclosure option\").removeAttr('selected');\n $(\"#enclosure option[value=\\\" \\\"]\").attr('selected', 'selected');\n }\n\n //reviewer options hide\n if( 'google_product_review' !== merchant) {\n $('.wf_attributes option[value=\"reviewer_name\"]').hide();\n }\n }).then(function(){\n\n /**\n * Triggers after merchant configuration is fetched & loaded\n * */\n $(document).trigger('woo_feed_config_loaded');\n\n }).fail(helper.ajax_fail);\n }\n })\n // Feed Active and Inactive status change via ajax\n .on('change', '.woo_feed_status_input', function () {\n let self = $(this);\n wpAjax.post('update_feed_status', {\n _ajax_nonce: opts.nonce,\n feedName: self.val(),\n status: self[0].checked ? 1 : 0\n });\n });\n // event with trigger\n $(document)\n .on('change', '[name=\"is_outOfStock\"], [name=\"product_visibility\"]', function () {\n let outOfStockVisibilityRow = $('.out-of-stock-visibility');\n if ($('[name=\"is_outOfStock\"]:checked').val() === 'n' && $('[name=\"product_visibility\"]:checked').val() === '1') {\n outOfStockVisibilityRow.show();\n } else {\n outOfStockVisibilityRow.hide();\n }\n })\n .on('change', '.attr_type', function () {\n // Attribute type selection\n let self = $(this),\n type = self.val(),\n row = self.closest('tr');\n\n if (type === 'pattern') {\n row.find('.wf_attr').hide();\n row.find('.wf_attr').val('');\n row.find('.wf_default').show();\n } else {\n row.find('.wf_attr').show();\n row.find('.wf_default').hide();\n row.find('.wf_default').val('');\n }\n })\n .on('change', '.wf_mattributes, .attr_type', function () {\n let row = $(this).closest('tr'),\n attribute = row.find('.wf_mattributes'),\n type = row.find('.attr_type'),\n valueColumn = row.find('td:eq(4)'),\n provider = $('#provider').val();\n\n // noinspection JSUnresolvedVariable\n if (opts.form.google_category.hasOwnProperty(attribute.val()) && type.val() === 'pattern' && helper.in_array(provider, opts.form.google_category[attribute.val()])) {\n if (valueColumn.find('select.selectize').length === 0) {\n valueColumn.find('input.wf_default').remove();\n valueColumn.append('<span class=\"wf_default wf_attributes\"><select name=\"default[]\" class=\"selectize\"></select></span>');\n // noinspection JSUnresolvedVariable\n valueColumn.append(`<span style=\"font-size:x-small;\"><a style=\"color: red\" href=\"https://webappick.com/docs/woo-feed/feed-configuration/how-to-map-store-category-with-merchant-category/\" target=\"_blank\">${opts.learn_more}</a></span>`);\n\n if (!googleCategories) {\n valueColumn.append('<span class=\"spinner is-active\" style=\"margin: 0;\"></span>');\n }\n\n let select = valueColumn.find('.wf_attributes select');\n // noinspection JSUnresolvedVariable\n helper.selectize(select, {\n preload: true,\n placeholder: opts.form.select_category,\n load: function load(query, cb) {\n if (!googleCategories) {\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n provider: provider\n }\n }).then(function (r) {\n googleCategories = r;\n cb(googleCategories);\n valueColumn.find('.spinner').remove();\n }).fail(helper.ajax_fail);\n } else {\n cb(googleCategories);\n }\n }\n });\n }\n } else {\n if (attribute.val() !== 'current_category' && valueColumn.find('input.wf_default').length === 0) {\n valueColumn.find('span').remove();\n valueColumn.append('<input autocomplete=\"off\" class=\"wf_default wf_attributes\" type=\"text\" name=\"default[]\" value=\"\">');\n\n if (type.val() !== 'pattern') {\n valueColumn.find('input.wf_default').hide();\n }\n }\n }\n })\n .on('change', '#feedType,#provider', function (e) {\n let type = $('#feedType').val(),\n provider = $('#provider').val(),\n itemWrapper = $('.itemWrapper'),\n wf_csv_txt = $('.wf_csvtxt');\n\n // noinspection JSUnresolvedVariable\n if (type !== '' && helper.in_array(provider, opts.form.item_wrapper_hidden)) {\n itemWrapper.hide();\n }\n\n //when feed type is changed\n if( 'feedType' === e.target.id ) {\n if (type === 'csv' || type === 'txt' || type === 'tsv') {\n wf_csv_txt.show();\n itemWrapper.hide();\n \n if( 'tsv' === type ) {\n $('#delimiter option:last').prop(\"selected\", \"selected\");\n } else if( 'csv' === type ) {\n $('#delimiter option:first').prop(\"selected\", \"selected\");\n }\n } else if( 'xml' === type && \"custom\" === provider ) {\n itemWrapper.show();\n wf_csv_txt.hide();\n } else if( 'json' === type ) {\n wf_csv_txt.hide();\n }\n }\n\n // when template is not custom template 1 hide the item wrapper\n if( \"custom\" !== provider ) {\n itemWrapper.hide();\n }\n\n })\n .trigger('change');\n\n\n $(document)\n\t\t\t.on('click', '.woofeed-custom-fields [id*=\"-switcher\"]', function () {\n\t\t\t $(this).closest('td').find('.switch-loader').show();\n\t\t\t\tlet field = $(this).attr( 'id' ).split( '-' )[0],\n\t\t\t\t\tisTaxonomy = $(this).data( 'taxonomy' ),\n\t\t\t\t\tstatus = $(this).prop( 'checked' );\n\t\t\t\tnew WooFeedCustomFields( field, status, isTaxonomy );\n\n\t\t\t})\n\n\t\t\t// Remove sticky cart on feature page\n\t\t\t.ready(function() {\n\t\t\t\tvar s = $(\".wapk-feed-buy-now-container\");\n\t\t\t\t$(window).scroll(function() {\n\t\t\t\t\tvar windowpos = $(window).scrollTop();\n\t\t\t\t\tif ( windowpos <= 5000 ) {\n\t\t\t\t\t\ts.addClass(\"fixed\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts.removeClass(\"fixed\");\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n });\n\n $(document)\n\t\t.on('click', '#woo-feed-debug-log-download', function (e) {\n\t\t\te.preventDefault();\n\t\t\t$(\"<a />\", {\n\t\t\t\tdownload: new Date() + \".log\",\n\t\t\t\thref: URL.createObjectURL(\n\t\t\t\t\tnew Blob([$(\"#woo-feed-debug-log\").val()], {\n\t\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t\t})),\n\t\t\t}).appendTo(\"body\")[0].click();\n\t\t})\n\t\t.on('keyup', '#filename', function() {\n\t\t\tvar name = $('#filename').val();\n\t\t\t$('#utm_campaign').val(name);\n\t\t})\n\n .on('click', '.wf-tab-name', function(e) {\n $('.wf-tab-name.activate').removeClass('activate');\n $(this).addClass('activate');\n\n let for_attr = $(this).attr('for');\n $('.wf_tabs li.active').removeClass('active');\n $('.wf_tabs .wf-tab-content#' + for_attr).parent().addClass('active');\n })\n\n\t\t.on('change', '#category-mapping-form #providers', function() {\n\t\t\tvar provider = $(this).find(':selected').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'];\n\t\t\tif( googleMap.indexOf(provider) !== -1 ) {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'none');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'block').css('width', '100%');\n\n\t\t\t} else {\n\t\t\t\t$('input[id*=\"cat_mapping_\"]').css('display', 'block');\n\t\t\t\t$('.wf_default.wf_attributes').css('display', 'none').css('width', '100%');\n\t\t\t}\n\t\t})\n\n // Copy parent category ids to child categories.\n\t\t.on('click', 'span[id*=\"cat-map-\"]', function(e) {\n\t\t\te.preventDefault();\n\t\t\tvar providerName = $('#category-mapping-form #providers').val(),\n\t\t\t\tgoogleMap = ['google', 'facebook', 'pinterest', 'bing', 'bing_local_inventory', 'snapchat'],\n\t\t\t\tcatId = $(this).attr('id').replace(/[^\\d.]/g, ''),\n\t\t\t\tgroupId = 'group-child-' + catId;\n\n\t\t\tif( googleMap.indexOf(providerName) !== -1) {\n\t\t\t\tvar catField = $(this).parents('tr').find('.selectized').val();\n\n\t\t\t\tif (catField) {\n\t\t\t\t\t$('.' + groupId).parents('tr').find('select').each(function (i, v) {\n\t\t\t\t\t\t$(v).data('selectize').setValue(catField);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tvar value = $('#cat_mapping_'+catId).val();\n\t\t\t\t$('.'+groupId).parents('tr').find('input').val(value);\n\t\t\t}\n\n\t\t});\n\n $(document).ready(function (){\n\n wpAjax.send('get_google_categories', {\n type: 'GET',\n data: {\n _ajax_nonce: opts.nonce,\n action: \"get_google_categories\",\n // provider: provider\n }\n }).then(function (response) {\n $('.selectize-google-category').selectize({\n valueField: 'value',\n labelField: 'text',\n placeholder: 'Select a category',\n searchField: ['value', 'text'],\n options: response,\n render: {\n option: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`,\n item: (data, escape) => `<div class=\"item wapk-selectize-item\">${escape(data.value + ' - ' + data.text)}</div>`\n }\n });\n }).fail(helper.ajax_fail);\n\n\n\n });\n\n /*\n * Issue fix for feed edit page unsupported `Feed Type` not disabling\n *\n * @since 4.4.22\n * */\n $(document).on( \"feed_editor_init\", function(){\n\n let types = $('.merchant-info-section.feed_file_type .data').html().split(\",\").map(function(t) {\n return t.trim().toLowerCase();\n });\n\n let feedType = $(\"#feedType\");\n\n if (types.length) {\n feedType.find('option').each(function() {\n let opt = $(this);\n opt.val() && !helper.in_array(opt.val(), types) ? opt.disabled(!0) : opt.disabled(!1);\n });\n if (types.length === 1) feedType.find('option[value=\"' + types[0] + '\"]').attr('selected', 'selected');\n } else feedType.find('option').disabled(!1);\n\n } );\n\n /**\n * Automatically adding postfix for corresponding attribute selection.\n *\n * @since 4.4.32\n */\n $(document).on('ready', function(){\n\n function update_postfix(){\n var attribute_list = {\n\n 'price': wpf_ajax_obj.woocommerce.currency,\n 'current_price': wpf_ajax_obj.woocommerce.currency,\n 'sale_price': wpf_ajax_obj.woocommerce.currency,\n 'price_with_tax': wpf_ajax_obj.woocommerce.currency,\n 'current_price_with_tax': wpf_ajax_obj.woocommerce.currency,\n 'sale_price_with_tax': wpf_ajax_obj.woocommerce.currency,\n\n\n 'weight': wpf_ajax_obj.woocommerce.weight,\n 'weight_unit': wpf_ajax_obj.woocommerce.weight,\n\n\n 'height': wpf_ajax_obj.woocommerce.dimension,\n 'length': wpf_ajax_obj.woocommerce.dimension,\n 'width': wpf_ajax_obj.woocommerce.dimension\n\n };\n\n $( '.wf_attr.wf_attributes' ).each( function( key, value){\n\n var attribute_value = $(value).val();\n var current_Value = $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val();\n\n if( -1 !== $.inArray( current_Value, [\n ' ' + wpf_ajax_obj.woocommerce.currency,\n ' ' + wpf_ajax_obj.woocommerce.weight,\n ' ' + wpf_ajax_obj.woocommerce.dimension\n ] ) ){\n $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val('');\n }\n\n $.each(attribute_list, function (_key, _value){\n if( attribute_value === _key ){\n if( $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val() === '' ){\n $( 'input[name^=\"suffix\"]' ).eq( parseInt( key ) ).val( ' ' + _value );\n }\n\n\n }\n });\n } );\n\n $(document).trigger( 'feedEditor.after.free.postfix.update' );\n }\n\n $(document).on('feedEditor.init', function(){\n update_postfix();\n });\n\n });\n\n})(jQuery, window, document, wp.ajax, wpf_ajax_obj);\n"]}
admin/js/woo-feed-facebook-pixel.min.js.map CHANGED
File without changes
admin/js/woo-feed-google-remarketing.min.js.map CHANGED
File without changes
includes/classes/class-woo-feed-default-attributes.php CHANGED
@@ -729,7 +729,6 @@ class Woo_Feed_Default_Attributes {
729
  'subscription_period' => 'Subscription Period[period]',
730
  'subscription_period_length' => 'Subscription Period Length[period_length]',
731
  'subscription_amount' => 'Subscription Amount[amount]',
732
- 'loyalty_points' => 'Loyalty Points[loyalty_points]',
733
  '---11' => '',
734
  '--12' => 'Energy Labels',
735
  'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]',
729
  'subscription_period' => 'Subscription Period[period]',
730
  'subscription_period_length' => 'Subscription Period Length[period_length]',
731
  'subscription_amount' => 'Subscription Amount[amount]',
 
732
  '---11' => '',
733
  '--12' => 'Energy Labels',
734
  'energy_efficiency_class' => 'Energy Efficiency Class[energy_efficiency_class]',
includes/helper.php CHANGED
@@ -3736,8 +3736,7 @@ if (!function_exists('woo_feed_product_structured_data')) {
3736
  /**
3737
  * Product Structured data
3738
  */
3739
- function woo_feed_product_structured_data()
3740
- {
3741
 
3742
  if (is_product()) {
3743
  global $post;
@@ -3789,6 +3788,19 @@ if (!function_exists('woo_feed_product_structured_data')) {
3789
  if ($product->is_type('variable')) {
3790
  $lowest = $product->get_variation_price('min', false);
3791
  $highest = $product->get_variation_price('max', false);
 
 
 
 
 
 
 
 
 
 
 
 
 
3792
  if ($lowest === $highest) {
3793
  $markup_offer = array(
3794
  '@type' => 'Offer',
@@ -3797,7 +3809,7 @@ if (!function_exists('woo_feed_product_structured_data')) {
3797
  'priceSpecification' => array(
3798
  'price' => wc_format_decimal($lowest, wc_get_price_decimals()),
3799
  'priceCurrency' => $currency,
3800
- 'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
3801
  ),
3802
  );
3803
  } else {
@@ -3812,14 +3824,26 @@ if (!function_exists('woo_feed_product_structured_data')) {
3812
  if ($product->is_on_sale() && $product->get_date_on_sale_to()) {
3813
  $price_valid_until = gmdate('Y-m-d', $product->get_date_on_sale_to()->getTimestamp());
3814
  }
 
 
 
 
 
 
 
 
 
 
 
 
3815
  $markup_offer = array(
3816
  '@type' => 'Offer',
3817
- 'price' => wc_format_decimal($product->get_price(), wc_get_price_decimals()),
3818
  'priceValidUntil' => $price_valid_until,
3819
  'priceSpecification' => array(
3820
- 'price' => wc_format_decimal($product->get_price(), wc_get_price_decimals()),
3821
  'priceCurrency' => $currency,
3822
- 'valueAddedTaxIncluded' => wc_prices_include_tax() ? 'true' : 'false',
3823
  ),
3824
  );
3825
  }
@@ -3914,8 +3938,7 @@ if (!function_exists('woo_feed_trim_attribute')) {
3914
  * @param $attribute string feed attribute
3915
  * @return mixed
3916
  */
3917
- function woo_feed_trim_attribute($attribute)
3918
- {
3919
  return str_replace('_', ' ', $attribute);
3920
  }
3921
  }
@@ -3923,7 +3946,7 @@ if (!function_exists('woo_feed_trim_attribute')) {
3923
  // Facebook pixel integration
3924
  if( !function_exists( 'woo_feed_facebook_pixel_init' ) ){
3925
 
3926
- function woo_feed_facebook_pixel_init(){
3927
  new WebAppick\Feed\Tracker\Facebook\Pixel();
3928
  }
3929
 
@@ -3934,7 +3957,7 @@ if( !function_exists( 'woo_feed_facebook_pixel_init' ) ){
3934
  // Google Remarketing integration
3935
  if( !function_exists( 'woo_feed_google_remarketing_init' ) ){
3936
 
3937
- function woo_feed_google_remarketing_init(){
3938
  new WebAppick\Feed\Tracker\Google\Remarketing();
3939
  }
3940
 
@@ -3956,8 +3979,7 @@ if (!function_exists('woo_feed_filter_dropdown_attributes')) {
3956
  *
3957
  * @since 4.3.11
3958
  */
3959
- function woo_feed_filter_dropdown_attributes($default_attr, $merchants)
3960
- {
3961
  $filtered_attributes = $default_attr;
3962
  $snapchat_additional_attr = array();
3963
  $snapchat_additional_attr['--18'] = 'Snapchat Additional Attributes';
@@ -4015,8 +4037,7 @@ if (!function_exists('woo_feed_countries')) {
4015
  *
4016
  */
4017
 
4018
- function woo_feed_countries()
4019
- {
4020
 
4021
  return array(
4022
  'AF' => 'Afghanistan',
@@ -4705,7 +4726,7 @@ if (!function_exists('woo_feed_get_dynamic_discounted_product_price')) {
4705
  /**
4706
  * Get price with dynamic discount
4707
  *
4708
- * @param WC_Product $product product object
4709
  * @param $price
4710
  * @param $config
4711
  * @param bool $tax product taxable or not
@@ -4736,8 +4757,22 @@ if (!function_exists('woo_feed_get_dynamic_discounted_product_price')) {
4736
  $price = $product->get_price();
4737
  }
4738
 
 
 
 
 
 
 
 
 
 
 
4739
  $price = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', false, $product, 1, $price, 'discounted_price', true, true);
4740
 
 
 
 
 
4741
  if( !isset( $feedConfig['feedCurrency'] ) ){
4742
  $feedConfig['feedCurrency'] = get_woocommerce_currency();
4743
  }
3736
  /**
3737
  * Product Structured data
3738
  */
3739
+ function woo_feed_product_structured_data() {
 
3740
 
3741
  if (is_product()) {
3742
  global $post;
3788
  if ($product->is_type('variable')) {
3789
  $lowest = $product->get_variation_price('min', false);
3790
  $highest = $product->get_variation_price('max', false);
3791
+
3792
+
3793
+ // If woocommerce tax enabled & Product is taxable
3794
+ if ($product->is_taxable()) {
3795
+ $highest = apply_filters('woo_feed_filter_product_sale_price_with_tax', $highest, $product, [], false);
3796
+ $lowest = apply_filters('woo_feed_filter_product_sale_price_with_tax', $lowest, $product, [], false);
3797
+ $lowest = woo_feed_get_price_with_tax($lowest, $product);
3798
+ $highest = woo_feed_get_price_with_tax($highest, $product);
3799
+ } else {
3800
+ $highest = apply_filters('woo_feed_filter_product_sale_price', $highest, $product, [], false);
3801
+ $lowest = apply_filters('woo_feed_filter_product_sale_price', $lowest, $product, [], false);
3802
+ }
3803
+
3804
  if ($lowest === $highest) {
3805
  $markup_offer = array(
3806
  '@type' => 'Offer',
3809
  'priceSpecification' => array(
3810
  'price' => wc_format_decimal($lowest, wc_get_price_decimals()),
3811
  'priceCurrency' => $currency,
3812
+ 'valueAddedTaxIncluded' => (wc_tax_enabled() && $product->is_taxable()) ? 'true' : 'false',
3813
  ),
3814
  );
3815
  } else {
3824
  if ($product->is_on_sale() && $product->get_date_on_sale_to()) {
3825
  $price_valid_until = gmdate('Y-m-d', $product->get_date_on_sale_to()->getTimestamp());
3826
  }
3827
+
3828
+ /*
3829
+ * If woocommerce tax enabled & Product is taxable
3830
+ */
3831
+ if ($product->is_taxable()) {
3832
+ $price = apply_filters('woo_feed_filter_product_sale_price_with_tax',$product->get_price(),$product,[],true);
3833
+ $price = woo_feed_get_price_with_tax($price, $product);
3834
+ } else {
3835
+ $price = apply_filters('woo_feed_filter_product_sale_price',$product->get_price(),$product,[],false);
3836
+ }
3837
+ #########################################
3838
+
3839
  $markup_offer = array(
3840
  '@type' => 'Offer',
3841
+ 'price' => wc_format_decimal($price, wc_get_price_decimals()),
3842
  'priceValidUntil' => $price_valid_until,
3843
  'priceSpecification' => array(
3844
+ 'price' => wc_format_decimal($price, wc_get_price_decimals()),
3845
  'priceCurrency' => $currency,
3846
+ 'valueAddedTaxIncluded' => (wc_tax_enabled() && $product->is_taxable()) ? 'true' : 'false',
3847
  ),
3848
  );
3849
  }
3938
  * @param $attribute string feed attribute
3939
  * @return mixed
3940
  */
3941
+ function woo_feed_trim_attribute($attribute) {
 
3942
  return str_replace('_', ' ', $attribute);
3943
  }
3944
  }
3946
  // Facebook pixel integration
3947
  if( !function_exists( 'woo_feed_facebook_pixel_init' ) ){
3948
 
3949
+ function woo_feed_facebook_pixel_init() {
3950
  new WebAppick\Feed\Tracker\Facebook\Pixel();
3951
  }
3952
 
3957
  // Google Remarketing integration
3958
  if( !function_exists( 'woo_feed_google_remarketing_init' ) ){
3959
 
3960
+ function woo_feed_google_remarketing_init() {
3961
  new WebAppick\Feed\Tracker\Google\Remarketing();
3962
  }
3963
 
3979
  *
3980
  * @since 4.3.11
3981
  */
3982
+ function woo_feed_filter_dropdown_attributes($default_attr, $merchants) {
 
3983
  $filtered_attributes = $default_attr;
3984
  $snapchat_additional_attr = array();
3985
  $snapchat_additional_attr['--18'] = 'Snapchat Additional Attributes';
4037
  *
4038
  */
4039
 
4040
+ function woo_feed_countries() {
 
4041
 
4042
  return array(
4043
  'AF' => 'Afghanistan',
4726
  /**
4727
  * Get price with dynamic discount
4728
  *
4729
+ * @param WC_Product|WC_Product_Variable $product product object
4730
  * @param $price
4731
  * @param $config
4732
  * @param bool $tax product taxable or not
4757
  $price = $product->get_price();
4758
  }
4759
 
4760
+ if($product->is_type('variable')){
4761
+ $min = $product->get_variation_price('min', false);
4762
+ $max = $product->get_variation_price('max', false);
4763
+
4764
+ $price = $min;
4765
+ if($max === $base_price){
4766
+ $price = $max;
4767
+ }
4768
+ }
4769
+
4770
  $price = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', false, $product, 1, $price, 'discounted_price', true, true);
4771
 
4772
+ if( empty($price) ) {
4773
+ $price = $base_price;
4774
+ }
4775
+
4776
  if( !isset( $feedConfig['feedCurrency'] ) ){
4777
  $feedConfig['feedCurrency'] = get_woocommerce_currency();
4778
  }
languages/woo-feed.pot CHANGED
@@ -16,7 +16,7 @@ msgstr ""
16
  msgid "Unauthorized Action."
17
  msgstr ""
18
 
19
- #: woo-feed.php:237, woo-feed.php:356, includes/helper.php:852, includes/helper.php:1903, includes/helper.php:2944, includes/helper.php:2973, includes/helper.php:3361, includes/helper.php:3559, includes/helper.php:3587, includes/helper.php:4964, includes/helper.php:5473
20
  msgid "Invalid Request."
21
  msgstr ""
22
 
@@ -709,31 +709,31 @@ msgstr ""
709
  msgid "Choose from the most used"
710
  msgstr ""
711
 
712
- #: includes/helper.php:4666
713
  msgid "Option Successfully Added."
714
  msgstr ""
715
 
716
- #: includes/helper.php:4657
717
  msgid "Option Already Added."
718
  msgstr ""
719
 
720
- #: includes/helper.php:5378
721
  msgid "Delivery up to 30 days"
722
  msgstr ""
723
 
724
- #: includes/helper.php:5376
725
  msgid "Delivery 1 to 3 days"
726
  msgstr ""
727
 
728
- #: includes/helper.php:5481
729
  msgid "Feed data is empty. Can't duplicate feed."
730
  msgstr ""
731
 
732
- #: includes/helper.php:5497
733
  msgid "Unable to save the duplicate feed data."
734
  msgstr ""
735
 
736
- #: includes/helper.php:5507
737
  msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
738
  msgstr ""
739
 
16
  msgid "Unauthorized Action."
17
  msgstr ""
18
 
19
+ #: woo-feed.php:237, woo-feed.php:356, includes/helper.php:852, includes/helper.php:1903, includes/helper.php:2944, includes/helper.php:2973, includes/helper.php:3361, includes/helper.php:3559, includes/helper.php:3587, includes/helper.php:4999, includes/helper.php:5508
20
  msgid "Invalid Request."
21
  msgstr ""
22
 
709
  msgid "Choose from the most used"
710
  msgstr ""
711
 
712
+ #: includes/helper.php:4687
713
  msgid "Option Successfully Added."
714
  msgstr ""
715
 
716
+ #: includes/helper.php:4678
717
  msgid "Option Already Added."
718
  msgstr ""
719
 
720
+ #: includes/helper.php:5413
721
  msgid "Delivery up to 30 days"
722
  msgstr ""
723
 
724
+ #: includes/helper.php:5411
725
  msgid "Delivery 1 to 3 days"
726
  msgstr ""
727
 
728
+ #: includes/helper.php:5516
729
  msgid "Feed data is empty. Can't duplicate feed."
730
  msgstr ""
731
 
732
+ #: includes/helper.php:5532
733
  msgid "Unable to save the duplicate feed data."
734
  msgstr ""
735
 
736
+ #: includes/helper.php:5542
737
  msgid "Feed Successfully Duplicated, but unable to generate the data file. Please click the \"Regenerate Button\""
738
  msgstr ""
739
 
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.37
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.37' );
46
  }
47
 
48
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {
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.38
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.38' );
46
  }
47
 
48
  if ( ! defined( 'WOO_FEED_FREE_FILE' ) ) {