PluginProbe
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits / 3.1.9
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits v3.1.9
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.9, at assets/js/addons/ma-data-table.js

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