dattatable 2.9.76 → 2.9.77

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.
Files changed (63) hide show
  1. package/build/dashboard/accordion.d.ts +1 -0
  2. package/build/dashboard/accordion.js +41 -37
  3. package/build/dashboard/tiles.d.ts +1 -0
  4. package/build/dashboard/tiles.js +26 -22
  5. package/dist/dattatable.js +2 -2
  6. package/dist/dattatable.min.js +1 -1
  7. package/docs/assets/search.js +1 -1
  8. package/docs/classes/Accordion.html +2 -2
  9. package/docs/classes/AuditLog.html +2 -2
  10. package/docs/classes/CanvasForm.html +2 -2
  11. package/docs/classes/Comments.html +2 -2
  12. package/docs/classes/Dashboard.html +4 -4
  13. package/docs/classes/DataTable.html +3 -3
  14. package/docs/classes/Documents.html +6 -6
  15. package/docs/classes/FilterSlideout.html +2 -2
  16. package/docs/classes/Footer.html +2 -2
  17. package/docs/classes/Header.html +2 -2
  18. package/docs/classes/InstallationRequired.html +2 -2
  19. package/docs/classes/ItemForm.html +4 -4
  20. package/docs/classes/List.html +4 -4
  21. package/docs/classes/ListSecurity.html +2 -2
  22. package/docs/classes/LoadingDialog.html +2 -2
  23. package/docs/classes/Modal.html +2 -2
  24. package/docs/classes/Navigation.html +3 -3
  25. package/docs/classes/Tiles.html +2 -2
  26. package/docs/classes/Timeout.html +2 -2
  27. package/docs/enums/ActionButtonTypes.html +2 -2
  28. package/docs/functions/formatBytes.html +1 -1
  29. package/docs/functions/formatDateValue.html +1 -1
  30. package/docs/functions/formatTimeValue.html +1 -1
  31. package/docs/functions/getContextInfo.html +1 -1
  32. package/docs/functions/getFileExt.html +1 -1
  33. package/docs/functions/waitForTheme.html +1 -1
  34. package/docs/interfaces/IAccordion.html +2 -2
  35. package/docs/interfaces/IAccordionProps.html +3 -2
  36. package/docs/interfaces/IAuditLogItem.html +2 -2
  37. package/docs/interfaces/IAuditLogItemCreation.html +2 -2
  38. package/docs/interfaces/IAuditLogProps.html +2 -2
  39. package/docs/interfaces/IAuditLogViewProps.html +2 -2
  40. package/docs/interfaces/ICommentsItem.html +2 -2
  41. package/docs/interfaces/IDashboardProps.html +2 -2
  42. package/docs/interfaces/IDataTable.html +2 -2
  43. package/docs/interfaces/IDataTableProps.html +2 -2
  44. package/docs/interfaces/IDocumentsProps.html +2 -2
  45. package/docs/interfaces/IFilterItem.html +2 -2
  46. package/docs/interfaces/IFilterProps.html +2 -2
  47. package/docs/interfaces/IFooterProps.html +2 -2
  48. package/docs/interfaces/IHeaderProps.html +2 -2
  49. package/docs/interfaces/IInstallProps.html +2 -2
  50. package/docs/interfaces/IItemFormCreateProps.html +2 -2
  51. package/docs/interfaces/IItemFormEditProps.html +2 -2
  52. package/docs/interfaces/IItemFormTab.html +2 -2
  53. package/docs/interfaces/IItemFormTabInfo.html +2 -2
  54. package/docs/interfaces/IItemFormViewProps.html +2 -2
  55. package/docs/interfaces/IListProps.html +2 -2
  56. package/docs/interfaces/IListSecurity.html +2 -2
  57. package/docs/interfaces/IListSecurityItem.html +2 -2
  58. package/docs/interfaces/IShowDialogProps.html +2 -2
  59. package/docs/interfaces/ITiles.html +2 -2
  60. package/docs/interfaces/ITilesProps.html +3 -2
  61. package/docs/variables/DattaTable.html +1 -1
  62. package/docs/variables/ListSecurityDefaultGroups.html +1 -1
  63. package/package.json +1 -1
@@ -13,6 +13,7 @@ export interface IAccordionProps {
13
13
  onItemRender?: (el?: HTMLElement, item?: any) => void;
14
14
  onPaginationRender?: (el?: HTMLElement) => void;
15
15
  paginationLimit?: number;
16
+ showPagination?: boolean;
16
17
  titleFields?: [string];
17
18
  titleTemplate?: string;
18
19
  }
