PluginProbe
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits / 3.1.2
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits v3.1.2
3.2.2 3.2.3 3.2.1 3.2.0 3.1.9 3.1.8 3.1.7 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.9 trunk 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.3 1.1.4 1.1.5 All 174 releases
master-addons / assets / js / addons / ma-data-table.js

ma-data-table.js in Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits 3.1.2, at assets/js/addons/ma-data-table.js

113 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(){
2 (function($, elementor) {
3 "use strict";
4 var JLTMA_DataTable = function($scope, $2) {
5 var a = $scope.find(".jltma-data-table-container"), n = a.data("source"), r = a.data("sourcecsv");
6 if (1 == a.data("buttons")) var l = "Bfrtip";
7 else l = "frtip";
8 if ("custom" == n) {
9 var i = $scope.find("table thead tr th").length;
10 $scope.find("table tbody tr").each(function() {
11 if ($2(this).find("td").length < i) {
12 var t = i - $2(this).find("td").length;
13 $2(this).append(new Array(++t).join("<td></td>"));
14 }
15 }), $scope.find(".jltma-data-table").DataTable({
16 dom: l,
17 paging: a.data("paging"),
18 pagingType: "numbers",
19 pageLength: a.data("pagelength"),
20 info: a.data("info"),
21 scrollX: true,
22 searching: a.data("searching"),
23 ordering: a.data("ordering"),
24 buttons: [{
25 extend: "csvHtml5",
26 text: JLTMA_DATA_TABLE.csvHtml5
27 }, {
28 extend: "excelHtml5",
29 text: JLTMA_DATA_TABLE.excelHtml5
30 }, {
31 extend: "pdfHtml5",
32 text: JLTMA_DATA_TABLE.pdfHtml5
33 }, {
34 extend: "print",
35 text: JLTMA_DATA_TABLE.print
36 }],
37 language: {
38 lengthMenu: JLTMA_DATA_TABLE.lengthMenu,
39 zeroRecords: JLTMA_DATA_TABLE.zeroRecords,
40 info: JLTMA_DATA_TABLE.info,
41 infoEmpty: JLTMA_DATA_TABLE.infoEmpty,
42 infoFiltered: JLTMA_DATA_TABLE.infoFiltered,
43 search: "",
44 searchPlaceholder: JLTMA_DATA_TABLE.searchPlaceholder,
45 processing: JLTMA_DATA_TABLE.processing
46 }
47 });
48 } else if ("csv" == n) {
49 ({
50 init: function(t) {
51 var a2 = (t = t || {}).csv_path || "", n2 = $scope.element || $2("#table-container"), r2 = $scope.csv_options || {}, l2 = $scope.datatables_options || {}, i2 = $scope.custom_formatting || [], s = {};
52 $2.each(i2, function(e, t2) {
53 var a3 = t2[0], n3 = t2[1];
54 s[a3] = n3;
55 });
56 var d = $2('<table class="jltma-data-table cell-border" style="width:100%;visibility:hidden;">');
57 n2.empty().append(d), $2.when($2.get(a2)).then(function(t2) {
58 for (var a3 = $2.csv.toArrays(t2, r2), n3 = $2("<thead></thead>"), i3 = a3[0], o = $2("<tr></tr>"), c = 0; c < i3.length; c++) o.append($2("<th></th>").text(i3[c]));
59 n3.append(o), d.append(n3);
60 for (var m = $2("<tbody></tbody>"), p = 1; p < a3.length; p++)
61 for (var _ = $2("<tr></tr>"), g = 0; g < a3[p].length; g++) {
62 var b = $2("<td></td>"), f = s[g];
63 f ? b.html(f(a3[p][g])) : b.text(a3[p][g]), _.append(b), m.append(_);
64 }
65 d.append(m), d.DataTable(l2);
66 });
67 }
68 }).init({
69 csv_path: r,
70 element: a,
71 datatables_options: {
72 dom: l,
73 paging: a.data("paging"),
74 pagingType: "numbers",
75 pageLength: a.data("pagelength"),
76 info: a.data("info"),
77 scrollX: true,
78 searching: a.data("searching"),
79 ordering: a.data("ordering"),
80 buttons: [{
81 extend: "csvHtml5",
82 text: JLTMA_DATA_TABLE.csvHtml5
83 }, {
84 extend: "excelHtml5",
85 text: JLTMA_DATA_TABLE.excelHtml5
86 }, {
87 extend: "pdfHtml5",
88 text: JLTMA_DATA_TABLE.pdfHtml5
89 }, {
90 extend: "print",
91 text: JLTMA_DATA_TABLE.print
92 }],
93 language: {
94 lengthMenu: JLTMA_DATA_TABLE.lengthMenu,
95 zeroRecords: JLTMA_DATA_TABLE.zeroRecords,
96 info: JLTMA_DATA_TABLE.info,
97 infoEmpty: JLTMA_DATA_TABLE.infoEmpty,
98 infoFiltered: JLTMA_DATA_TABLE.infoFiltered,
99 search: "",
100 searchPlaceholder: JLTMA_DATA_TABLE.searchPlaceholder,
101 processing: JLTMA_DATA_TABLE.processing
102 }
103 }
104 });
105 }
106 $scope.find(".jltma-data-table").css("visibility", "visible");
107 };
108 $(window).on("elementor/frontend/init", function() {
109 elementorFrontend.hooks.addAction("frontend/element_ready/jltma-data-table.default", JLTMA_DataTable);
110 });
111 })(jQuery, window.elementorFrontend);
112 })();
113