mgsdatatable 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +117 -36
- package/dist/mgsdatatable.min.js +2 -2
- package/package.json +1 -1
- package/public/images/datatable.png +0 -0
- package/src/index.js +68 -11
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@ All functions are globally accessible via window.
|
|
|
16
16
|
- 🎨 **Custom Serial Number** — (e.g. Sr.No.).
|
|
17
17
|
- 📦 **No Dependencies** — Works in all modern browsers.
|
|
18
18
|
|
|
19
|
+

|
|
20
|
+
|
|
19
21
|
---
|
|
20
22
|
|
|
21
23
|
## Function Uses
|
|
@@ -34,7 +36,13 @@ All functions are globally accessible via window.
|
|
|
34
36
|
isPagination: true, // Optional, default: true
|
|
35
37
|
isSorting: true, // Optional, default: true
|
|
36
38
|
isSrno: true, // Optional, default: false
|
|
37
|
-
isSrnoText: "ID" // Optional, default: "Sr.No"
|
|
39
|
+
isSrnoText: "ID" // Optional, default: "Sr.No",
|
|
40
|
+
isAllData: false // Optional, default: false,
|
|
41
|
+
// true → Load ALL records once and handle
|
|
42
|
+
// searching, sorting, pagination
|
|
43
|
+
// entirely on the frontend (no API calls)
|
|
44
|
+
// false → Fetch data from server on each
|
|
45
|
+
// search/sort/pagination action
|
|
38
46
|
});
|
|
39
47
|
</script>
|
|
40
48
|
|
|
@@ -50,10 +58,24 @@ All functions are globally accessible via window.
|
|
|
50
58
|
API endpoint to fetch data.
|
|
51
59
|
Example: "http://localhost/mgs/users"
|
|
52
60
|
The API should return a JSON response.
|
|
53
|
-
|
|
61
|
+
|
|
62
|
+
Payload -
|
|
54
63
|
{
|
|
55
|
-
"
|
|
56
|
-
"
|
|
64
|
+
"page": 1,
|
|
65
|
+
"limit": 10,
|
|
66
|
+
"column": "2", //Optional column index
|
|
67
|
+
"sort": "desc", //Optional
|
|
68
|
+
"search": "" //Optional
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Response -
|
|
73
|
+
|
|
74
|
+
i)- If case isAllData:false then --- (Fetch data from server on each search/sort/pagination action)-
|
|
75
|
+
|
|
76
|
+
{
|
|
77
|
+
"status": true,
|
|
78
|
+
"message": "Data Found",
|
|
57
79
|
"column": [
|
|
58
80
|
"name",
|
|
59
81
|
"role",
|
|
@@ -63,34 +85,74 @@ All functions are globally accessible via window.
|
|
|
63
85
|
"status",
|
|
64
86
|
"action"
|
|
65
87
|
],
|
|
66
|
-
"data":
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
"data": {
|
|
89
|
+
"data": [
|
|
90
|
+
{
|
|
91
|
+
"id": 1,
|
|
92
|
+
"name": "Mangesh",
|
|
93
|
+
"role": "superadmin",
|
|
94
|
+
"email": "mangesh@gmail.com",
|
|
95
|
+
"mobile": "1234567890",
|
|
96
|
+
"image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
|
|
97
|
+
"status": "<span data-id='1' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
|
|
98
|
+
"action": "<span data-id='1' class='btn-danger badge badge-sm badge-danger delete' title='Delete'><i class='fa fa-trash'></i></span> <a href='http://localhost/mgs/user-update/1' class='btn-success badge badge-sm badge-success' title='Update'><i class='fa fa-edit'></i></a>"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": 2,
|
|
102
|
+
"name": "Ashwani",
|
|
103
|
+
"role": "superadmin",
|
|
104
|
+
"email": "ashwani@gmail.com",
|
|
105
|
+
"mobile": "1234567891",
|
|
106
|
+
"image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
|
|
107
|
+
"status": "<span data-id='2' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
|
|
108
|
+
"action": "<span data-id='2' class='btn-danger badge badge-sm badge-danger delete' title='Delete'><i class='fa fa-trash'></i></span> <a href='http://localhost/mgs/user-update/2' class='btn-success badge badge-sm badge-success' title='Update'><i class='fa fa-edit'></i></a>"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"from": 1,
|
|
112
|
+
"to": 10,
|
|
113
|
+
"total": 30
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
ii)- If case isAllData:true then --- (Load ALL records once and handle searching, sorting, pagination entirely on the frontend (no API calls))-
|
|
118
|
+
|
|
119
|
+
{
|
|
120
|
+
"status": true,
|
|
121
|
+
"message": "Data Found",
|
|
122
|
+
"column": [
|
|
123
|
+
"name",
|
|
124
|
+
"role",
|
|
125
|
+
"email",
|
|
126
|
+
"mobile",
|
|
127
|
+
"image",
|
|
128
|
+
"status",
|
|
129
|
+
"action"
|
|
87
130
|
],
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
131
|
+
"data": {
|
|
132
|
+
"data": [
|
|
133
|
+
{
|
|
134
|
+
"id": 1,
|
|
135
|
+
"name": "Mangesh",
|
|
136
|
+
"role": "superadmin",
|
|
137
|
+
"email": "mangesh@gmail.com",
|
|
138
|
+
"mobile": "1234567890",
|
|
139
|
+
"image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
|
|
140
|
+
"status": "<span data-id='1' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
|
|
141
|
+
"action": "<span data-id='1' class='btn-danger badge badge-sm badge-danger delete' title='Delete'><i class='fa fa-trash'></i></span> <a href='http://localhost/mgs/user-update/1' class='btn-success badge badge-sm badge-success' title='Update'><i class='fa fa-edit'></i></a>"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"id": 2,
|
|
145
|
+
"name": "Ashwani",
|
|
146
|
+
"role": "superadmin",
|
|
147
|
+
"email": "ashwani@gmail.com",
|
|
148
|
+
"mobile": "1234567891",
|
|
149
|
+
"image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
|
|
150
|
+
"status": "<span data-id='2' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
|
|
151
|
+
"action": "<span data-id='2' class='btn-danger badge badge-sm badge-danger delete' title='Delete'><i class='fa fa-trash'></i></span> <a href='http://localhost/mgs/user-update/2' class='btn-success badge badge-sm badge-success' title='Update'><i class='fa fa-edit'></i></a>"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
94
156
|
|
|
95
157
|
3 - data (object) – Optional
|
|
96
158
|
|
|
@@ -164,7 +226,14 @@ All functions are globally accessible via window.
|
|
|
164
226
|
isSrno: true,
|
|
165
227
|
isSrnoText: "User ID"
|
|
166
228
|
Column header will show User ID instead of Sr.No.
|
|
167
|
-
|
|
229
|
+
|
|
230
|
+
12 - isAllData (boolean) – Optional
|
|
231
|
+
|
|
232
|
+
Default: false
|
|
233
|
+
When enabled, all records are loaded once at initial load.
|
|
234
|
+
Searching, sorting, pagination, and page limits are handled
|
|
235
|
+
entirely on the frontend without any server-side requests.
|
|
236
|
+
|
|
168
237
|
```
|
|
169
238
|
|
|
170
239
|
## 📄 Usage via CDN
|
|
@@ -174,7 +243,7 @@ All functions are globally accessible via window.
|
|
|
174
243
|
<html>
|
|
175
244
|
<head>
|
|
176
245
|
<title>mgsDataTable</title>
|
|
177
|
-
<script src="https://cdn.jsdelivr.net/npm/mgsdatatable@1.1.
|
|
246
|
+
<script src="https://cdn.jsdelivr.net/npm/mgsdatatable@1.1.4/dist/mgsdatatable.min.js"></script>
|
|
178
247
|
</head>
|
|
179
248
|
<body>
|
|
180
249
|
<div id="myTable"> </div>
|
|
@@ -190,7 +259,13 @@ All functions are globally accessible via window.
|
|
|
190
259
|
isPagination: true, // Optional, default: true
|
|
191
260
|
isSorting: true, // Optional, default: true
|
|
192
261
|
isSrno: true, // Optional, default: false
|
|
193
|
-
isSrnoText: "ID"
|
|
262
|
+
isSrnoText: "ID", // Optional, default: "Sr.No"
|
|
263
|
+
isAllData: false // Optional, default: false,
|
|
264
|
+
// true → Load ALL records once and handle
|
|
265
|
+
// searching, sorting, pagination
|
|
266
|
+
// entirely on the frontend (no API calls)
|
|
267
|
+
// false → Fetch data from server on each
|
|
268
|
+
// search/sort/pagination action
|
|
194
269
|
});
|
|
195
270
|
</script>
|
|
196
271
|
</body>
|
|
@@ -230,7 +305,13 @@ npm install mgsdatatable
|
|
|
230
305
|
isPagination: true, // Optional, default: true
|
|
231
306
|
isSorting: true, // Optional, default: true
|
|
232
307
|
isSrno: true, // Optional, default: false
|
|
233
|
-
isSrnoText: "ID"
|
|
308
|
+
isSrnoText: "ID", // Optional, default: "Sr.No"
|
|
309
|
+
isAllData: false // Optional, default: false,
|
|
310
|
+
// true → Load ALL records once and handle
|
|
311
|
+
// searching, sorting, pagination
|
|
312
|
+
// entirely on the frontend (no API calls)
|
|
313
|
+
// false → Fetch data from server on each
|
|
314
|
+
// search/sort/pagination action
|
|
234
315
|
});
|
|
235
316
|
</script>
|
|
236
317
|
</body>
|
|
@@ -245,7 +326,7 @@ npm install mgsdatatable
|
|
|
245
326
|
{
|
|
246
327
|
"page": 1,
|
|
247
328
|
"limit": 10,
|
|
248
|
-
"column": "2", //Optional
|
|
329
|
+
"column": "2", //Optional column index
|
|
249
330
|
"sort": "desc", //Optional
|
|
250
331
|
"search": "" //Optional
|
|
251
332
|
}
|
package/dist/mgsdatatable.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).mgsDataTable={})}(this,function(e){"use strict";function n(e,n,t,o,r,
|
|
1
|
+
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).mgsDataTable={})}(this,function(e){"use strict";function n(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}function t(e,n,t,o,i,r,l){try{var a=e[r](l),s=a.value}catch(e){return void t(e)}a.done?n(s):Promise.resolve(s).then(o,i)}function o(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,o)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach(function(n){o(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e,n){if(null==e)return{};var t,o,i=function(e,n){if(null==e)return{};var t={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==n.indexOf(o))continue;t[o]=e[o]}return t}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)t=r[o],-1===n.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function a(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,n,t="function"==typeof Symbol?Symbol:{},o=t.iterator||"@@iterator",r=t.toStringTag||"@@toStringTag";function a(t,o,r,a){var i=o&&o.prototype instanceof s?o:s,d=Object.create(i.prototype);return l(d,"_invoke",function(t,o,r){var a,i,l,s=0,d=r||[],u=!1,p={p:0,n:0,v:e,a:g,f:g.bind(e,4),d:function(n,t){return a=n,i=0,l=e,p.n=t,c}};function g(t,o){for(i=t,l=o,n=0;!u&&s&&!r&&n<d.length;n++){var r,a=d[n],g=p.p,m=a[2];t>3?(r=m===o)&&(l=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=e):a[0]<=g&&((r=t<2&&g<a[1])?(i=0,p.v=o,p.n=a[1]):g<m&&(r=t<3||a[0]>o||o>m)&&(a[4]=t,a[5]=o,p.n=m,i=0))}if(r||t>1)return c;throw u=!0,o}return function(r,d,m){if(s>1)throw TypeError("Generator is already running");for(u&&1===d&&g(d,m),i=d,l=m;(n=i<2?e:l)||!u;){a||(i?i<3?(i>1&&(p.n=-1),g(i,l)):p.n=l:p.v=l);try{if(s=2,a){if(i||(r="next"),n=a[r]){if(!(n=n.call(a,l)))throw TypeError("iterator result is not an object");if(!n.done)return n;l=n.value,i<2&&(i=0)}else 1===i&&(n=a.return)&&n.call(a),i<2&&(l=TypeError("The iterator does not provide a '"+r+"' method"),i=1);a=e}else if((n=(u=p.n<0)?l:t.call(o,p))!==c)break}catch(n){a=e,i=1,l=n}finally{s=1}}return{value:n,done:u}}}(t,r,a),!0),d}var c={};function s(){}function d(){}function u(){}n=Object.getPrototypeOf;var p=[][o]?n(n([][o]())):(l(n={},o,function(){return this}),n),g=u.prototype=s.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,l(e,r,"GeneratorFunction")),e.prototype=Object.create(g),e}return d.prototype=u,l(g,"constructor",u),l(u,"constructor",d),d.displayName="GeneratorFunction",l(u,r,"GeneratorFunction"),l(g),l(g,r,"Generator"),l(g,o,function(){return this}),l(g,"toString",function(){return"[object Generator]"}),(i=function(){return{w:a,m:m}})()}function l(e,n,t,o){var r=Object.defineProperty;try{r({},"",{})}catch(e){r=0}l=function(e,n,t,o){function a(n,t){l(e,n,function(e){return this._invoke(n,t,e)})}n?r?r(e,n,{value:t,enumerable:!o,configurable:!o,writable:!o}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},l(e,n,t,o)}var c=["token","bearerToken"],s=0,d={target:"",url:"",methodType:"post",data:{},pageLimits:[10,20,30,50,100],page:1,limit:10,column:"",sort:"asc",search:"",prevPage:null,nextPage:null,isSearch:!0,isLimit:!0,isResult:!0,isPagination:!0,isSorting:!0},u=function(){var e,o=(e=i().m(function e(n){var o,l,u,g,m,v,f,y,h,b,x,P,w,_,S,L,T,j,O,k,E,A,C,M,I,q,H,D,N,F,z,R,G,B,U,X,J,W,K,Q,V,Y,Z,$,ee,ne,te,oe,re,ae,ie,le,ce,se,de,ue,pe,ge,me,ve,fe,ye,he,be,xe,Pe,we,_e,Se,Le,Te,je,Oe,ke,Ee,Ae,Ce,Me,Ie,qe,He,De,Ne,Fe,ze,Re,Ge,Be,Ue,Xe,Je,We,Ke,Qe,Ve,Ye,Ze,$e;return i().w(function(e){for(;;)switch(e.p=e.n){case 0:if(d=r(r({},d),n),null!==(o=d)&&void 0!==o&&o.target){e.n=1;break}return alert("Target is requied."),e.a(2);case 1:if(null!==(l=d)&&void 0!==l&&l.url){e.n=2;break}return alert("URL is requied."),e.a(2);case 2:return R=null===(u=d)||void 0===u?void 0:u.target,G=null!==(g=null===(m=d)||void 0===m?void 0:m.url)&&void 0!==g?g:"/",B=r({},null===(v=d)||void 0===v?void 0:v.data),U=B.token,X=B.bearerToken,J=a(B,c),W=null===(f=d)||void 0===f?void 0:f.methodType,K=null!==(y=null===(h=d)||void 0===h?void 0:h.page)&&void 0!==y?y:1,Q=null!==(b=null===(x=d)||void 0===x?void 0:x.limit)&&void 0!==b?b:10,V=null!==(P=null===(w=d)||void 0===w?void 0:w.pageLimits)&&void 0!==P?P:[10,20,30,50,100],Y=null===(_=d)||void 0===_?void 0:_.search,Z=null===(S=d)||void 0===S?void 0:S.column,$=null===(L=d)||void 0===L?void 0:L.sort,ee=null!==(T=null===(j=d)||void 0===j?void 0:j.nextPage)&&void 0!==T?T:null,ne=null!==(O=null===(k=d)||void 0===k?void 0:k.prevPage)&&void 0!==O?O:null,te=null===(E=null===(A=d)||void 0===A?void 0:A.isSearch)||void 0===E||E,oe=null===(C=null===(M=d)||void 0===M?void 0:M.isLimit)||void 0===C||C,re=null===(I=null===(q=d)||void 0===q?void 0:q.isResult)||void 0===I||I,ae=null===(H=null===(D=d)||void 0===D?void 0:D.isPagination)||void 0===H||H,ie=null===(N=null===(F=d)||void 0===F?void 0:F.isSorting)||void 0===N||N,J=r(r({},J),{},{page:K,limit:Q}),null!=Y&&null!=Y&&""!=Y.trim()&&(J=r(r({},J),{},{search:Y})),null!=Z&&null!=Z&&""!=Z.trim()&&(J=r(r({},J),{},{column:Z,sort:$})),le="post"===W.toLowerCase(),(ce=new Headers).append("Content-Type","application/json"),le&&U&&ce.append("X-CSRF-Token",U),X&&ce.append("Authorization","Bearer ".concat(X)),se={method:null===(z=d)||void 0===z?void 0:z.methodType,headers:ce,body:JSON.stringify(J)},de=document.querySelector(R),null==(ue=document.querySelector("._mgsErrorMessage"))||ue.remove(),(pe=document.createElement("div")).className="_mgsSpinner",pe.innerHTML='<i class="fa fa-spinner fa-spin"></i> Loading...',pe.style.cssText="\n position: fixed;\n z-index: 1031;\n width: 70%;\n height: 30%;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 20px;\n ",de.insertAdjacentElement("beforebegin",pe),e.p=3,e.n=4,fetch(G,se);case 4:return ye=e.v,e.n=5,ye.json();case 5:if(he=e.v,be=null!==(ge=null==he?void 0:he.data)&&void 0!==ge?ge:[],xe=null!==(me=null==he||null===(ve=he.data)||void 0===ve?void 0:ve.data)&&void 0!==me?me:[],Pe=null!==(fe=null==he?void 0:he.column)&&void 0!==fe?fe:[],we=null!=(null==be?void 0:be.from)&&null!=(null==be?void 0:be.from)&&""!=(null==be?void 0:be.from)?null==be?void 0:be.from:0,_e=null!=(null==be?void 0:be.to)&&null!=(null==be?void 0:be.to)&&""!=(null==be?void 0:be.to)?null==be?void 0:be.to:0,Se=null!=(null==be?void 0:be.total)&&null!=(null==be?void 0:be.total)&&""!=(null==be?void 0:be.total)?null==be?void 0:be.total:0,Le=Math.ceil(Se/Q),Te=Le+2,ee=Le>1&&null==ee&&null==ne?2:ee,(je=document.querySelector("._mgsPaginateResult"))&&je.remove(),(Oe=de.querySelector("tbody"))&&(null==xe?void 0:xe.length)>0&&Oe.remove(),0==s&&(te||oe)&&(ke="",oe&&V.forEach(function(e){ke+='<option value="'.concat(e,'">').concat(e,"</option>")}),Ee='\n <div class="_mgsPerPageSearch"> \n '.concat(oe?'<div class="_mgsPerPageStyle">\n <span>Show</span> \n <select class="_mgsPerPageLimit form-control" name="_mgsPerPageLimit" style="width:100px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;">'.concat(ke,"</select>\n </div>"):"","\n ").concat(te?'<div class="_mgsSearchStyle"> \n <span>Search</span> \n <input type="text" class="form-control _mgsSearchAnyField" name="_mgsSearchAnyField" value="'.concat(Y,'" placeholder="Search any field..." style="width:195px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;">\n </div> '):"","\n </div>\n "),de.insertAdjacentHTML("beforebegin",Ee),(Ae=document.querySelector("._mgsPerPageSearch"))&&(Ae.style.display="flex",Ae.style.justifyContent="space-between",Ae.style.alignItems="center",Ae.style.gap="10px",Ae.style.marginBottom="10px")),(Ce=document.createElement("table")).style.cssText="\n width: 100%;\n min-width: 100%;\n max-width: 100%;\n padding: 10px 5px;\n vertical-align: top;\n border: 1px solid rgb(222, 226, 230);\n background-color: #fff;\n color: #212529;\n border-collapse: collapse;\n ",Me=document.createElement("thead"),Ie=document.createElement("tr"),Pe.forEach(function(e,n){e=p(e);var t=document.createElement("th");(null==xe?void 0:xe.length)>0&&ie&&"Action"!=e&&t.classList.add("_mgsSort"),ie&&"Action"!=e?(t.setAttribute("data-column",n),Z&&n==Z&&"desc"==$?(t.setAttribute("data-sort","desc"),t.innerHTML="".concat(e,' <span style="font-size:14px !important">▼</span>')):(t.setAttribute("data-sort","asc"),t.innerHTML="".concat(e,' <span style="font-size:14px !important">▲</span>'))):t.innerHTML=e,t.style.cssText="\n background-color: #f8f9fa;\n font-weight: bold;\n cursor: ".concat((null==xe?void 0:xe.length)>0?"pointer":"not-allowed",";\n width: 150px;\n min-width: 150px;\n max-width: 150px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align:left;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n "),Ie.appendChild(t)}),Me.appendChild(Ie),Ce.appendChild(Me),qe=document.createElement("tbody"),(null==xe?void 0:xe.length)>0?xe.forEach(function(e,n){var t=document.createElement("tr");Pe.forEach(function(n){var o=document.createElement("td");o.style.cssText="\n width: 150px;\n min-width: 150px;\n max-width: 150px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n ",o.innerHTML=e[n],o.title=e[n],t.appendChild(o)}),qe.appendChild(t)}):(He=document.createElement("tr"),(De=document.createElement("td")).innerHTML="Data not Found",De.setAttribute("colspan",null==Pe?void 0:Pe.length),De.style.cssText="\n width: 100%;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n text-align: center;\n color:red;\n ",He.appendChild(De),qe.appendChild(He)),Ce.appendChild(qe),de.innerHTML="",de.appendChild(Ce),de&&(de.style.width="100%",de.style.overflowX="auto"),(Ne=document.querySelector(R+" table"))&&(Ne.style.borderCollapse="collapse",Ne.style.minWidth="100%"),document.querySelectorAll(R+" th, "+R+" td").forEach(function(e){e.style.padding="16px 8px",e.style.borderTop="1px solid #ddd",e.style.whiteSpace="nowrap"}),Fe="",Te>0)for((ze=document.createElement("style")).textContent="\n ._mgsPagination {\n display: flex;\n list-style: none;\n padding: 0;\n gap: 6px;\n }\n ._mgsPageItem {\n display: inline-block;\n }\n ._mgsPageLink {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 36px;\n height: 36px;\n padding: 0 10px;\n border: 1px solid #0ec6d5;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #0ec6d5;\n text-decoration: none;\n transition: all 0.2s ease-in-out;\n }\n ._mgsPageLink:hover {\n background-color: #0ec6d5;\n color: #fff;\n }\n ._mgsPageItem.active ._mgsPageLink {\n background-color: #0ec6d5;\n color: #fff;\n border-color: #0ec6d5;\n }\n ._mgsPageItem.disabled ._mgsPageLink {\n border-color: #ccc;\n color: #ccc;\n pointer-events: none;\n cursor: not-allowed;\n }\n ",document.head.appendChild(ze),Re=!0,Ge=0;Ge<Te;Ge++)Be=t({0:"« Previous"},Te-1,"Next »"),Ue=Be[Ge]?Be[Ge]:Ge,Xe="« Previous"==Be[Ge]?ne:"Next »"==Be[Ge]?ee:Ge,Je=null==Xe?"cursor: not-allowed !important;":"cursor: pointer !important;",We=null==Xe?"disabled":Xe==K?"active":"",Ke=Ue,2==Te&&(Xe=null,We="disabled"),Le>5&&["« Previous",1,2,3,"Next »"].includes(Ue)&&K<3?(Ke=Ue,Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe,'">').concat(Ke,"</a>\n </li>")):Le>5&&K>2?(We=null==Xe?"disabled":Xe+1==K?"active":"",Ke=K>=3&&!["« Previous","Next »"].includes(Ue)?Ue+1:Ue,1==Ge?Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="1">1</a>\n </li>'):K-1<=Ge&&K>=Ge&&Ge<=K+1&&Ge<Le-2&&!["« Previous","Next »"].includes(Ue)?Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe+1,'">').concat(Ke,"</a>\n </li>"):Le>5&&Ge>3&&Ge<Le-1&&!["« Previous","Next »"].includes(Ue)?Re&&(Re=!1,Ke="...",Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe+1,'">').concat(Ke,"</a>\n </li>")):(Ke=Ue,Fe+='<li class="_mgsPageItem '.concat(We=null==Xe?"disabled":Xe==K?"active":"",'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe,'">').concat(Ke,"</a>\n </li>"))):Le>5&&Ge>3&&Ge<Le-1&&!["« Previous","Next »"].includes(Ue)?Re&&(Re=!1,Ke="...",Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe,'">').concat(Ke,"</a>\n </li>")):(Ke=Ue,Fe+='<li class="_mgsPageItem '.concat(We,'" style="').concat(Je,'">\n <a class="_mgsPageLink" data-mxpage="').concat(Le,'" href="').concat(Xe,'">').concat(Ke,"</a>\n </li>"));Qe='\n <div class="_mgsPaginateResult">\n '.concat(re?"<div>Showing ".concat(we," to ").concat(_e," of ").concat(Se," results</div>"):"","\n ").concat(ae?'<div style="margin-top:10px;"> \n <ul class="mgsPagination" style="margin-left: auto !important"> \n '.concat(Fe,"\n </ul> \n </div> "):"","\n </div>"),de.insertAdjacentHTML("afterend",Qe),(Ve=document.querySelector("._mgsPaginateResult"))&&(Ve.style.display="flex",Ve.style.justifyContent="space-between",Ve.style.alignItems="center",Ve.style.gap="10px"),(null==xe?void 0:xe.length)>0&&s++,setTimeout(function(){pe.remove()},500),e.n=7;break;case 6:e.p=6,$e=e.v,Ye='\n <div class="_mgsErrorMessage" style="text-align: center; display: block; margin: 10px auto; font-weight: bold; margin-top:50px;"> \n <p>Error Message : <span style=\'color: red; margin-left:10px;\'>'.concat($e.message,"</span></p>\n </div>\n "),de.innerHTML="",de.insertAdjacentHTML("beforebegin",Ye),null==(Ze=document.querySelector("._mgsSpinner"))||Ze.remove();case 7:return e.a(2)}},e,null,[[3,6]])}),function(){var t=this,o=arguments;return new Promise(function(r,a){var i=e.apply(t,o);function l(e){n(i,r,a,l,c,"next",e)}function c(e){n(i,r,a,l,c,"throw",e)}l(void 0)})});return function(e){return o.apply(this,arguments)}}();function p(e){return e.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()})}document.addEventListener("click",function(e){var n=e.target.closest("._mgsPageItem");if(n){e.preventDefault(),n.textContent.trim();var t=n.querySelector("._mgsPageLink"),o=null==t?void 0:t.getAttribute("href"),r=null==t?void 0:t.getAttribute("data-mxpage");if(!o||"null"===o)return t.setAttribute("disabled",!0),void(t.style.cssText="cursor: not-allowed !important;");var a=parseInt(o),i=a>=r?null:a+1,l=a<=1?null:a-1;null==t||t.setAttribute("href",i),t.style.cssText=null==i||null==l?"cursor: not-allowed !important;":"cursor: pointer !important;",u({page:a,prevPage:l,nextPage:i})}}),document.addEventListener("change",function(e){var n=e.target;if(n.classList.contains("_mgsPerPageLimit")){e.preventDefault();var t=parseInt(n.value,10);u({page:1,limit:t,prevPage:null,nextPage:null})}}),document.addEventListener("keyup",function(e){var n=e.target;if(n.classList.contains("_mgsSearchAnyField")&&(e.preventDefault(),"Enter"===e.key)){var t=n.value;document.querySelectorAll("._mgsSort").forEach(function(e){var n=p(e.textContent.trim());e.innerHTML="".concat(n,' <span style="font-size:14px !important">▲</span>'),e.setAttribute("data-sort","asc")});u({page:1,column:"",sort:"",search:t,prevPage:null,nextPage:null})}}),document.addEventListener("click",function(e){var n=e.target.closest("._mgsSort");if(n){e.preventDefault();var t=n.getAttribute("data-column"),o=n.getAttribute("data-sort");u({page:1,column:t,sort:"asc"===o?"desc":"asc"})}}),window.mgsDataTable=u,window.mgsCapitalizeFirstLetter=p,e.mgsCapitalizeFirstLetter=p,e.mgsDataTable=u,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
3
|
+
var e,n,t="function"==typeof Symbol?Symbol:{},o=t.iterator||"@@iterator",i=t.toStringTag||"@@toStringTag";function r(t,o,i,r){var a=o&&o.prototype instanceof c?o:c,d=Object.create(a.prototype);return s(d,"_invoke",function(t,o,i){var r,a,s,c=0,d=i||[],u=!1,p={p:0,n:0,v:e,a:v,f:v.bind(e,4),d:function(n,t){return r=n,a=0,s=e,p.n=t,l}};function v(t,o){for(a=t,s=o,n=0;!u&&c&&!i&&n<d.length;n++){var i,r=d[n],v=p.p,f=r[2];t>3?(i=f===o)&&(s=r[(a=r[4])?5:(a=3,3)],r[4]=r[5]=e):r[0]<=v&&((i=t<2&&v<r[1])?(a=0,p.v=o,p.n=r[1]):v<f&&(i=t<3||r[0]>o||o>f)&&(r[4]=t,r[5]=o,p.n=f,a=0))}if(i||t>1)return l;throw u=!0,o}return function(i,d,f){if(c>1)throw TypeError("Generator is already running");for(u&&1===d&&v(d,f),a=d,s=f;(n=a<2?e:s)||!u;){r||(a?a<3?(a>1&&(p.n=-1),v(a,s)):p.n=s:p.v=s);try{if(c=2,r){if(a||(i="next"),n=r[i]){if(!(n=n.call(r,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=r.return)&&n.call(r),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);r=e}else if((n=(u=p.n<0)?s:t.call(o,p))!==l)break}catch(n){r=e,a=1,s=n}finally{c=1}}return{value:n,done:u}}}(t,i,r),!0),d}var l={};function c(){}function d(){}function u(){}n=Object.getPrototypeOf;var p=[][o]?n(n([][o]())):(s(n={},o,function(){return this}),n),v=u.prototype=c.prototype=Object.create(p);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,s(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return d.prototype=u,s(v,"constructor",u),s(u,"constructor",d),d.displayName="GeneratorFunction",s(u,i,"GeneratorFunction"),s(v),s(v,i,"Generator"),s(v,o,function(){return this}),s(v,"toString",function(){return"[object Generator]"}),(a=function(){return{w:r,m:f}})()}function s(e,n,t,o){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,n,t,o){function r(n,t){s(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!o,configurable:!o,writable:!o}):e[n]=t:(r("next",0),r("throw",1),r("return",2))},s(e,n,t,o)}function c(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var o={}.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var d=["token","bearerToken"],u=0,p=[],v=[],f=[],g=[],m=[],y=[],b={target:"",url:"",methodType:"post",data:{},pageLimits:[10,20,30,50,100],page:1,limit:null,column:"",sort:"asc",search:"",prevPage:null,nextPage:null,isSearch:!0,isLimit:!0,isResult:!0,isPagination:!0,isSorting:!0,isSrno:!1,isSrnoText:"Sr.No.",isAllData:!1},h=function(){var e,n=(e=a().m(function e(n){var t,i,s,c,h,_,L,T,O,j,k,E,A,C,M,I,N,D,H,q,F,z,R,G,B,J,U,W,X,$,K,Q,V,Y,Z,ee,ne,te,oe,ie,re,le,ae,se,ce,de,ue,pe,ve,fe,ge,me,ye,be,he,xe,Pe,we,Se,_e,Le,Te,Oe,je,ke,Ee,Ae,Ce,Me,Ie,Ne,De,He,qe,Fe,ze,Re,Ge,Be,Je,Ue,We,Xe,$e,Ke,Qe,Ve,Ye,Ze,en,nn,tn,on,rn,ln,an,sn,cn,dn,un,pn,vn,fn,gn,mn,yn,bn,hn,xn,Pn,wn,Sn,_n,Ln,Tn,On,jn,kn,En,An,Cn,Mn,In,Nn,Dn;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(b=r(r({},b),n),null!==(t=b)&&void 0!==t&&t.target){e.n=1;break}return S("Target is requied in function mgsDataTable","error"),e.a(2);case 1:if(null!==(i=b)&&void 0!==i&&i.url){e.n=2;break}return S("URL is required in function mgsDataTable","error"),e.a(2);case 2:if(oe=null===(s=b)||void 0===s?void 0:s.target,ie=null!==(c=null===(h=b)||void 0===h?void 0:h.url)&&void 0!==c?c:"/",re=r({},null===(_=b)||void 0===_?void 0:_.data),le=re.token,ae=re.bearerToken,se=l(re,d),ce=null===(L=b)||void 0===L?void 0:L.methodType,de=null!==(T=null===(O=b)||void 0===O?void 0:O.page)&&void 0!==T?T:1,ue=null!==(j=null===(k=b)||void 0===k?void 0:k.pageLimits)&&void 0!==j?j:[10,20,30,50,100],pe=null!==(E=b)&&void 0!==E&&E.limit?null===(A=b)||void 0===A?void 0:A.limit:null!==(C=ue[0])&&void 0!==C?C:10,ve=null===(M=b)||void 0===M?void 0:M.search,fe=null===(I=b)||void 0===I?void 0:I.column,ge=null===(N=b)||void 0===N?void 0:N.sort,me=null!==(D=null===(H=b)||void 0===H?void 0:H.nextPage)&&void 0!==D?D:null,ye=null!==(q=null===(F=b)||void 0===F?void 0:F.prevPage)&&void 0!==q?q:null,be=null===(z=null===(R=b)||void 0===R?void 0:R.isSearch)||void 0===z||z,he=null===(G=null===(B=b)||void 0===B?void 0:B.isLimit)||void 0===G||G,xe=null===(J=null===(U=b)||void 0===U?void 0:U.isResult)||void 0===J||J,Pe=null===(W=null===(X=b)||void 0===X?void 0:X.isPagination)||void 0===W||W,we=null===($=null===(K=b)||void 0===K?void 0:K.isSorting)||void 0===$||$,Se=null!==(Q=null===(V=b)||void 0===V?void 0:V.isSrno)&&void 0!==Q&&Q,_e=null!==(Y=null===(Z=b)||void 0===Z?void 0:Z.isSrnoText)&&void 0!==Y?Y:"Sr.No.",Le=null!==(ee=null===(ne=b)||void 0===ne?void 0:ne.isAllData)&&void 0!==ee&&ee,se=r(r({},se),{},{page:de,limit:pe}),null!=ve&&null!=ve&&""!=ve.trim()&&(se=r(r({},se),{},{search:ve})),null!=fe&&null!=fe&&""!=fe.trim()&&(se=r(r({},se),{},{column:Se?fe-1:fe,sort:ge})),Te="post"===ce.toLowerCase(),(Oe=new Headers).append("Content-Type","application/json"),Te&&le&&Oe.append("X-CSRF-Token",le),ae&&Oe.append("Authorization","Bearer ".concat(ae)),je={method:null===(te=b)||void 0===te?void 0:te.methodType,headers:Oe,body:JSON.stringify(se)},ke=document.querySelector(oe),null==(Ee=document.querySelector("._mgsErrorMessage"))||Ee.remove(),(Ae=document.createElement("div")).className="_mgsSpinner",Ae.innerHTML='<i class="fa fa-spinner fa-spin"></i> Loading...',Ae.style.cssText="\n position: fixed;\n z-index: 1031;\n width: 80%;\n height: 30%;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 25px;\n color: #0ec6d5;\n ",ke.insertAdjacentElement("beforebegin",Ae),e.p=3,(!Le||0!=u)&&Le){e.n=6;break}return e.n=4,fetch(ie,je);case 4:return f=e.v,e.n=5,f.json();case 5:g=e.v,m=null!==(Xe=null===($e=g)||void 0===$e?void 0:$e.data)&&void 0!==Xe?Xe:[],y=null!==(Ke=Le?null===(Qe=g)||void 0===Qe?void 0:Qe.data:null===(Ve=g)||void 0===Ve||null===(Ve=Ve.data)||void 0===Ve?void 0:Ve.data)&&void 0!==Ke?Ke:[],v=null!==(Ye=null===(Ze=g)||void 0===Ze?void 0:Ze.column)&&void 0!==Ye?Ye:[],p=JSON.parse(JSON.stringify(y));case 6:if(en=null!=(null===(Ce=m)||void 0===Ce?void 0:Ce.from)&&null!=(null===(Me=m)||void 0===Me?void 0:Me.from)&&""!=(null===(Ie=m)||void 0===Ie?void 0:Ie.from)?null===(Ne=m)||void 0===Ne?void 0:Ne.from:0,nn=null!=(null===(De=m)||void 0===De?void 0:De.to)&&null!=(null===(He=m)||void 0===He?void 0:He.to)&&""!=(null===(qe=m)||void 0===qe?void 0:qe.to)?null===(Fe=m)||void 0===Fe?void 0:Fe.to:0,tn=null!=(null===(ze=m)||void 0===ze?void 0:ze.total)&&null!=(null===(Re=m)||void 0===Re?void 0:Re.total)&&""!=(null===(Ge=m)||void 0===Ge?void 0:Ge.total)?null===(Be=m)||void 0===Be?void 0:Be.total:0,Le&&(ln=[],ln=ve?P(p,ve):p,tn=null===(on=ln)||void 0===on?void 0:on.length,en=(de-1)*pe+1,nn=Math.min(de*pe,tn),fe&&(p=x(p,v[fe],ge)),y=null===(rn=ln)||void 0===rn?void 0:rn.slice(en-1,nn)),an=Math.ceil(tn/pe),sn=an+2,me=an>1&&null==me&&null==ye?2:me,(cn=document.querySelector("._mgsPaginateResult"))&&cn.remove(),(dn=ke.querySelector("tbody"))&&(null===(Je=y)||void 0===Je?void 0:Je.length)>0&&dn.remove(),0==u&&(be||he)&&(un="",he&&ue.forEach(function(e){un+='<option value="'.concat(e,'">').concat(e,"</option>")}),pn='\n <div class="_mgsPerPageSearch"> \n '.concat(he?'<div class="_mgsPerPageStyle">\n <span>Show</span> \n <select class="_mgsPerPageLimit form-control" name="_mgsPerPageLimit" style="width:100px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;">'.concat(un,"</select>\n </div>"):"","\n ").concat(be?'<div class="_mgsSearchStyle"> \n <span>Search</span> \n <input type="text" class="form-control _mgsSearchAnyField" name="_mgsSearchAnyField" value="'.concat(ve,'" placeholder="Search any field..." style="width:195px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;">\n </div> '):"","\n </div>\n "),ke.insertAdjacentHTML("beforebegin",pn),(vn=document.querySelector("._mgsPerPageSearch"))&&(vn.style.display="flex",vn.style.justifyContent="space-between",vn.style.alignItems="center",vn.style.gap="10px",vn.style.marginBottom="10px")),(fn=document.createElement("table")).style.cssText="\n width: 100%;\n min-width: 100%;\n max-width: 100%;\n padding: 10px 5px;\n vertical-align: top;\n border: 1px solid rgb(222, 226, 230);\n background-color: #fff;\n color: #212529;\n border-collapse: collapse;\n ",gn=document.createElement("thead"),mn=document.createElement("tr"),Se&&(v.includes(_e)||v.unshift(_e)),v.forEach(function(e,n){var t,o;e=w(e);var i=document.createElement("th");if((null===(t=y)||void 0===t?void 0:t.length)>0&&we&&!["Action",_e].includes(e)&&i.classList.add("_mgsSort"),i.title=e,i.style.cssText="\n background-color: #f8f9fa;\n font-weight: bold;\n cursor: ".concat((null===(o=y)||void 0===o?void 0:o.length)>0?"pointer":"not-allowed",";\n width: 150px;\n min-width: 150px;\n max-width: 150px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align:left;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n position:relative;\n "),we&&!["Action",_e].includes(e)){i.setAttribute("data-column",n),i.innerHTML="".concat(e," ");var r=document.createElement("span");r.style.position="absolute",r.style.display="none",r.style.fontSize="12px",fe&&n==fe&&"desc"==ge?(i.setAttribute("data-sort","desc"),r.innerHTML="▼"):(i.setAttribute("data-sort","asc"),r.innerHTML="▲"),i.addEventListener("mouseenter",function(){r.style.display="inline"}),i.addEventListener("mouseleave",function(){r.style.display=fe&&n==fe?"inline":"none"}),fe&&n==fe?(i.style.color="#0ec6d5",r.style.display="inline"):i.style.color="default",i.appendChild(r)}else i.innerHTML=e,i.style.cursor="default";mn.appendChild(i)}),gn.appendChild(mn),fn.appendChild(gn),yn=document.createElement("tbody"),(null===(Ue=y)||void 0===Ue?void 0:Ue.length)>0?y.forEach(function(e,n){var t=document.createElement("tr");v.forEach(function(o,i){var r=document.createElement("td");r.style.cssText="\n width: 150px;\n min-width: 150px;\n max-width: 150px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n ",r.innerHTML=Se&&0==i?en+n:e[o],r.title=e[o],t.appendChild(r)}),yn.appendChild(t)}):(hn=document.createElement("tr"),(xn=document.createElement("td")).innerHTML="Data not Found",xn.setAttribute("colspan",null===(bn=v)||void 0===bn?void 0:bn.length),xn.style.cssText="\n width: 100%;\n padding: 2px;\n border-top: 1px solid rgb(222, 226, 230);\n text-align: center;\n color:red;\n ",hn.appendChild(xn),yn.appendChild(hn)),fn.appendChild(yn),ke.innerHTML="",ke.appendChild(fn),ke&&(ke.style.width="100%",ke.style.overflowX="auto"),(Pn=document.querySelector(oe+" table"))&&(Pn.style.borderCollapse="collapse",Pn.style.minWidth="100%"),document.querySelectorAll(oe+" th, "+oe+" td").forEach(function(e){e.style.padding="16px 8px",e.style.borderTop="1px solid #ddd",e.style.whiteSpace="nowrap"}),wn="",sn>0)for((Sn=document.createElement("style")).textContent="\n ._mgsPagination {\n display: flex;\n list-style: none;\n padding: 0;\n gap: 6px;\n }\n ._mgsPageItem {\n display: inline-block;\n }\n ._mgsPageLink {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 36px;\n height: 36px;\n padding: 0 10px;\n border: 1px solid #0ec6d5;\n border-radius: 6px;\n font-size: 14px;\n font-weight: 500;\n color: #0ec6d5;\n text-decoration: none;\n transition: all 0.2s ease-in-out;\n }\n ._mgsPageLink:hover {\n background-color: #0ec6d5;\n color: #fff;\n }\n ._mgsPageItem.active ._mgsPageLink {\n background-color: #0ec6d5;\n color: #fff;\n border-color: #0ec6d5;\n }\n ._mgsPageItem.disabled ._mgsPageLink {\n border-color: #ccc;\n color: #ccc;\n pointer-events: none;\n cursor: not-allowed;\n }\n ",document.head.appendChild(Sn),_n=!0,Ln=0;Ln<sn;Ln++)Tn=o({0:"« Previous"},sn-1,"Next »"),On=Tn[Ln]?Tn[Ln]:Ln,jn="« Previous"==Tn[Ln]?ye:"Next »"==Tn[Ln]?me:Ln,kn=null==jn?"cursor: not-allowed !important;":"cursor: pointer !important;",En=null==jn?"disabled":jn==de?"active":"",An=On,2==sn&&(jn=null,En="disabled"),an>5&&["« Previous",1,2,3,"Next »"].includes(On)&&de<3?(An=On,wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn,'">').concat(An,"</a>\n </li>")):an>5&&de>2?(En=null==jn?"disabled":jn+1==de?"active":"",An=de>=3&&!["« Previous","Next »"].includes(On)?On+1:On,1==Ln?wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="1">1</a>\n </li>'):de-1<=Ln&&de>=Ln&&Ln<=de+1&&Ln<an-2&&!["« Previous","Next »"].includes(On)?wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn+1,'">').concat(An,"</a>\n </li>"):an>5&&Ln>3&&Ln<an-1&&!["« Previous","Next »"].includes(On)?_n&&(_n=!1,An="...",wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn+1,'">').concat(An,"</a>\n </li>")):(An=On,wn+='<li class="_mgsPageItem '.concat(En=null==jn?"disabled":jn==de?"active":"",'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn,'">').concat(An,"</a>\n </li>"))):an>5&&Ln>3&&Ln<an-1&&!["« Previous","Next »"].includes(On)?_n&&(_n=!1,An="...",wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn,'">').concat(An,"</a>\n </li>")):(An=On,wn+='<li class="_mgsPageItem '.concat(En,'" style="').concat(kn,'">\n <a class="_mgsPageLink" data-mxpage="').concat(an,'" href="').concat(jn,'">').concat(An,"</a>\n </li>"));Cn='\n <div class="_mgsPaginateResult">\n '.concat(xe?"<div>Showing ".concat(en," to ").concat(nn," of ").concat(tn," results</div>"):"","\n ").concat(Pe?'<div style="margin-top:10px;"> \n <ul class="mgsPagination" style="margin-left: auto !important"> \n '.concat(wn,"\n </ul> \n </div> "):"","\n </div>"),ke.insertAdjacentHTML("afterend",Cn),(Mn=document.querySelector("._mgsPaginateResult"))&&(Mn.style.display="flex",Mn.style.justifyContent="space-between",Mn.style.alignItems="center",Mn.style.gap="10px"),(null===(We=y)||void 0===We?void 0:We.length)>0&&u++,setTimeout(function(){Ae.remove()},500),e.n=8;break;case 7:e.p=7,Dn=e.v,In='\n <div class="_mgsErrorMessage" style="text-align: center; display: block; margin: 10px auto; font-weight: bold; margin-top:50px;"> \n <p>Error Message : <span style=\'color: red; margin-left:10px;\'>'.concat(Dn.message,"</span></p>\n </div>\n "),ke.innerHTML="",ke.insertAdjacentHTML("beforebegin",In),null==(Nn=document.querySelector("._mgsSpinner"))||Nn.remove();case 8:return e.a(2)}},e,null,[[3,7]])}),function(){var n=this,o=arguments;return new Promise(function(i,r){var l=e.apply(n,o);function a(e){t(l,i,r,a,s,"next",e)}function s(e){t(l,i,r,a,s,"throw",e)}a(void 0)})});return function(e){return n.apply(this,arguments)}}(),x=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"asc";return c(e).sort(function(e,o){var i,r,l=null!==(i=e[n])&&void 0!==i?i:"",a=null!==(r=o[n])&&void 0!==r?r:"";return"string"==typeof l&&(l=l.toLowerCase()),"string"==typeof a&&(a=a.toLowerCase()),l<a?"asc"===t?-1:1:l>a?"asc"===t?1:-1:0})},P=function(e,n){return n?(n=n.toLowerCase(),e.filter(function(e){return Object.keys(e).some(function(t){if(["image","status","action"].includes(t))return!1;var o=e[t];return null!=o&&o.toString().toLowerCase().includes(n)})})):e};function w(e){return e.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()})}function S(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"success",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4e3,o=document.getElementById("_mgsMessage");o||((o=document.createElement("div")).id="_mgsMessage",o.style.position="fixed",o.style.top="20px",o.style.right="20px",o.style.zIndex="99999",o.style.padding="15px 20px",o.style.borderRadius="5px",o.style.minWidth="200px",o.style.mgsMessageBoxShadow="0 2px 8px rgba(0,0,0,0.15)",o.style.fontFamily="Arial, sans-serif",document.body.appendChild(o)),o.style.display="block",o.innerText=e,o.style.background="success"===n?"#03741dff":"#b30b1bff",o.style.color="#ffff",o.style.border="success"===n?"1px solid #03741dff":"1px solid #b30b1bff",setTimeout(function(){o.style.display="none"},t)}document.addEventListener("click",function(e){var n=e.target.closest("._mgsPageItem");if(n){e.preventDefault(),n.textContent.trim();var t=n.querySelector("._mgsPageLink"),o=null==t?void 0:t.getAttribute("href"),i=null==t?void 0:t.getAttribute("data-mxpage");if(!o||"null"===o)return t.setAttribute("disabled",!0),void(t.style.cssText="cursor: not-allowed !important;");var r=parseInt(o),l=r>=i?null:r+1,a=r<=1?null:r-1;null==t||t.setAttribute("href",l),t.style.cssText=null==l||null==a?"cursor: not-allowed !important;":"cursor: pointer !important;",h({page:r,prevPage:a,nextPage:l})}}),document.addEventListener("change",function(e){var n=e.target;if(n.classList.contains("_mgsPerPageLimit")){e.preventDefault();var t=parseInt(n.value,10);h({page:1,limit:t,prevPage:null,nextPage:null})}}),document.addEventListener("keyup",function(e){var n=e.target;if(n.classList.contains("_mgsSearchAnyField")&&(e.preventDefault(),"Enter"===e.key)){var t=n.value;h({page:1,column:"",sort:"",search:t,prevPage:null,nextPage:null})}}),document.addEventListener("click",function(e){var n=e.target.closest("._mgsSort");if(n){e.preventDefault();var t=n.getAttribute("data-column"),o=n.getAttribute("data-sort");h({page:1,column:t,sort:"asc"===o?"desc":"asc",prevPage:null,nextPage:null})}}),window.mgsDataTable=h,window.mgsCapitalizeFirstLetter=w,window.mgsNotifyMessage=S,e.mgsCapitalizeFirstLetter=w,e.mgsDataTable=h,e.mgsNotifyMessage=S,Object.defineProperty(e,"__esModule",{value:!0})});
|
package/package.json
CHANGED
|
Binary file
|
package/src/index.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
// create a datatable with sortig, searching, pagination and limiting
|
|
2
2
|
let _mgsCountsCheck = 0;
|
|
3
|
+
let _mgsIsAllData = [];
|
|
4
|
+
let _mgsColumn = [];
|
|
5
|
+
let _mgsResponse = [];
|
|
6
|
+
let _mgsResp = [];
|
|
7
|
+
let _mgsResult = [];
|
|
8
|
+
let _mgsOutput = [];
|
|
3
9
|
let _mgsCommonData = {
|
|
4
10
|
target : '',
|
|
5
11
|
url : '',
|
|
@@ -19,7 +25,8 @@ let _mgsCommonData = {
|
|
|
19
25
|
isPagination: true,
|
|
20
26
|
isSorting: true,
|
|
21
27
|
isSrno: false,
|
|
22
|
-
isSrnoText:'Sr.No.'
|
|
28
|
+
isSrnoText:'Sr.No.',
|
|
29
|
+
isAllData:false,
|
|
23
30
|
}
|
|
24
31
|
const mgsDataTable = async (_mgsData) => {
|
|
25
32
|
_mgsCommonData = {..._mgsCommonData, ..._mgsData};
|
|
@@ -50,6 +57,7 @@ const mgsDataTable = async (_mgsData) => {
|
|
|
50
57
|
let isSorting = _mgsCommonData?.isSorting ?? true;
|
|
51
58
|
let isSrno = _mgsCommonData?.isSrno ?? false;
|
|
52
59
|
let isSrnoText = _mgsCommonData?.isSrnoText ?? 'Sr.No.';
|
|
60
|
+
let isAllData = _mgsCommonData?.isAllData ?? false;
|
|
53
61
|
|
|
54
62
|
allData = { ...allData, page, limit }
|
|
55
63
|
if (search != null && search != undefined && search.trim() != '') {
|
|
@@ -93,14 +101,32 @@ const mgsDataTable = async (_mgsData) => {
|
|
|
93
101
|
`;
|
|
94
102
|
_mgsContainer.insertAdjacentElement('beforebegin', _mgsSpinner);
|
|
95
103
|
try {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
if((isAllData && _mgsCountsCheck == 0) || !isAllData){
|
|
105
|
+
_mgsResponse = await fetch(_mgsFullUrl, _mgsOptions);
|
|
106
|
+
_mgsResp = await _mgsResponse.json();
|
|
107
|
+
_mgsResult = _mgsResp?.data ?? [];
|
|
108
|
+
_mgsOutput = ((isAllData)?_mgsResp?.data:_mgsResp?.data?.data) ?? [];
|
|
109
|
+
_mgsColumn = _mgsResp?.column ?? [];
|
|
110
|
+
_mgsIsAllData = JSON.parse(JSON.stringify(_mgsOutput));
|
|
111
|
+
}
|
|
112
|
+
let _from = (_mgsResult?.from != undefined && _mgsResult?.from != null && _mgsResult?.from != '')?_mgsResult?.from :0;
|
|
113
|
+
let _to = (_mgsResult?.to != undefined && _mgsResult?.to != null && _mgsResult?.to != '')?_mgsResult?.to :0;
|
|
114
|
+
let _total = (_mgsResult?.total != undefined && _mgsResult?.total != null && _mgsResult?.total != '')?_mgsResult?.total :0;
|
|
115
|
+
if(isAllData){
|
|
116
|
+
let searchData = [];
|
|
117
|
+
if(search){
|
|
118
|
+
searchData = _mgsSearchingData(_mgsIsAllData, search)
|
|
119
|
+
}else{
|
|
120
|
+
searchData = _mgsIsAllData;
|
|
121
|
+
}
|
|
122
|
+
_total = searchData?.length;
|
|
123
|
+
_from = (((page - 1) * limit) + 1);
|
|
124
|
+
_to = Math.min(page * limit, _total);
|
|
125
|
+
if(column){
|
|
126
|
+
_mgsIsAllData = _mgsSortData(_mgsIsAllData, _mgsColumn[column], sort)
|
|
127
|
+
}
|
|
128
|
+
_mgsOutput = searchData?.slice(_from-1, _to);
|
|
129
|
+
}
|
|
104
130
|
const _mgsTotalPage = Math.ceil(_total/limit);
|
|
105
131
|
const _mgsPagination = (_mgsTotalPage+2);
|
|
106
132
|
nextPage = (_mgsTotalPage > 1 && nextPage == null && prevPage == null)? 2 : nextPage;
|
|
@@ -163,7 +189,9 @@ const mgsDataTable = async (_mgsData) => {
|
|
|
163
189
|
const _mgsThead = document.createElement('thead');
|
|
164
190
|
const _mgsHeadRow = document.createElement('tr');
|
|
165
191
|
if(isSrno){
|
|
166
|
-
_mgsColumn.
|
|
192
|
+
if(!_mgsColumn.includes(isSrnoText)){
|
|
193
|
+
_mgsColumn.unshift(isSrnoText);
|
|
194
|
+
}
|
|
167
195
|
}
|
|
168
196
|
_mgsColumn.forEach((text, key) => {
|
|
169
197
|
text = mgsCapitalizeFirstLetter (text);
|
|
@@ -435,6 +463,33 @@ const mgsDataTable = async (_mgsData) => {
|
|
|
435
463
|
}
|
|
436
464
|
};
|
|
437
465
|
|
|
466
|
+
//sorting data from all data
|
|
467
|
+
const _mgsSortData = (data, key, order = 'asc') => {
|
|
468
|
+
return [...data].sort((a, b) => {
|
|
469
|
+
let valA = a[key] ?? '';
|
|
470
|
+
let valB = b[key] ?? '';
|
|
471
|
+
if (typeof valA === 'string') valA = valA.toLowerCase();
|
|
472
|
+
if (typeof valB === 'string') valB = valB.toLowerCase();
|
|
473
|
+
if (valA < valB) return order === 'asc' ? -1 : 1;
|
|
474
|
+
if (valA > valB) return order === 'asc' ? 1 : -1;
|
|
475
|
+
return 0;
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
//searching data from all data
|
|
480
|
+
const _mgsSearchingData = (data, searchText) => {
|
|
481
|
+
if (!searchText) return data;
|
|
482
|
+
searchText = searchText.toLowerCase();
|
|
483
|
+
return data.filter(row => {
|
|
484
|
+
return Object.keys(row).some(key => {
|
|
485
|
+
if (['image', 'status', 'action'].includes(key)) return false;
|
|
486
|
+
const value = row[key];
|
|
487
|
+
if (value === null || value === undefined) return false;
|
|
488
|
+
return value.toString().toLowerCase().includes(searchText);
|
|
489
|
+
});
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
|
|
438
493
|
//for per page
|
|
439
494
|
document.addEventListener('click', function (e) {
|
|
440
495
|
const target = e.target.closest('._mgsPageItem');
|
|
@@ -498,10 +553,12 @@ document.addEventListener('click', function (e) {
|
|
|
498
553
|
if (!target) return;
|
|
499
554
|
e.preventDefault();
|
|
500
555
|
const page = 1;
|
|
556
|
+
const prevPage = null;
|
|
557
|
+
const nextPage = null;
|
|
501
558
|
const column = target.getAttribute('data-column');
|
|
502
559
|
const columnSortType = target.getAttribute('data-sort');
|
|
503
560
|
let sort = columnSortType === 'asc'?'desc':'asc';
|
|
504
|
-
mgsDataTable({page, column, sort});
|
|
561
|
+
mgsDataTable({page, column, sort, prevPage, nextPage});
|
|
505
562
|
});
|
|
506
563
|
|
|
507
564
|
// string to convert first letter of a string to uppercase
|