@@ -242,46 +242,50 @@ var Accordion = /** @class */ (function () {
242
242
  var lastIdx = paginationLimit - 1;
243
243
  elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add("last-item");
244
244
  }
245
- // Render the pagination
246
- this._pagination = gd_sprest_bs_1.Components.Pagination({
247
- el: elPagination,
248
- className: "d-flex justify-content-end pt-2",
249
- numberOfPages: Math.ceil(elItems.length / paginationLimit),
250
- onClick: function (pageNumber) {
251
- // Parse the items
252
- for (var i = 0; i < elItems.length; i++) {
253
- var elItem = elItems[i];
254
- // See if this item is expanded
255
- if (elItem.querySelector(".accordion-collapse.show")) {
256
- // Hide the button
257
- var btn = elItem.querySelector(".accordion-button");
258
- btn === null || btn === void 0 ? void 0 : btn.click();
245
+ // See if we are showing pagination
246
+ var showPagination = typeof (this._props.showPagination) === "boolean" ? this._props.showPagination : true;
247
+ if (showPagination) {
248
+ // Render the pagination
249
+ this._pagination = gd_sprest_bs_1.Components.Pagination({
250
+ el: elPagination,
251
+ className: "d-flex justify-content-end pt-2",
252
+ numberOfPages: Math.ceil(elItems.length / paginationLimit),
253
+ onClick: function (pageNumber) {
254
+ // Parse the items
255
+ for (var i = 0; i < elItems.length; i++) {
256
+ var elItem = elItems[i];
257
+ // See if this item is expanded
258
+ if (elItem.querySelector(".accordion-collapse.show")) {
259
+ // Hide the button
260
+ var btn = elItem.querySelector(".accordion-button");
261
+ btn === null || btn === void 0 ? void 0 : btn.click();
262
+ }
263
+ // Clear the item
264
+ _this.clearItem(elItem);
259
265
  }
260
- // Clear the item
261
- _this.clearItem(elItem);
262
- }
263
- // Parse the items to show
264
- var startIdx = (pageNumber - 1) * paginationLimit;
265
- for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {
266
- var elItem = elItems[i];
267
- // Show the item
268
- elItem.classList.remove("d-none");
269
- // See if this is the first item
270
- if (i == startIdx) {
271
- // Set the first item class
272
- elItem.classList.add("first-item");
273
- // Expand the item
274
- var btn = elItem.querySelector(".accordion-button");
275
- btn === null || btn === void 0 ? void 0 : btn.click();
266
+ // Parse the items to show
267
+ var startIdx = (pageNumber - 1) * paginationLimit;
268
+ for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {
269
+ var elItem = elItems[i];
270
+ // Show the item
271
+ elItem.classList.remove("d-none");
272
+ // See if this is the first item
273
+ if (i == startIdx) {
274
+ // Set the first item class
275
+ elItem.classList.add("first-item");
276
+ // Expand the item
277
+ var btn = elItem.querySelector(".accordion-button");
278
+ btn === null || btn === void 0 ? void 0 : btn.click();
279
+ }
276
280
  }
281
+ // Set the last item class
282
+ var lastIdx = startIdx + paginationLimit - 1;
283
+ elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add("last-item");
277
284
  }
278
- // Set the last item class
279
- var lastIdx = startIdx + paginationLimit - 1;
280
- elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add("last-item");
281
- }
282
- });
283
- // Call the event
284
- this._props.onPaginationRender ? this._props.onPaginationRender(elPagination) : null;
285
+ });
286
+ // Call the event
287
+ this._props.onPaginationRender ? this._props.onPaginationRender(elPagination) : null;
288
+ }
285
289
  };
286
290
  // Searches the accordion
287
291
  Accordion.prototype.search = function (value) {
@@ -21,6 +21,7 @@ export interface ITilesProps {
21
21
  paginationLimit?: number;
22
22
  showFooter?: boolean;
23
23
  showHeader?: boolean;
24
+ showPagination?: boolean;
24
25
  subTitleFields?: [string];
25
26
  subTitleTemplate?: string;
26
27
  titleFields?: [string];
@@ -252,29 +252,33 @@ var Tiles = /** @class */ (function () {
252
252
  // Hide the item
253
253
  elItem.parentElement.classList.add("d-none");
254
254
  }
255
- // Render the pagination
256
- this._pagination = gd_sprest_bs_1.Components.Pagination({
257
- el: elPagination,
258
- className: "d-flex justify-content-end pt-2",
259
- numberOfPages: Math.ceil(elItems.length / paginationLimit),
260
- onClick: function (pageNumber) {
261
- // Parse the items
262
- for (var i = 0; i < elItems.length; i++) {
263
- var elItem = elItems[i];
264
- // Hide the item
265
- elItem.parentElement.classList.add("d-none");
266
- }
267
- // Parse the items to show
268
- var startIdx = (pageNumber - 1) * paginationLimit;
269
- for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {
270
- var elItem = elItems[i];
271
- // Show the item
272
- elItem.parentElement.classList.remove("d-none");
255
+ // See if we are showing pagination
256
+ var showPagination = typeof (this._props.showPagination) === "boolean" ? this._props.showPagination : true;
257
+ if (showPagination) {
258
+ // Render the pagination
259
+ this._pagination = gd_sprest_bs_1.Components.Pagination({
260
+ el: elPagination,
261
+ className: "d-flex justify-content-end pt-2",
262
+ numberOfPages: Math.ceil(elItems.length / paginationLimit),
263
+ onClick: function (pageNumber) {
264
+ // Parse the items
265
+ for (var i = 0; i < elItems.length; i++) {
266
+ var elItem = elItems[i];
267
+ // Hide the item
268
+ elItem.parentElement.classList.add("d-none");
269
+ }
270
+ // Parse the items to show
271
+ var startIdx = (pageNumber - 1) * paginationLimit;
272
+ for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {
273
+ var elItem = elItems[i];
274
+ // Show the item
275
+ elItem.parentElement.classList.remove("d-none");
276
+ }
273
277
  }
274
- }
275
- });
276
- // Call the event
277
- this._props.onPaginationRendered ? this._props.onPaginationRendered(elPagination) : null;
278
+ });
279
+ // Call the event
280
+ this._props.onPaginationRendered ? this._props.onPaginationRendered(elPagination) : null;
281
+ }
278
282
  };
279
283
  // Searches the tile
280
284
  Tiles.prototype.search = function (value) {
@@ -170,7 +170,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
170
170
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
171
171
 
172
172
  "use strict";
173
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Accordion = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.11.4/node_modules/gd-sprest-bs/build/index.js\");\r\n/**\r\n * Accordion\r\n */\r\nvar Accordion = /** @class */ (function () {\r\n // Constructor\r\n function Accordion(props) {\r\n this._accordion = null;\r\n this._activeFilterValue = null;\r\n this._activeSearchValue = null;\r\n this._pagination = null;\r\n // Save the properties\r\n this._props = props;\r\n // Render the accordion\r\n this.render();\r\n }\r\n // Clears an item\r\n Accordion.prototype.clearItem = function (elItem) {\r\n // Hide the item\r\n elItem.classList.add(\"d-none\");\r\n // Remove the first/last item classes\r\n elItem.classList.remove(\"first-item\");\r\n elItem.classList.remove(\"last-item\");\r\n };\r\n // Filters the accordion\r\n Accordion.prototype.filter = function (values) {\r\n if (values === void 0) { values = []; }\r\n this._activeFilterValue = values.join('|');\r\n // Parse all accordion items\r\n var items = this._props.el.querySelectorAll(\".accordion-item\");\r\n for (var i = 0; i < items.length; i++) {\r\n var elItem = items[i];\r\n // Clear the item\r\n this.clearItem(elItem);\r\n }\r\n // Render the items\r\n this.renderItems();\r\n };\r\n // Renders the dashboard\r\n Accordion.prototype.render = function () {\r\n // Render the accordion\r\n this.renderAccordion();\r\n // Render the items\r\n this.renderItems();\r\n };\r\n // Renders the accordion\r\n Accordion.prototype.renderAccordion = function () {\r\n var _this = this;\r\n // Parse the items\r\n var accordionItems = [];\r\n var _loop_1 = function (i) {\r\n var item = this_1._props.items[i];\r\n var filterValues = [];\r\n // See if the filter field is specified\r\n if (this_1._props.filterFields) {\r\n // Parse the fields\r\n for (var i_1 = 0; i_1 < this_1._props.filterFields.length; i_1++) {\r\n var filterField = this_1._props.filterFields[i_1];\r\n // Get the filter values\r\n var filters = item[filterField] || [];\r\n filters = filters[\"results\"] || [filters];\r\n // Append the values\r\n filterValues = filterValues.concat(filters);\r\n }\r\n }\r\n // See if the body fields exist\r\n var bodyContent = this_1._props.bodyTemplate || \"\";\r\n if (this_1._props.bodyFields) {\r\n // Parse the fields\r\n for (var i_2 = 0; i_2 < this_1._props.bodyFields.length; i_2++) {\r\n var field = this_1._props.bodyFields[i_2];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this_1._props.bodyTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n bodyContent = bodyContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n bodyContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var titleContent = this_1._props.titleTemplate || \"\";\r\n if (this_1._props.titleFields) {\r\n // Parse the fields\r\n for (var i_3 = 0; i_3 < this_1._props.titleFields.length; i_3++) {\r\n var field = this_1._props.titleFields[i_3];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this_1._props.titleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n titleContent = titleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n titleContent += value;\r\n }\r\n }\r\n }\r\n // Add an accordion item\r\n accordionItems.push({\r\n content: bodyContent,\r\n header: titleContent,\r\n onClick: this_1._props.onItemClick,\r\n onRender: function (el, item) {\r\n // See if filters exist\r\n if (filterValues && filterValues.length > 0) {\r\n // Set the data filter value\r\n el.setAttribute(\"data-filter\", filterValues.join('|'));\r\n }\r\n // Call the event\r\n _this._props.onItemRender ? _this._props.onItemRender(el, item) : null;\r\n },\r\n showFl: i == 0,\r\n });\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this._props.items.length; i++) {\r\n _loop_1(i);\r\n }\r\n // Render the accordion\r\n this._accordion = gd_sprest_bs_1.Components.Accordion({\r\n el: this._props.el,\r\n id: \"accordion-list\",\r\n items: accordionItems\r\n });\r\n };\r\n // Renders the items\r\n Accordion.prototype.renderItems = function () {\r\n var _this = this;\r\n var paginationLimit = this._props.paginationLimit || 10;\r\n // Get the pagination element\r\n var elPagination = this._props.el.querySelector(\".accordion-pagination\");\r\n if (elPagination) {\r\n // Clear the element\r\n while (elPagination.firstChild) {\r\n elPagination.removeChild(elPagination.firstChild);\r\n }\r\n }\r\n else {\r\n // Create the element\r\n elPagination = document.createElement(\"div\");\r\n elPagination.classList.add(\"accordion-pagination\");\r\n this._props.el.appendChild(elPagination);\r\n }\r\n // Get the elements as an array\r\n var elItems = Array.from(this._accordion.el.querySelectorAll(this._activeFilterValue ? \".\" + this._activeFilterValue : \".accordion-item\"));\r\n // Parse the items\r\n for (var i = elItems.length - 1; i >= 0; i--) {\r\n var elItem = elItems[i];\r\n var elContent = elItem.querySelector(\".accordion-body\");\r\n // See if this item is expanded\r\n if (elItem.querySelector(\".accordion-collapse.show\")) {\r\n // Collapse the item\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // See if there is an active filter\r\n if (this._activeFilterValue) {\r\n var filterValues = (elItem.dataset.filter || \"\").split('|');\r\n // Parse the active filters\r\n var activeFilters = this._activeFilterValue.split('|');\r\n var showItem = false;\r\n for (var j = 0; j < activeFilters.length; j++) {\r\n // See if the item contains the filter value\r\n if (filterValues.indexOf(activeFilters[j]) >= 0) {\r\n // Set the flag and break from the loop\r\n showItem = true;\r\n break;\r\n }\r\n }\r\n // See if we are hiding the item\r\n if (!showItem) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n // See if a search value exists\r\n if (this._activeSearchValue) {\r\n // See if the item doesn't contains the search value\r\n if (elItem.innerText.toLowerCase().indexOf(this._activeSearchValue) < 0 &&\r\n elContent.innerText.toLowerCase().indexOf(this._activeSearchValue) < 0) {\r\n // Clear the item\r\n this.clearItem(elItem);\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n }\r\n // Parse the active items to show\r\n for (var i = 0; i < paginationLimit; i++) {\r\n var elItem = elItems[i];\r\n // Ensure the item exists\r\n if (elItem) {\r\n // Clear the item\r\n this.clearItem(elItem);\r\n // Show the item\r\n elItem.classList.remove(\"d-none\");\r\n // See if this is the first item\r\n if (i == 0) {\r\n elItem.classList.add(\"first-item\");\r\n }\r\n }\r\n else {\r\n // Set the class for the last item\r\n if (elItems[i - 1]) {\r\n elItems[i - 1].classList.add(\"last-item\");\r\n }\r\n // Break from the loop\r\n break;\r\n }\r\n }\r\n // Parse the active items to hide\r\n for (var i = paginationLimit; i < elItems.length; i++) {\r\n // Clear the item\r\n this.clearItem(elItems[i]);\r\n }\r\n // Ensure items exist\r\n if (elItems.length > 0) {\r\n // Ensure the first item is expanded\r\n if (elItems[0].querySelector(\".accordion-collapse.show\") == null) {\r\n // Hide the button\r\n var btn = elItems[0].querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // Set the first item class\r\n elItems[0].classList.add(\"first-item\");\r\n // Set the last item class\r\n var lastIdx = paginationLimit - 1;\r\n elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add(\"last-item\");\r\n }\r\n // Render the pagination\r\n this._pagination = gd_sprest_bs_1.Components.Pagination({\r\n el: elPagination,\r\n className: \"d-flex justify-content-end pt-2\",\r\n numberOfPages: Math.ceil(elItems.length / paginationLimit),\r\n onClick: function (pageNumber) {\r\n // Parse the items\r\n for (var i = 0; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // See if this item is expanded\r\n if (elItem.querySelector(\".accordion-collapse.show\")) {\r\n // Hide the button\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // Clear the item\r\n _this.clearItem(elItem);\r\n }\r\n // Parse the items to show\r\n var startIdx = (pageNumber - 1) * paginationLimit;\r\n for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Show the item\r\n elItem.classList.remove(\"d-none\");\r\n // See if this is the first item\r\n if (i == startIdx) {\r\n // Set the first item class\r\n elItem.classList.add(\"first-item\");\r\n // Expand the item\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n }\r\n // Set the last item class\r\n var lastIdx = startIdx + paginationLimit - 1;\r\n elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add(\"last-item\");\r\n }\r\n });\r\n // Call the event\r\n this._props.onPaginationRender ? this._props.onPaginationRender(elPagination) : null;\r\n };\r\n // Searches the accordion\r\n Accordion.prototype.search = function (value) {\r\n // Set the search value\r\n this._activeSearchValue = (value || \"\").toLowerCase();\r\n // Render the items\r\n this.renderItems();\r\n };\r\n return Accordion;\r\n}());\r\nexports.Accordion = Accordion;\r\n\n\n//# sourceURL=webpack://dattatable/./build/dashboard/accordion.js?");
173
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Accordion = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.11.4/node_modules/gd-sprest-bs/build/index.js\");\r\n/**\r\n * Accordion\r\n */\r\nvar Accordion = /** @class */ (function () {\r\n // Constructor\r\n function Accordion(props) {\r\n this._accordion = null;\r\n this._activeFilterValue = null;\r\n this._activeSearchValue = null;\r\n this._pagination = null;\r\n // Save the properties\r\n this._props = props;\r\n // Render the accordion\r\n this.render();\r\n }\r\n // Clears an item\r\n Accordion.prototype.clearItem = function (elItem) {\r\n // Hide the item\r\n elItem.classList.add(\"d-none\");\r\n // Remove the first/last item classes\r\n elItem.classList.remove(\"first-item\");\r\n elItem.classList.remove(\"last-item\");\r\n };\r\n // Filters the accordion\r\n Accordion.prototype.filter = function (values) {\r\n if (values === void 0) { values = []; }\r\n this._activeFilterValue = values.join('|');\r\n // Parse all accordion items\r\n var items = this._props.el.querySelectorAll(\".accordion-item\");\r\n for (var i = 0; i < items.length; i++) {\r\n var elItem = items[i];\r\n // Clear the item\r\n this.clearItem(elItem);\r\n }\r\n // Render the items\r\n this.renderItems();\r\n };\r\n // Renders the dashboard\r\n Accordion.prototype.render = function () {\r\n // Render the accordion\r\n this.renderAccordion();\r\n // Render the items\r\n this.renderItems();\r\n };\r\n // Renders the accordion\r\n Accordion.prototype.renderAccordion = function () {\r\n var _this = this;\r\n // Parse the items\r\n var accordionItems = [];\r\n var _loop_1 = function (i) {\r\n var item = this_1._props.items[i];\r\n var filterValues = [];\r\n // See if the filter field is specified\r\n if (this_1._props.filterFields) {\r\n // Parse the fields\r\n for (var i_1 = 0; i_1 < this_1._props.filterFields.length; i_1++) {\r\n var filterField = this_1._props.filterFields[i_1];\r\n // Get the filter values\r\n var filters = item[filterField] || [];\r\n filters = filters[\"results\"] || [filters];\r\n // Append the values\r\n filterValues = filterValues.concat(filters);\r\n }\r\n }\r\n // See if the body fields exist\r\n var bodyContent = this_1._props.bodyTemplate || \"\";\r\n if (this_1._props.bodyFields) {\r\n // Parse the fields\r\n for (var i_2 = 0; i_2 < this_1._props.bodyFields.length; i_2++) {\r\n var field = this_1._props.bodyFields[i_2];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this_1._props.bodyTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n bodyContent = bodyContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n bodyContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var titleContent = this_1._props.titleTemplate || \"\";\r\n if (this_1._props.titleFields) {\r\n // Parse the fields\r\n for (var i_3 = 0; i_3 < this_1._props.titleFields.length; i_3++) {\r\n var field = this_1._props.titleFields[i_3];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this_1._props.titleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n titleContent = titleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n titleContent += value;\r\n }\r\n }\r\n }\r\n // Add an accordion item\r\n accordionItems.push({\r\n content: bodyContent,\r\n header: titleContent,\r\n onClick: this_1._props.onItemClick,\r\n onRender: function (el, item) {\r\n // See if filters exist\r\n if (filterValues && filterValues.length > 0) {\r\n // Set the data filter value\r\n el.setAttribute(\"data-filter\", filterValues.join('|'));\r\n }\r\n // Call the event\r\n _this._props.onItemRender ? _this._props.onItemRender(el, item) : null;\r\n },\r\n showFl: i == 0,\r\n });\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this._props.items.length; i++) {\r\n _loop_1(i);\r\n }\r\n // Render the accordion\r\n this._accordion = gd_sprest_bs_1.Components.Accordion({\r\n el: this._props.el,\r\n id: \"accordion-list\",\r\n items: accordionItems\r\n });\r\n };\r\n // Renders the items\r\n Accordion.prototype.renderItems = function () {\r\n var _this = this;\r\n var paginationLimit = this._props.paginationLimit || 10;\r\n // Get the pagination element\r\n var elPagination = this._props.el.querySelector(\".accordion-pagination\");\r\n if (elPagination) {\r\n // Clear the element\r\n while (elPagination.firstChild) {\r\n elPagination.removeChild(elPagination.firstChild);\r\n }\r\n }\r\n else {\r\n // Create the element\r\n elPagination = document.createElement(\"div\");\r\n elPagination.classList.add(\"accordion-pagination\");\r\n this._props.el.appendChild(elPagination);\r\n }\r\n // Get the elements as an array\r\n var elItems = Array.from(this._accordion.el.querySelectorAll(this._activeFilterValue ? \".\" + this._activeFilterValue : \".accordion-item\"));\r\n // Parse the items\r\n for (var i = elItems.length - 1; i >= 0; i--) {\r\n var elItem = elItems[i];\r\n var elContent = elItem.querySelector(\".accordion-body\");\r\n // See if this item is expanded\r\n if (elItem.querySelector(\".accordion-collapse.show\")) {\r\n // Collapse the item\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // See if there is an active filter\r\n if (this._activeFilterValue) {\r\n var filterValues = (elItem.dataset.filter || \"\").split('|');\r\n // Parse the active filters\r\n var activeFilters = this._activeFilterValue.split('|');\r\n var showItem = false;\r\n for (var j = 0; j < activeFilters.length; j++) {\r\n // See if the item contains the filter value\r\n if (filterValues.indexOf(activeFilters[j]) >= 0) {\r\n // Set the flag and break from the loop\r\n showItem = true;\r\n break;\r\n }\r\n }\r\n // See if we are hiding the item\r\n if (!showItem) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n // See if a search value exists\r\n if (this._activeSearchValue) {\r\n // See if the item doesn't contains the search value\r\n if (elItem.innerText.toLowerCase().indexOf(this._activeSearchValue) < 0 &&\r\n elContent.innerText.toLowerCase().indexOf(this._activeSearchValue) < 0) {\r\n // Clear the item\r\n this.clearItem(elItem);\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n }\r\n // Parse the active items to show\r\n for (var i = 0; i < paginationLimit; i++) {\r\n var elItem = elItems[i];\r\n // Ensure the item exists\r\n if (elItem) {\r\n // Clear the item\r\n this.clearItem(elItem);\r\n // Show the item\r\n elItem.classList.remove(\"d-none\");\r\n // See if this is the first item\r\n if (i == 0) {\r\n elItem.classList.add(\"first-item\");\r\n }\r\n }\r\n else {\r\n // Set the class for the last item\r\n if (elItems[i - 1]) {\r\n elItems[i - 1].classList.add(\"last-item\");\r\n }\r\n // Break from the loop\r\n break;\r\n }\r\n }\r\n // Parse the active items to hide\r\n for (var i = paginationLimit; i < elItems.length; i++) {\r\n // Clear the item\r\n this.clearItem(elItems[i]);\r\n }\r\n // Ensure items exist\r\n if (elItems.length > 0) {\r\n // Ensure the first item is expanded\r\n if (elItems[0].querySelector(\".accordion-collapse.show\") == null) {\r\n // Hide the button\r\n var btn = elItems[0].querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // Set the first item class\r\n elItems[0].classList.add(\"first-item\");\r\n // Set the last item class\r\n var lastIdx = paginationLimit - 1;\r\n elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add(\"last-item\");\r\n }\r\n // See if we are showing pagination\r\n var showPagination = typeof (this._props.showPagination) === \"boolean\" ? this._props.showPagination : true;\r\n if (showPagination) {\r\n // Render the pagination\r\n this._pagination = gd_sprest_bs_1.Components.Pagination({\r\n el: elPagination,\r\n className: \"d-flex justify-content-end pt-2\",\r\n numberOfPages: Math.ceil(elItems.length / paginationLimit),\r\n onClick: function (pageNumber) {\r\n // Parse the items\r\n for (var i = 0; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // See if this item is expanded\r\n if (elItem.querySelector(\".accordion-collapse.show\")) {\r\n // Hide the button\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n // Clear the item\r\n _this.clearItem(elItem);\r\n }\r\n // Parse the items to show\r\n var startIdx = (pageNumber - 1) * paginationLimit;\r\n for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Show the item\r\n elItem.classList.remove(\"d-none\");\r\n // See if this is the first item\r\n if (i == startIdx) {\r\n // Set the first item class\r\n elItem.classList.add(\"first-item\");\r\n // Expand the item\r\n var btn = elItem.querySelector(\".accordion-button\");\r\n btn === null || btn === void 0 ? void 0 : btn.click();\r\n }\r\n }\r\n // Set the last item class\r\n var lastIdx = startIdx + paginationLimit - 1;\r\n elItems[lastIdx < elItems.length ? lastIdx : elItems.length - 1].classList.add(\"last-item\");\r\n }\r\n });\r\n // Call the event\r\n this._props.onPaginationRender ? this._props.onPaginationRender(elPagination) : null;\r\n }\r\n };\r\n // Searches the accordion\r\n Accordion.prototype.search = function (value) {\r\n // Set the search value\r\n this._activeSearchValue = (value || \"\").toLowerCase();\r\n // Render the items\r\n this.renderItems();\r\n };\r\n return Accordion;\r\n}());\r\nexports.Accordion = Accordion;\r\n\n\n//# sourceURL=webpack://dattatable/./build/dashboard/accordion.js?");
174
174
 
175
175
  /***/ }),
176
176
 
@@ -247,7 +247,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
247
247
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
248
248
 
249
249
  "use strict";
250
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Tiles = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.11.4/node_modules/gd-sprest-bs/build/index.js\");\r\n/**\r\n * Tiles\r\n */\r\nvar Tiles = /** @class */ (function () {\r\n // Constructor\r\n function Tiles(props) {\r\n this._tiles = null;\r\n this._activeFilterValue = null;\r\n this._activeSearchValue = null;\r\n this._pagination = null;\r\n // Save the properties\r\n this._props = props;\r\n // Render the tile\r\n this.render();\r\n }\r\n // Filters the tile\r\n Tiles.prototype.filter = function (values) {\r\n if (values === void 0) { values = []; }\r\n this._activeFilterValue = values.join('|');\r\n // Parse all tile\r\n var tiles = this._props.el.querySelectorAll(\".card\");\r\n for (var i = 0; i < tiles.length; i++) {\r\n // Hide the tile\r\n tiles[i].parentElement.classList.add(\"d-none\");\r\n }\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n // Renders the dashboard\r\n Tiles.prototype.render = function () {\r\n // Render the tile\r\n this.renderTiles();\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n // Generate the card properties\r\n Tiles.prototype.generateCard = function (item) {\r\n var _this = this;\r\n var filterValues = [];\r\n // See if the filter field is specified\r\n if (this._props.filterFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.filterFields.length; i++) {\r\n var filterField = this._props.filterFields[i];\r\n // Get the filter values\r\n var filters = item[filterField] || [];\r\n filters = filters[\"results\"] || [filters];\r\n // Append the values\r\n filterValues = filterValues.concat(filters);\r\n }\r\n }\r\n // See if the body fields exist\r\n var bodyContent = this._props.bodyTemplate || \"\";\r\n if (this._props.bodyFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.bodyFields.length; i++) {\r\n var field = this._props.bodyFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.bodyTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n bodyContent = bodyContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n bodyContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var subTitleContent = this._props.subTitleTemplate || \"\";\r\n if (this._props.subTitleFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.subTitleFields.length; i++) {\r\n var field = this._props.subTitleFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.subTitleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n subTitleContent = subTitleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n subTitleContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var titleContent = this._props.titleTemplate || \"\";\r\n if (this._props.titleFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.titleFields.length; i++) {\r\n var field = this._props.titleFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.titleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n titleContent = titleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n titleContent += value;\r\n }\r\n }\r\n }\r\n // Set the card props\r\n var cardProps = {\r\n onRender: function (el, card) {\r\n // See if filters exist\r\n if (filterValues && filterValues.length > 0) {\r\n // Set the data filter value\r\n el.setAttribute(\"data-filter\", filterValues.join('|'));\r\n }\r\n // Call the event\r\n _this._props.onCardRendered ? _this._props.onCardRendered(el, card) : null;\r\n },\r\n body: [{\r\n content: bodyContent,\r\n data: item,\r\n subTitle: subTitleContent,\r\n title: titleContent,\r\n onRender: function (el, card) {\r\n var item = card.data;\r\n // Call the events\r\n _this._props.onTitleRendered ? _this._props.onTitleRendered(el.querySelector(\".card-title\"), item) : null;\r\n _this._props.onSubTitleRendered ? _this._props.onSubTitleRendered(el.querySelector(\".card-subtitle\"), item) : null;\r\n _this._props.onBodyRendered ? _this._props.onBodyRendered(el, item) : null;\r\n }\r\n }]\r\n };\r\n // See if we are showing the header\r\n var showHeader = typeof (this._props.showHeader) === \"boolean\" ? this._props.showHeader : true;\r\n if (showHeader) {\r\n cardProps.header = {\r\n onRender: function (el) {\r\n _this._props.onHeaderRendered ? _this._props.onHeaderRendered(el, item) : null;\r\n }\r\n };\r\n }\r\n // See if we are showing the footer\r\n var showFooter = typeof (this._props.showFooter) === \"boolean\" ? this._props.showFooter : true;\r\n if (showFooter) {\r\n cardProps.footer = {\r\n onRender: function (el) {\r\n _this._props.onFooterRendered ? _this._props.onFooterRendered(el, item) : null;\r\n }\r\n };\r\n }\r\n // Call the event\r\n this._props.onCardRendering ? this._props.onCardRendering(cardProps) : null;\r\n // Return the card properties\r\n return cardProps;\r\n };\r\n // Renders the tiles\r\n Tiles.prototype.renderTiles = function () {\r\n // Parse the items\r\n var cards = [];\r\n for (var i = 0; i < this._props.items.length; i++) {\r\n var item = this._props.items[i];\r\n // Add an tile\r\n cards.push(this.generateCard(item));\r\n }\r\n // Render the tiles\r\n this._tiles = gd_sprest_bs_1.Components.CardGroup({\r\n el: this._props.el,\r\n cards: cards,\r\n colSize: this._props.colSize\r\n });\r\n };\r\n // Updates the visibility of the tiles\r\n Tiles.prototype.updateTiles = function () {\r\n var paginationLimit = this._props.paginationLimit || 10;\r\n // Get the pagination element\r\n var elPagination = this._props.el.querySelector(\".tiles-pagination\");\r\n if (elPagination) {\r\n // Clear the element\r\n while (elPagination.firstChild) {\r\n elPagination.removeChild(elPagination.firstChild);\r\n }\r\n }\r\n else {\r\n // Create the element\r\n elPagination = document.createElement(\"div\");\r\n elPagination.classList.add(\"tiles-pagination\");\r\n this._props.el.appendChild(elPagination);\r\n }\r\n // Get the elements as an array\r\n var elItems = Array.from(this._tiles.el.querySelectorAll(\".card\"));\r\n // Parse the items\r\n for (var i = elItems.length - 1; i >= 0; i--) {\r\n var elItem = elItems[i];\r\n // See if a filter value exists\r\n if (this._activeFilterValue) {\r\n var filterValues = (elItem.dataset.filter || \"\").split('|');\r\n // Parse the active filters\r\n var activeFilters = this._activeFilterValue.split('|');\r\n var showItem = false;\r\n for (var j = 0; j < activeFilters.length; j++) {\r\n // See if the item contains the filter value\r\n if (filterValues.indexOf(activeFilters[j]) >= 0) {\r\n // Set the flag and break from the loop\r\n showItem = true;\r\n break;\r\n }\r\n }\r\n // See if we are hiding the item\r\n if (!showItem) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n // See if a search value exists\r\n if (this._activeSearchValue) {\r\n // See if the item doesn't contains the search value\r\n if (elItem.innerText.toLowerCase().indexOf(this._activeSearchValue.toLowerCase()) < 0) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n }\r\n // Parse the active items to show\r\n for (var i = 0; i < paginationLimit; i++) {\r\n var elItem = elItems[i];\r\n // Ensure the item exists\r\n if (elItem) {\r\n // Show the item\r\n elItem.parentElement.classList.remove(\"d-none\");\r\n }\r\n else {\r\n // Break from the loop\r\n break;\r\n }\r\n }\r\n // Parse the active items to hide\r\n for (var i = paginationLimit; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n }\r\n // Render the pagination\r\n this._pagination = gd_sprest_bs_1.Components.Pagination({\r\n el: elPagination,\r\n className: \"d-flex justify-content-end pt-2\",\r\n numberOfPages: Math.ceil(elItems.length / paginationLimit),\r\n onClick: function (pageNumber) {\r\n // Parse the items\r\n for (var i = 0; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n }\r\n // Parse the items to show\r\n var startIdx = (pageNumber - 1) * paginationLimit;\r\n for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Show the item\r\n elItem.parentElement.classList.remove(\"d-none\");\r\n }\r\n }\r\n });\r\n // Call the event\r\n this._props.onPaginationRendered ? this._props.onPaginationRendered(elPagination) : null;\r\n };\r\n // Searches the tile\r\n Tiles.prototype.search = function (value) {\r\n // Set the search value\r\n this._activeSearchValue = value || \"\";\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n return Tiles;\r\n}());\r\nexports.Tiles = Tiles;\r\n\n\n//# sourceURL=webpack://dattatable/./build/dashboard/tiles.js?");
250
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Tiles = void 0;\r\nvar gd_sprest_bs_1 = __webpack_require__(/*! gd-sprest-bs */ \"./node_modules/.pnpm/gd-sprest-bs@10.11.4/node_modules/gd-sprest-bs/build/index.js\");\r\n/**\r\n * Tiles\r\n */\r\nvar Tiles = /** @class */ (function () {\r\n // Constructor\r\n function Tiles(props) {\r\n this._tiles = null;\r\n this._activeFilterValue = null;\r\n this._activeSearchValue = null;\r\n this._pagination = null;\r\n // Save the properties\r\n this._props = props;\r\n // Render the tile\r\n this.render();\r\n }\r\n // Filters the tile\r\n Tiles.prototype.filter = function (values) {\r\n if (values === void 0) { values = []; }\r\n this._activeFilterValue = values.join('|');\r\n // Parse all tile\r\n var tiles = this._props.el.querySelectorAll(\".card\");\r\n for (var i = 0; i < tiles.length; i++) {\r\n // Hide the tile\r\n tiles[i].parentElement.classList.add(\"d-none\");\r\n }\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n // Renders the dashboard\r\n Tiles.prototype.render = function () {\r\n // Render the tile\r\n this.renderTiles();\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n // Generate the card properties\r\n Tiles.prototype.generateCard = function (item) {\r\n var _this = this;\r\n var filterValues = [];\r\n // See if the filter field is specified\r\n if (this._props.filterFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.filterFields.length; i++) {\r\n var filterField = this._props.filterFields[i];\r\n // Get the filter values\r\n var filters = item[filterField] || [];\r\n filters = filters[\"results\"] || [filters];\r\n // Append the values\r\n filterValues = filterValues.concat(filters);\r\n }\r\n }\r\n // See if the body fields exist\r\n var bodyContent = this._props.bodyTemplate || \"\";\r\n if (this._props.bodyFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.bodyFields.length; i++) {\r\n var field = this._props.bodyFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.bodyTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n bodyContent = bodyContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n bodyContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var subTitleContent = this._props.subTitleTemplate || \"\";\r\n if (this._props.subTitleFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.subTitleFields.length; i++) {\r\n var field = this._props.subTitleFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.subTitleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n subTitleContent = subTitleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n subTitleContent += value;\r\n }\r\n }\r\n }\r\n // See if the sub-title fields exist\r\n var titleContent = this._props.titleTemplate || \"\";\r\n if (this._props.titleFields) {\r\n // Parse the fields\r\n for (var i = 0; i < this._props.titleFields.length; i++) {\r\n var field = this._props.titleFields[i];\r\n var value = item[field] || \"\";\r\n // See if there is a template\r\n if (this._props.titleTemplate) {\r\n // Replace the values\r\n var pattern = new RegExp(\"({\" + field + \"})\", \"g\");\r\n titleContent = titleContent.replace(pattern, value);\r\n }\r\n else {\r\n // Append the value\r\n titleContent += value;\r\n }\r\n }\r\n }\r\n // Set the card props\r\n var cardProps = {\r\n onRender: function (el, card) {\r\n // See if filters exist\r\n if (filterValues && filterValues.length > 0) {\r\n // Set the data filter value\r\n el.setAttribute(\"data-filter\", filterValues.join('|'));\r\n }\r\n // Call the event\r\n _this._props.onCardRendered ? _this._props.onCardRendered(el, card) : null;\r\n },\r\n body: [{\r\n content: bodyContent,\r\n data: item,\r\n subTitle: subTitleContent,\r\n title: titleContent,\r\n onRender: function (el, card) {\r\n var item = card.data;\r\n // Call the events\r\n _this._props.onTitleRendered ? _this._props.onTitleRendered(el.querySelector(\".card-title\"), item) : null;\r\n _this._props.onSubTitleRendered ? _this._props.onSubTitleRendered(el.querySelector(\".card-subtitle\"), item) : null;\r\n _this._props.onBodyRendered ? _this._props.onBodyRendered(el, item) : null;\r\n }\r\n }]\r\n };\r\n // See if we are showing the header\r\n var showHeader = typeof (this._props.showHeader) === \"boolean\" ? this._props.showHeader : true;\r\n if (showHeader) {\r\n cardProps.header = {\r\n onRender: function (el) {\r\n _this._props.onHeaderRendered ? _this._props.onHeaderRendered(el, item) : null;\r\n }\r\n };\r\n }\r\n // See if we are showing the footer\r\n var showFooter = typeof (this._props.showFooter) === \"boolean\" ? this._props.showFooter : true;\r\n if (showFooter) {\r\n cardProps.footer = {\r\n onRender: function (el) {\r\n _this._props.onFooterRendered ? _this._props.onFooterRendered(el, item) : null;\r\n }\r\n };\r\n }\r\n // Call the event\r\n this._props.onCardRendering ? this._props.onCardRendering(cardProps) : null;\r\n // Return the card properties\r\n return cardProps;\r\n };\r\n // Renders the tiles\r\n Tiles.prototype.renderTiles = function () {\r\n // Parse the items\r\n var cards = [];\r\n for (var i = 0; i < this._props.items.length; i++) {\r\n var item = this._props.items[i];\r\n // Add an tile\r\n cards.push(this.generateCard(item));\r\n }\r\n // Render the tiles\r\n this._tiles = gd_sprest_bs_1.Components.CardGroup({\r\n el: this._props.el,\r\n cards: cards,\r\n colSize: this._props.colSize\r\n });\r\n };\r\n // Updates the visibility of the tiles\r\n Tiles.prototype.updateTiles = function () {\r\n var paginationLimit = this._props.paginationLimit || 10;\r\n // Get the pagination element\r\n var elPagination = this._props.el.querySelector(\".tiles-pagination\");\r\n if (elPagination) {\r\n // Clear the element\r\n while (elPagination.firstChild) {\r\n elPagination.removeChild(elPagination.firstChild);\r\n }\r\n }\r\n else {\r\n // Create the element\r\n elPagination = document.createElement(\"div\");\r\n elPagination.classList.add(\"tiles-pagination\");\r\n this._props.el.appendChild(elPagination);\r\n }\r\n // Get the elements as an array\r\n var elItems = Array.from(this._tiles.el.querySelectorAll(\".card\"));\r\n // Parse the items\r\n for (var i = elItems.length - 1; i >= 0; i--) {\r\n var elItem = elItems[i];\r\n // See if a filter value exists\r\n if (this._activeFilterValue) {\r\n var filterValues = (elItem.dataset.filter || \"\").split('|');\r\n // Parse the active filters\r\n var activeFilters = this._activeFilterValue.split('|');\r\n var showItem = false;\r\n for (var j = 0; j < activeFilters.length; j++) {\r\n // See if the item contains the filter value\r\n if (filterValues.indexOf(activeFilters[j]) >= 0) {\r\n // Set the flag and break from the loop\r\n showItem = true;\r\n break;\r\n }\r\n }\r\n // See if we are hiding the item\r\n if (!showItem) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n // See if a search value exists\r\n if (this._activeSearchValue) {\r\n // See if the item doesn't contains the search value\r\n if (elItem.innerText.toLowerCase().indexOf(this._activeSearchValue.toLowerCase()) < 0) {\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n // Exclude the item from the array\r\n elItems.splice(i, 1);\r\n // Continue the loop\r\n continue;\r\n }\r\n }\r\n }\r\n // Parse the active items to show\r\n for (var i = 0; i < paginationLimit; i++) {\r\n var elItem = elItems[i];\r\n // Ensure the item exists\r\n if (elItem) {\r\n // Show the item\r\n elItem.parentElement.classList.remove(\"d-none\");\r\n }\r\n else {\r\n // Break from the loop\r\n break;\r\n }\r\n }\r\n // Parse the active items to hide\r\n for (var i = paginationLimit; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n }\r\n // See if we are showing pagination\r\n var showPagination = typeof (this._props.showPagination) === \"boolean\" ? this._props.showPagination : true;\r\n if (showPagination) {\r\n // Render the pagination\r\n this._pagination = gd_sprest_bs_1.Components.Pagination({\r\n el: elPagination,\r\n className: \"d-flex justify-content-end pt-2\",\r\n numberOfPages: Math.ceil(elItems.length / paginationLimit),\r\n onClick: function (pageNumber) {\r\n // Parse the items\r\n for (var i = 0; i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Hide the item\r\n elItem.parentElement.classList.add(\"d-none\");\r\n }\r\n // Parse the items to show\r\n var startIdx = (pageNumber - 1) * paginationLimit;\r\n for (var i = startIdx; i < startIdx + paginationLimit && i < elItems.length; i++) {\r\n var elItem = elItems[i];\r\n // Show the item\r\n elItem.parentElement.classList.remove(\"d-none\");\r\n }\r\n }\r\n });\r\n // Call the event\r\n this._props.onPaginationRendered ? this._props.onPaginationRendered(elPagination) : null;\r\n }\r\n };\r\n // Searches the tile\r\n Tiles.prototype.search = function (value) {\r\n // Set the search value\r\n this._activeSearchValue = value || \"\";\r\n // Update the tiles\r\n this.updateTiles();\r\n };\r\n return Tiles;\r\n}());\r\nexports.Tiles = Tiles;\r\n\n\n//# sourceURL=webpack://dattatable/./build/dashboard/tiles.js?");
251
251
 
252
252
  /***/ }),
253
253