PluginProbe
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder / 3.1.4
Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder v3.1.4
3.1.4 3.0.8 3.0.9 3.1.0 3.1.2 3.1.3 3.0.7 3.0.5 3.0.4 3.0.3 3.0.2 trunk 1.5.0 1.5.1 1.5.2 1.6.1 1.6.2 1.6.3 1.6.4 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 All 93 releases
ultimate-store-kit / src / js / widgets / product-table.js

product-table.js in Ultimate Store Kit – Store Builder Addons for Elementor, WooCommerce Store Builder, EDD Store Builder 3.1.4, at src/js/widgets/product-table.js

120 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Start woocommerce widget script
3 */
4
5 (function($, elementor) {
6 'use strict';
7 var widgetWCProductTable = function($scope, $) {
8
9 var $productTable = $scope.find('.usk-wc-products-table'),
10 $settings = $productTable.data('settings'),
11 $table = $productTable.find('> table'),
12 $quantity = $productTable.find('.usk-wc-quantity .quantity input');
13
14 if (!$productTable.length) {
15 return;
16 }
17
18 //$settings.language = window.ElementPackConfig.data_table.language;
19
20 if( $settings.hideHeader == 'yes'){
21
22 $($table).DataTable({
23 cache : false,
24 order : [],
25 paging : $settings.paging,
26 info : $settings.info,
27 bLengthChange : $settings.bLengthChange,
28 searching : $settings.searching,
29 ordering : $settings.ordering,
30 pageLength : $settings.pageLength,
31 drawCallback : function( settings ) {
32 $( $table).find("thead").remove(); } ,
33 });
34 return;
35 }
36
37 if( $settings.orderColumn != 'default' && $('.usk-wc-product').find('.usk-'+$settings.orderColumn).length > 0 && $settings.hideHeader != 'yes') {
38
39 var orderColumn = $('.usk-wc-product .usk-'+$settings.orderColumn);
40 orderColumn = $(orderColumn).index(this);
41
42 $($table).DataTable({
43 cache : false,
44 paging : $settings.paging,
45 info : $settings.info,
46 bLengthChange : $settings.bLengthChange,
47 searching : $settings.searching,
48 ordering : $settings.ordering,
49 pageLength : $settings.pageLength,
50 order : [[ orderColumn, $settings.orderColumnQry ]],
51 });
52
53 } else {
54 $($table).DataTable({
55 cache : false,
56 order : [],
57 paging : $settings.paging,
58 info : $settings.info,
59 bLengthChange : $settings.bLengthChange,
60 searching : $settings.searching,
61 ordering : $settings.ordering,
62 pageLength : $settings.pageLength,
63
64 });
65 }
66
67 jQuery($quantity).on('change',function(){
68 var qtyNum = jQuery(this).val();
69 jQuery(this).closest('tr').find('.usk-wc-add-to-cart a').attr('data-quantity', qtyNum);
70 });
71 };
72
73 // Quickviews
74 var widgetProductQuickView = {
75 loadQuickViewHtml: function (_this, $scope) {
76 var product_id = $(_this).data("id");
77 $.ajax({
78 type: "POST",
79 dataType: "json",
80 url: ultimate_store_kit_ajax_config.ajaxurl,
81 data: {
82 action: "ultimate_store_kit_wc_product_quick_view_content",
83 product_id: product_id,
84 security: $scope.find("#usk-product-table-modal-sc").val(),
85 },
86 success: function (response) {
87 $("#usk-table-modal-response").html(response.data);
88 },
89 });
90 },
91 };
92 var widgetWCQuickViewTrigger = function ($scope, $) {
93 var $modalBody = '<div class="modal micromodal-slide" id="usk-table-modal" aria-hidden="false"><div class="modal__overlay" tabindex="-1" data-custom-close=""><div id="usk-table-modal-response" class="modal__container" role="dialog" aria-modal="true" aria-labelledby="modal-btn-title"></div></div></div>';
94 $("body").append($modalBody);
95 MicroModal.init({
96 openTrigger: "data-micromodal-trigger",
97 closeTrigger: "data-micromodal-close",
98 disableScroll: true,
99 disableFocus: false,
100 awaitOpenAnimation: false,
101 awaitCloseAnimation: false,
102 debugMode: true,
103 });
104 $scope.on("click", ".usk-shoping-icon-quickview", function (e) {
105 e.preventDefault();
106 widgetProductQuickView.loadQuickViewHtml(this, $scope);
107 });
108 };
109
110 jQuery(window).on('elementor/frontend/init', function() {
111 elementorFrontend.hooks.addAction('frontend/element_ready/usk-product-table.default', widgetWCProductTable);
112 elementorFrontend.hooks.addAction("frontend/element_ready/usk-product-table.default", widgetWCQuickViewTrigger);
113 });
114 }(jQuery, window.elementorFrontend));
115
116 /**
117 * End woocommerce widget script
118 */
119
120