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 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
+ ![Add More Validation Example](http://raw.githubusercontent.com/Mangeshwar22102022/mgsdatatable/mangesh/public/images/datatable.png)
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
- Response -
61
+
62
+ Payload -
54
63
  {
55
- "status": true,
56
- "data": {
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
- "id": 1,
69
- "name": "Mangesh",
70
- "role": "superadmin",
71
- "email": "mangesh@gmail.com",
72
- "mobile": "1234567890",
73
- "image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
74
- "status": "<span data-id='1' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
75
- "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>"
76
- },
77
- {
78
- "id": 2,
79
- "name": "Ashwani",
80
- "role": "superadmin",
81
- "email": "ashwani@gmail.com",
82
- "mobile": "1234567891",
83
- "image": "<img src='http://localhost/mgs/storage/user/1692380264.avif' style='height: 50px; width: 100px; border-radius: 50px;'>",
84
- "status": "<span data-id='2' class='status badge badge-sm badge-success' data-status='Inactive'>Active</span>",
85
- "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>"
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
- "from": 1,
89
- "to": 10,
90
- "total": 30
91
- },
92
- "message": "Data found"
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.3/dist/mgsdatatable.min.js"></script>
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" // Optional, default: "Sr.No"
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" // Optional, default: "Sr.No"
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
  }
@@ -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,a,i){try{var l=e[a](i),c=l.value}catch(e){return void t(e)}l.done?n(c):Promise.resolve(c).then(o,r)}function t(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 o(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 r=null!=arguments[n]?arguments[n]:{};n%2?o(Object(r),!0).forEach(function(n){t(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function a(e,n){if(null==e)return{};var t,o,r=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 a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],-1===n.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function i(){
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> &nbsp; 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> &nbsp; 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mgsdatatable",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "main": "dist/mgsdatatable.min.js",
5
5
  "browser": "dist/mgsdatatable.min.js",
6
6
  "type": "module",
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
- const _mgsResponse = await fetch(_mgsFullUrl, _mgsOptions);
97
- const _mgsResp = await _mgsResponse.json();
98
- const _mgsResult = _mgsResp?.data ?? [];
99
- const _mgsOutput = _mgsResp?.data?.data ?? [];
100
- let _mgsColumn = _mgsResp?.column ?? [];
101
- const _from = (_mgsResult?.from != undefined && _mgsResult?.from != null && _mgsResult?.from != '')?_mgsResult?.from :0;
102
- const _to = (_mgsResult?.to != undefined && _mgsResult?.to != null && _mgsResult?.to != '')?_mgsResult?.to :0;
103
- const _total = (_mgsResult?.total != undefined && _mgsResult?.total != null && _mgsResult?.total != '')?_mgsResult?.total :0;
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.unshift(isSrnoText);
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