overview-components 1.0.83 → 1.0.88

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 (239) hide show
  1. package/dist/assets/generated/locales/de.js +72 -70
  2. package/dist/assets/generated/locales/en.js +72 -70
  3. package/dist/assets/generated/locales/fr.js +72 -70
  4. package/dist/assets/generated/locales/hr.js +72 -70
  5. package/dist/assets/generated/locales/it.js +72 -70
  6. package/dist/assets/generated/locales/pl.js +72 -70
  7. package/dist/assets/generated/locales/ro.js +72 -70
  8. package/dist/assets/generated/locales/sk.js +72 -70
  9. package/dist/assets/generated/locales/sr.js +72 -70
  10. package/dist/components/lit-attachments-tab.js +267 -432
  11. package/dist/components/lit-badge.js +37 -40
  12. package/dist/components/lit-case-variables-tab.js +378 -497
  13. package/dist/components/lit-chart.js +375 -406
  14. package/dist/components/lit-data-grid-tanstack.js +1145 -1663
  15. package/dist/components/lit-filter-modal.js +194 -230
  16. package/dist/components/lit-multiselect-item.js +297 -477
  17. package/dist/components/lit-section-tab.js +69 -85
  18. package/dist/components/lit-tabs-overview.js +187 -232
  19. package/dist/components/react-wrappers/attachments-tab.js +13 -8
  20. package/dist/components/react-wrappers/badge.js +13 -8
  21. package/dist/components/react-wrappers/button.js +13 -8
  22. package/dist/components/react-wrappers/case-variables-tab.js +13 -8
  23. package/dist/components/react-wrappers/chart.js +13 -8
  24. package/dist/components/react-wrappers/data-grid-tanstack.js +13 -8
  25. package/dist/components/react-wrappers/filter-modal.js +13 -8
  26. package/dist/components/react-wrappers/progress-bar.js +13 -8
  27. package/dist/components/react-wrappers/section-tab.js +13 -8
  28. package/dist/components/react-wrappers/tabs-overview.js +13 -8
  29. package/dist/index.d.ts +1 -64
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +42 -4819
  32. package/dist/node_modules/@lit/reactive-element/css-tag.js +42 -0
  33. package/dist/node_modules/@lit/reactive-element/decorators/base.js +9 -0
  34. package/dist/node_modules/@lit/reactive-element/decorators/custom-element.js +13 -0
  35. package/dist/node_modules/@lit/reactive-element/decorators/property.js +37 -0
  36. package/dist/node_modules/@lit/reactive-element/decorators/query.js +20 -0
  37. package/dist/node_modules/@lit/reactive-element/decorators/state.js +12 -0
  38. package/dist/node_modules/@lit/reactive-element/reactive-element.js +249 -0
  39. package/dist/node_modules/lit-html/async-directive.js +69 -0
  40. package/dist/node_modules/lit-html/directive-helpers.js +45 -0
  41. package/dist/node_modules/lit-html/directive.js +27 -0
  42. package/dist/node_modules/lit-html/directives/ref.js +42 -0
  43. package/dist/node_modules/lit-html/directives/repeat.js +61 -0
  44. package/dist/node_modules/lit-html/directives/style-map.js +36 -0
  45. package/dist/node_modules/lit-html/directives/unsafe-html.js +27 -0
  46. package/dist/node_modules/lit-html/lit-html.js +242 -0
  47. package/dist/shared/lit-button.js +63 -80
  48. package/dist/shared/lit-icon-button.d.ts +1 -1
  49. package/dist/shared/lit-icon-button.d.ts.map +1 -1
  50. package/dist/shared/lit-loader.d.ts +1 -1
  51. package/dist/shared/lit-loader.d.ts.map +1 -1
  52. package/dist/shared/lit-loading-bar.d.ts +1 -1
  53. package/dist/shared/lit-loading-bar.d.ts.map +1 -1
  54. package/dist/shared/lit-menu-item.d.ts +1 -1
  55. package/dist/shared/lit-menu-item.d.ts.map +1 -1
  56. package/dist/shared/lit-progress-bar.js +32 -33
  57. package/dist/shared/lit-text-field.d.ts +1 -1
  58. package/dist/shared/lit-text-field.d.ts.map +1 -1
  59. package/dist/shared/simple-tooltip.js +122 -198
  60. package/dist/shared/styles/button-shared-styles.js +5 -4
  61. package/dist/utils/currency.js +12 -15
  62. package/dist/utils/custom-filters.js +45 -80
  63. package/dist/utils/date.js +13 -21
  64. package/dist/utils/getOperatorByType.js +50 -65
  65. package/dist/utils/localization.js +29 -431
  66. package/package.json +10 -21
  67. package/dist/assets/generated/locales/de.js.map +0 -1
  68. package/dist/assets/generated/locales/en.js.map +0 -1
  69. package/dist/assets/generated/locales/fr.js.map +0 -1
  70. package/dist/assets/generated/locales/hr.js.map +0 -1
  71. package/dist/assets/generated/locales/it.js.map +0 -1
  72. package/dist/assets/generated/locales/pl.js.map +0 -1
  73. package/dist/assets/generated/locales/ro.js.map +0 -1
  74. package/dist/assets/generated/locales/sk.js.map +0 -1
  75. package/dist/assets/generated/locales/sr.js.map +0 -1
  76. package/dist/assets/icons/iconGlyphs.js +0 -679
  77. package/dist/assets/icons/iconGlyphs.js.map +0 -1
  78. package/dist/assets/illustration/delete-illustration.js +0 -96
  79. package/dist/assets/illustration/delete-illustration.js.map +0 -1
  80. package/dist/assets/illustration/no-content.js +0 -167
  81. package/dist/assets/illustration/no-content.js.map +0 -1
  82. package/dist/assets/illustration/no-preview.js +0 -133
  83. package/dist/assets/illustration/no-preview.js.map +0 -1
  84. package/dist/assets/illustration/not-found.js +0 -106
  85. package/dist/assets/illustration/not-found.js.map +0 -1
  86. package/dist/assets/illustration/settings-illustration.js +0 -176
  87. package/dist/assets/illustration/settings-illustration.js.map +0 -1
  88. package/dist/components/components-settings/attachments-tab-settings.js +0 -226
  89. package/dist/components/components-settings/attachments-tab-settings.js.map +0 -1
  90. package/dist/components/components-settings/data-grid-settings.js +0 -318
  91. package/dist/components/components-settings/data-grid-settings.js.map +0 -1
  92. package/dist/components/components-settings/section-tab-settings.js +0 -269
  93. package/dist/components/components-settings/section-tab-settings.js.map +0 -1
  94. package/dist/components/components-settings/tabs-overview-settings.js +0 -439
  95. package/dist/components/components-settings/tabs-overview-settings.js.map +0 -1
  96. package/dist/components/lit-attachments-tab.js.map +0 -1
  97. package/dist/components/lit-badge.js.map +0 -1
  98. package/dist/components/lit-case-variables-tab.js.map +0 -1
  99. package/dist/components/lit-chart.js.map +0 -1
  100. package/dist/components/lit-data-grid-tanstack.js.map +0 -1
  101. package/dist/components/lit-filter-modal.js.map +0 -1
  102. package/dist/components/lit-multiselect-item.js.map +0 -1
  103. package/dist/components/lit-section-tab.js.map +0 -1
  104. package/dist/components/lit-tabs-overview.js.map +0 -1
  105. package/dist/components/modals/lit-confirm-modal.js +0 -120
  106. package/dist/components/modals/lit-confirm-modal.js.map +0 -1
  107. package/dist/components/modals/lit-delete-modal.js +0 -128
  108. package/dist/components/modals/lit-delete-modal.js.map +0 -1
  109. package/dist/components/react-wrappers/attachments-tab.js.map +0 -1
  110. package/dist/components/react-wrappers/badge.js.map +0 -1
  111. package/dist/components/react-wrappers/button.js.map +0 -1
  112. package/dist/components/react-wrappers/case-variables-tab.js.map +0 -1
  113. package/dist/components/react-wrappers/chart.js.map +0 -1
  114. package/dist/components/react-wrappers/data-grid-tanstack.js.map +0 -1
  115. package/dist/components/react-wrappers/filter-modal.js.map +0 -1
  116. package/dist/components/react-wrappers/progress-bar.js.map +0 -1
  117. package/dist/components/react-wrappers/section-tab.js.map +0 -1
  118. package/dist/components/react-wrappers/tabs-overview.js.map +0 -1
  119. package/dist/data/translations.js +0 -2763
  120. package/dist/data/translations.js.map +0 -1
  121. package/dist/index.js.map +0 -1
  122. package/dist/schemas/index.js +0 -17
  123. package/dist/schemas/index.js.map +0 -1
  124. package/dist/schemas/lit-attachments-tab-document.schema.js +0 -20
  125. package/dist/schemas/lit-attachments-tab-document.schema.js.map +0 -1
  126. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +0 -15
  127. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +0 -1
  128. package/dist/schemas/lit-attachments-tab.schema.js +0 -32
  129. package/dist/schemas/lit-attachments-tab.schema.js.map +0 -1
  130. package/dist/schemas/lit-case-variables-tab-cell.schema.js +0 -43
  131. package/dist/schemas/lit-case-variables-tab-cell.schema.js.map +0 -1
  132. package/dist/schemas/lit-case-variables-tab-rows.schema.js +0 -6
  133. package/dist/schemas/lit-case-variables-tab-rows.schema.js.map +0 -1
  134. package/dist/schemas/lit-case-variables-tab.schema.js +0 -24
  135. package/dist/schemas/lit-case-variables-tab.schema.js.map +0 -1
  136. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js +0 -6
  137. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js.map +0 -1
  138. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js +0 -6
  139. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js.map +0 -1
  140. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js +0 -11
  141. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js.map +0 -1
  142. package/dist/schemas/lit-data-grid-tanstack-column.schema.js +0 -55
  143. package/dist/schemas/lit-data-grid-tanstack-column.schema.js.map +0 -1
  144. package/dist/schemas/lit-data-grid-tanstack.schema.js +0 -99
  145. package/dist/schemas/lit-data-grid-tanstack.schema.js.map +0 -1
  146. package/dist/schemas/lit-section-tab-schema.js +0 -24
  147. package/dist/schemas/lit-section-tab-schema.js.map +0 -1
  148. package/dist/schemas/lit-tabs-overview-tab-array.schema.js +0 -6
  149. package/dist/schemas/lit-tabs-overview-tab-array.schema.js.map +0 -1
  150. package/dist/schemas/lit-tabs-overview-tab.schema.js +0 -32
  151. package/dist/schemas/lit-tabs-overview-tab.schema.js.map +0 -1
  152. package/dist/schemas/lit-tabs-overview.schema.js +0 -29
  153. package/dist/schemas/lit-tabs-overview.schema.js.map +0 -1
  154. package/dist/scripts/translate-locales.js +0 -69
  155. package/dist/scripts/translate-locales.js.map +0 -1
  156. package/dist/shared/filter-inputs.js +0 -427
  157. package/dist/shared/filter-inputs.js.map +0 -1
  158. package/dist/shared/lit-button.js.map +0 -1
  159. package/dist/shared/lit-case-variables-tab-cell.js +0 -226
  160. package/dist/shared/lit-case-variables-tab-cell.js.map +0 -1
  161. package/dist/shared/lit-checkbox.js +0 -171
  162. package/dist/shared/lit-checkbox.js.map +0 -1
  163. package/dist/shared/lit-custom-popper.js +0 -117
  164. package/dist/shared/lit-custom-popper.js.map +0 -1
  165. package/dist/shared/lit-data-grid-action-buttons-popover.js +0 -295
  166. package/dist/shared/lit-data-grid-action-buttons-popover.js.map +0 -1
  167. package/dist/shared/lit-data-grid-density-popover.js +0 -84
  168. package/dist/shared/lit-data-grid-density-popover.js.map +0 -1
  169. package/dist/shared/lit-data-grid-export-popover.js +0 -68
  170. package/dist/shared/lit-data-grid-export-popover.js.map +0 -1
  171. package/dist/shared/lit-data-grid-operators-popover.js +0 -114
  172. package/dist/shared/lit-data-grid-operators-popover.js.map +0 -1
  173. package/dist/shared/lit-data-grid-row-actions.js +0 -76
  174. package/dist/shared/lit-data-grid-row-actions.js.map +0 -1
  175. package/dist/shared/lit-date-picker.js +0 -606
  176. package/dist/shared/lit-date-picker.js.map +0 -1
  177. package/dist/shared/lit-icon-button.js +0 -105
  178. package/dist/shared/lit-icon-button.js.map +0 -1
  179. package/dist/shared/lit-icon.js +0 -284
  180. package/dist/shared/lit-icon.js.map +0 -1
  181. package/dist/shared/lit-input.js +0 -239
  182. package/dist/shared/lit-input.js.map +0 -1
  183. package/dist/shared/lit-label.js +0 -104
  184. package/dist/shared/lit-label.js.map +0 -1
  185. package/dist/shared/lit-loader.js +0 -69
  186. package/dist/shared/lit-loader.js.map +0 -1
  187. package/dist/shared/lit-loading-bar.js +0 -127
  188. package/dist/shared/lit-loading-bar.js.map +0 -1
  189. package/dist/shared/lit-menu-item.js +0 -99
  190. package/dist/shared/lit-menu-item.js.map +0 -1
  191. package/dist/shared/lit-menu.js +0 -42
  192. package/dist/shared/lit-menu.js.map +0 -1
  193. package/dist/shared/lit-modal-body.js +0 -22
  194. package/dist/shared/lit-modal-body.js.map +0 -1
  195. package/dist/shared/lit-modal-footer.js +0 -29
  196. package/dist/shared/lit-modal-footer.js.map +0 -1
  197. package/dist/shared/lit-modal-header.js +0 -36
  198. package/dist/shared/lit-modal-header.js.map +0 -1
  199. package/dist/shared/lit-modal.js +0 -169
  200. package/dist/shared/lit-modal.js.map +0 -1
  201. package/dist/shared/lit-overflow-tooltip.js +0 -103
  202. package/dist/shared/lit-overflow-tooltip.js.map +0 -1
  203. package/dist/shared/lit-pill.js +0 -88
  204. package/dist/shared/lit-pill.js.map +0 -1
  205. package/dist/shared/lit-progress-bar.js.map +0 -1
  206. package/dist/shared/lit-responsive-button.js +0 -94
  207. package/dist/shared/lit-responsive-button.js.map +0 -1
  208. package/dist/shared/lit-select-field.js +0 -459
  209. package/dist/shared/lit-select-field.js.map +0 -1
  210. package/dist/shared/lit-select.js +0 -413
  211. package/dist/shared/lit-select.js.map +0 -1
  212. package/dist/shared/lit-settings.js +0 -77
  213. package/dist/shared/lit-settings.js.map +0 -1
  214. package/dist/shared/lit-text-field.js +0 -222
  215. package/dist/shared/lit-text-field.js.map +0 -1
  216. package/dist/shared/lit-toggle.js +0 -222
  217. package/dist/shared/lit-toggle.js.map +0 -1
  218. package/dist/shared/lit-tooltip.js +0 -166
  219. package/dist/shared/lit-tooltip.js.map +0 -1
  220. package/dist/shared/simple-popper.js +0 -266
  221. package/dist/shared/simple-popper.js.map +0 -1
  222. package/dist/shared/simple-tooltip.js.map +0 -1
  223. package/dist/shared/styles/button-shared-styles.js.map +0 -1
  224. package/dist/style.css +0 -1
  225. package/dist/styles.js +0 -169
  226. package/dist/styles.js.map +0 -1
  227. package/dist/utils/currency.js.map +0 -1
  228. package/dist/utils/custom-filters.js.map +0 -1
  229. package/dist/utils/date.js.map +0 -1
  230. package/dist/utils/getOperatorByType.js.map +0 -1
  231. package/dist/utils/getOverviewValue.js +0 -177
  232. package/dist/utils/getOverviewValue.js.map +0 -1
  233. package/dist/utils/localization.js.map +0 -1
  234. package/dist/utils/utils.js +0 -13
  235. package/dist/utils/utils.js.map +0 -1
  236. package/dist/utils/validate-json-schema.js +0 -8
  237. package/dist/utils/validate-json-schema.js.map +0 -1
  238. package/dist/validators/validator.js +0 -7
  239. package/dist/validators/validator.js.map +0 -1
@@ -1,1061 +1,671 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ import { LitElement as tt, html as u, css as et } from "lit";
2
+ import it, { isEqual as ot } from "lodash";
3
+ import { msg as R } from "@lit/localize";
4
+ import { customElement as nt } from "../node_modules/@lit/reactive-element/decorators/custom-element.js";
5
+ import { property as a } from "../node_modules/@lit/reactive-element/decorators/property.js";
6
+ import { state as z } from "../node_modules/@lit/reactive-element/decorators/state.js";
7
+ import { query as Q } from "../node_modules/@lit/reactive-element/decorators/query.js";
8
+ import { unsafeHTML as j } from "../node_modules/lit-html/directives/unsafe-html.js";
9
+ import { TableController as lt, filterFns as T, getFacetedUniqueValues as st, getExpandedRowModel as rt, getGroupedRowModel as at, getFacetedRowModel as dt, getFilteredRowModel as ct, getSortedRowModel as ht, getCoreRowModel as pt, flexRender as L } from "@tanstack/lit-table";
10
+ import { repeat as V } from "../node_modules/lit-html/directives/repeat.js";
11
+ import { VirtualizerController as K } from "@tanstack/lit-virtual";
12
+ import { createRef as ut, ref as X } from "../node_modules/lit-html/directives/ref.js";
13
+ import { styleMap as E } from "../node_modules/lit-html/directives/style-map.js";
14
+ import gt from "sortablejs";
15
+ import { formatDate as W } from "../utils/date.js";
16
+ import { formatCurrency as mt } from "../utils/currency.js";
17
+ import { dateFilterFn as Z, dateRangeFilterFn as Y, multiselectFilterFn as J } from "../utils/custom-filters.js";
18
+ import { getLocale as ft, setLocale as bt } from "../utils/localization.js";
19
+ import { getOperatorsByColumnType as yt } from "../utils/getOperatorByType.js";
20
+ var wt = Object.defineProperty, xt = Object.getOwnPropertyDescriptor, l = (t, e, o, d) => {
21
+ for (var s = d > 1 ? void 0 : d ? xt(e, o) : e, p = t.length - 1, g; p >= 0; p--)
22
+ (g = t[p]) && (s = (d ? g(e, o, s) : g(s)) || s);
23
+ return d && s && wt(e, o, s), s;
6
24
  };
7
- import { css, html, LitElement } from 'lit';
8
- import _, { isEqual } from 'lodash';
9
- import { msg } from '@lit/localize';
10
- import { customElement, property, state, query } from 'lit/decorators.js';
11
- import { unsafeHTML } from 'lit/directives/unsafe-html.js';
12
- import { TableController, getCoreRowModel, flexRender, getSortedRowModel, getFilteredRowModel, getFacetedRowModel, getFacetedUniqueValues, getGroupedRowModel, getExpandedRowModel, filterFns, } from '@tanstack/lit-table';
13
- import { repeat } from 'lit/directives/repeat.js';
14
- import { VirtualizerController } from '@tanstack/lit-virtual';
15
- import { createRef, ref } from 'lit/directives/ref.js';
16
- import { styleMap } from 'lit/directives/style-map.js';
17
- import Sortable from 'sortablejs';
18
- // components
19
- import '../shared/filter-inputs.js';
20
- import '../shared/lit-icon.js';
21
- import '../shared/lit-icon-button.js';
22
- import '../shared/lit-button.js';
23
- import '../shared/lit-responsive-button.js';
24
- import '../shared/lit-data-grid-export-popover.js';
25
- import '../shared/lit-data-grid-action-buttons-popover.js';
26
- import '../assets/illustration/not-found.js';
27
- import '../shared/lit-data-grid-density-popover.js';
28
- import '../shared/lit-loading-bar.js';
29
- import '../shared/lit-data-grid-row-actions.js';
30
- import '../shared/simple-tooltip.js';
31
- import '../shared/lit-checkbox.js';
32
- import '../shared/lit-overflow-tooltip.js';
33
- import './components-settings/data-grid-settings.js';
34
- // utils
35
- import { formatDate } from '../utils/date.js';
36
- import { formatCurrency } from '../utils/currency.js';
37
- import { dateFilterFn, multiselectFilterFn, dateRangeFilterFn } from '../utils/custom-filters.js';
38
- import { setLocale, getLocale } from '../utils/localization.js';
39
- import { getOperatorsByColumnType } from '../utils/getOperatorByType.js';
40
- let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
41
- constructor() {
42
- super(...arguments);
43
- this.row = [];
44
- this.columns = [];
45
- this.enableRowVirtualization = true;
46
- this.enableColumnVirtualization = false;
47
- this.enableColumnPinning = true;
48
- this.enableColumnOrdering = false;
49
- this.enableGrouping = true;
50
- this.enablePinning = true;
51
- this.exportData = true;
52
- this.actionButtonsInMenu = false;
53
- this.id = '';
54
- this.initialSorting = [];
55
- this.initialRowExpanded = {};
56
- this.columnSizing = {};
57
- this.leftPinnedColumns = [];
58
- this.rightPinnedColumns = [];
59
- this.enableFiltering = true;
60
- this.enableSorting = true;
61
- this.userLang = 'cs';
62
- this.dateFormat = null;
63
- this.isLoading = false;
64
- this.enableRowSelection = false;
65
- this.initialFiltering = [];
66
- this.server = false;
67
- this.scrollEndThreshold = 100;
68
- this.rowDensity = 'standard';
69
- this.enableMultiRowSelection = false;
70
- this.minFilterCharacters = 3;
71
- this.localizeDate = true;
72
- this.rowsSelected = {};
73
- this.enableSettings = false;
74
- this.onSettingsChanged = () => { };
75
- this.onCellKeyDown = (event, row) => { };
76
- this.onColumnResize = () => { };
77
- this.onColumnFiltersChanged = (table, filterModel) => { };
78
- this.onColumnSortChanged = (table, sortModel) => { };
79
- this.onRowSelectionChanged = (table, selectedRows) => { };
80
- this.onColumnOrderChanged = (table, columnOrder) => { };
81
- this.hideFooter = false;
82
- this.columnVisibility = {};
83
- this.onColumnVisibilityChanged = (table, columnVisibility) => { };
84
- this.onMouseDown = (e, row) => { };
85
- this.onRowFocusChanged = (table, rowIndex) => { };
86
- this.focusedRowIndex = null;
87
- this.autoFocus = false;
88
- this.rowsCount = 0;
89
- this.isScrollable = false;
90
- this.disableScrollLeft = true;
91
- this.disableScrollRight = false;
92
- this.columnOrder = [];
93
- this.isOpen = false;
94
- this.filterText = '';
95
- this.isOpenModal = false;
96
- this.scrollToEnd = false;
97
- this.tableContainerRef = createRef();
98
- this.scrollInterval = null;
99
- this.currentScrollTop = 0;
100
- this.lastSelectedIndex = null;
101
- this.getCellBackgroundColor = (cell) => {
102
- if (cell.getIsGrouped()) {
103
- return this.columnGroupedColor ?? `var(--color-primary-light, #f0fadf)`;
104
- }
105
- if (cell.getIsAggregated()) {
106
- return this.rowAggregationColor ?? `var(--color-warning-light, #ffe1a8)`;
107
- }
108
- if (cell.getIsPlaceholder()) {
109
- return `var(--background-default, #eff3f4)`;
110
- }
111
- if (cell.column.getIsPinned()) {
112
- return `var(--background-paper, #fff)`;
113
- }
114
- return 'transparent';
115
- };
116
- this.updateScrollState = () => {
117
- const grid = this.tableContainerRef.value;
118
- if (grid) {
119
- const canScrollHorizontally = grid.scrollWidth > grid.clientWidth;
120
- this.isScrollable = canScrollHorizontally;
121
- this.disableScrollLeft = grid.scrollLeft === 0;
122
- this.disableScrollRight = grid.scrollLeft + grid.clientWidth >= grid.scrollWidth;
123
- this.currentScrollTop = grid.scrollTop;
124
- }
125
- };
25
+ let n = class extends tt {
26
+ constructor() {
27
+ super(...arguments), this.row = [], this.columns = [], this.enableRowVirtualization = !0, this.enableColumnVirtualization = !1, this.enableColumnPinning = !0, this.enableColumnOrdering = !1, this.enableGrouping = !0, this.enablePinning = !0, this.exportData = !0, this.actionButtonsInMenu = !1, this.id = "", this.initialSorting = [], this.initialRowExpanded = {}, this.columnSizing = {}, this.leftPinnedColumns = [], this.rightPinnedColumns = [], this.enableFiltering = !0, this.enableSorting = !0, this.userLang = "cs", this.dateFormat = null, this.isLoading = !1, this.enableRowSelection = !1, this.initialFiltering = [], this.server = !1, this.scrollEndThreshold = 100, this.rowDensity = "standard", this.enableMultiRowSelection = !1, this.minFilterCharacters = 3, this.localizeDate = !0, this.rowsSelected = {}, this.enableSettings = !1, this.onSettingsChanged = () => {
28
+ }, this.onCellKeyDown = (t, e) => {
29
+ }, this.onColumnResize = () => {
30
+ }, this.onColumnFiltersChanged = (t, e) => {
31
+ }, this.onColumnSortChanged = (t, e) => {
32
+ }, this.onRowSelectionChanged = (t, e) => {
33
+ }, this.onColumnOrderChanged = (t, e) => {
34
+ }, this.hideFooter = !1, this.columnVisibility = {}, this.onColumnVisibilityChanged = (t, e) => {
35
+ }, this.onMouseDown = (t, e) => {
36
+ }, this.onRowFocusChanged = (t, e) => {
37
+ }, this.focusedRowIndex = null, this.autoFocus = !1, this.rowsCount = 0, this.isScrollable = !1, this.disableScrollLeft = !0, this.disableScrollRight = !1, this.columnOrder = [], this.isOpen = !1, this.filterText = "", this.isOpenModal = !1, this.scrollToEnd = !1, this.tableContainerRef = ut(), this.scrollInterval = null, this.currentScrollTop = 0, this.lastSelectedIndex = null, this.getCellBackgroundColor = (t) => t.getIsGrouped() ? this.columnGroupedColor ?? "var(--color-primary-light, #f0fadf)" : t.getIsAggregated() ? this.rowAggregationColor ?? "var(--color-warning-light, #ffe1a8)" : t.getIsPlaceholder() ? "var(--background-default, #eff3f4)" : t.column.getIsPinned() ? "var(--background-paper, #fff)" : "transparent", this.updateScrollState = () => {
38
+ const t = this.tableContainerRef.value;
39
+ if (t) {
40
+ const e = t.scrollWidth > t.clientWidth;
41
+ this.isScrollable = e, this.disableScrollLeft = t.scrollLeft === 0, this.disableScrollRight = t.scrollLeft + t.clientWidth >= t.scrollWidth, this.currentScrollTop = t.scrollTop;
42
+ }
43
+ };
44
+ }
45
+ get rows() {
46
+ return [...this.row || []];
47
+ }
48
+ get getColumns() {
49
+ return [...this.columns || []];
50
+ }
51
+ // lifecycle
52
+ connectedCallback() {
53
+ this.initRowVirtualizer(), this.initColumnVirtualizer(), this.initTable(), window.addEventListener("resize", this.updateScrollState), super.connectedCallback();
54
+ }
55
+ disconnectedCallback() {
56
+ super.disconnectedCallback(), window.removeEventListener("resize", this.updateScrollState);
57
+ }
58
+ updated(t) {
59
+ var e, o, d, s, p;
60
+ if (t.has("rowsCount") && this.enableRowVirtualization) {
61
+ this.scrollToEnd = !1;
62
+ const g = (e = this.rowVirtualizerController) == null ? void 0 : e.getVirtualizer();
63
+ g && g.setOptions({
64
+ ...g.options,
65
+ count: (d = (o = this.table) == null ? void 0 : o.getRowModel()) == null ? void 0 : d.rows.length
66
+ }), this.requestUpdate();
126
67
  }
127
- get rows() {
128
- return [...(this.row || [])];
68
+ if ((t.has("columns") || t.has("columnVisibility")) && this.enableColumnVirtualization) {
69
+ const g = (s = this.columnVirtualizerController) == null ? void 0 : s.getVirtualizer();
70
+ g && g.setOptions({
71
+ ...g.options,
72
+ count: (p = this.table) == null ? void 0 : p.getVisibleLeafColumns().length
73
+ });
129
74
  }
130
- get getColumns() {
131
- return [...(this.columns || [])];
132
- }
133
- // lifecycle
134
- connectedCallback() {
135
- this.initRowVirtualizer();
136
- this.initColumnVirtualizer();
137
- this.initTable();
138
- window.addEventListener('resize', this.updateScrollState);
139
- super.connectedCallback();
140
- }
141
- disconnectedCallback() {
142
- super.disconnectedCallback();
143
- window.removeEventListener('resize', this.updateScrollState);
144
- }
145
- updated(changedProperties) {
146
- if (changedProperties.has('rowsCount') && this.enableRowVirtualization) {
147
- this.scrollToEnd = false;
148
- const virtualizer = this.rowVirtualizerController?.getVirtualizer();
149
- if (virtualizer) {
150
- virtualizer.setOptions({
151
- ...virtualizer.options,
152
- count: this.table?.getRowModel()?.rows.length,
153
- });
154
- }
155
- this.requestUpdate();
156
- }
157
- if ((changedProperties.has('columns') || changedProperties.has('columnVisibility')) &&
158
- this.enableColumnVirtualization) {
159
- const virtualizer = this.columnVirtualizerController?.getVirtualizer();
160
- if (virtualizer) {
161
- virtualizer.setOptions({
162
- ...virtualizer.options,
163
- count: this.table?.getVisibleLeafColumns().length,
164
- });
165
- }
166
- }
167
- if (changedProperties.has('row') || changedProperties.has('columns')) {
168
- this.initTable();
169
- this.requestUpdate();
170
- }
171
- }
172
- firstUpdated() {
173
- const grid = this.tableContainerRef.value;
174
- if (grid) {
175
- grid.addEventListener('scroll', this.updateScrollState);
176
- }
177
- this.updateScrollState();
178
- this.initSortable();
179
- this._container.addEventListener('scroll', this.handleScroll.bind(this));
180
- // focus row by index
181
- if (this.autoFocus) {
182
- setTimeout(() => {
183
- if (this.focusedRowIndex !== null && this.focusedRowIndex !== undefined) {
184
- this.focusRow?.(this.focusedRowIndex);
185
- }
186
- else {
187
- // first selected row if exists
188
- const selectedRows = this.table.getSelectedRowModel().rows;
189
- if (selectedRows.length > 0) {
190
- this.focusRow?.(selectedRows[0].index);
191
- }
192
- }
193
- }, 0);
194
- }
195
- }
196
- toggleModal() {
197
- this.isOpenModal = !this.isOpenModal;
198
- }
199
- async initSortable() {
200
- if (!this.enableColumnOrdering)
201
- return;
202
- const headerRow = this.shadowRoot?.querySelector('thead tr.head');
203
- if (!headerRow)
204
- return;
205
- Sortable.create(headerRow, {
206
- animation: 150,
207
- direction: 'horizontal',
208
- handle: '.drag-handle',
209
- filter: 'th[data-index="checkbox"], th[data-index="actions"]',
210
- preventOnFilter: false,
211
- onMove: (evt) => {
212
- const dragged = evt.dragged.getAttribute('data-index');
213
- const target = evt.related.getAttribute('data-index');
214
- const disallowed = ['checkbox', 'actions'];
215
- if (disallowed.includes(dragged) || disallowed.includes(target)) {
216
- return false;
217
- }
218
- const headers = this.table.getHeaderGroups()[0].headers;
219
- const draggedHeader = headers.find((header) => header.id === dragged);
220
- const targetHeader = headers.find((header) => header.id === target);
221
- if (!draggedHeader || !targetHeader)
222
- return false;
223
- const isDraggedPinned = draggedHeader.column.getIsPinned?.();
224
- const isTargetPinned = targetHeader.column.getIsPinned?.();
225
- const isDraggedGrouped = draggedHeader.column.getIsGrouped?.();
226
- const isTargetGrouped = targetHeader.column.getIsGrouped?.();
227
- return !(isDraggedPinned || isTargetPinned || isDraggedGrouped || isTargetGrouped);
228
- },
229
- onEnd: () => {
230
- const newOrder = Array.from(headerRow.querySelectorAll('th'))
231
- .map((th) => th.getAttribute('data-index'))
232
- .filter((id) => {
233
- if (!id || id === 'checkbox' || id === 'actions')
234
- return false;
235
- const header = this.table
236
- .getHeaderGroups()[0]
237
- .headers.find((h) => h.id === id);
238
- if (!header)
239
- return false;
240
- return !header.column.getIsPinned?.() && !header.column.getIsGrouped?.();
241
- });
242
- this.table.setColumnOrder(newOrder);
243
- },
75
+ (t.has("row") || t.has("columns")) && (this.initTable(), this.requestUpdate());
76
+ }
77
+ firstUpdated() {
78
+ const t = this.tableContainerRef.value;
79
+ t && t.addEventListener("scroll", this.updateScrollState), this.updateScrollState(), this.initSortable(), this._container.addEventListener("scroll", this.handleScroll.bind(this)), this.autoFocus && setTimeout(() => {
80
+ var e, o;
81
+ if (this.focusedRowIndex !== null && this.focusedRowIndex !== void 0)
82
+ (e = this.focusRow) == null || e.call(this, this.focusedRowIndex);
83
+ else {
84
+ const d = this.table.getSelectedRowModel().rows;
85
+ d.length > 0 && ((o = this.focusRow) == null || o.call(this, d[0].index));
86
+ }
87
+ }, 0);
88
+ }
89
+ toggleModal() {
90
+ this.isOpenModal = !this.isOpenModal;
91
+ }
92
+ async initSortable() {
93
+ var e;
94
+ if (!this.enableColumnOrdering) return;
95
+ const t = (e = this.shadowRoot) == null ? void 0 : e.querySelector("thead tr.head");
96
+ t && gt.create(t, {
97
+ animation: 150,
98
+ direction: "horizontal",
99
+ handle: ".drag-handle",
100
+ filter: 'th[data-index="checkbox"], th[data-index="actions"]',
101
+ preventOnFilter: !1,
102
+ onMove: (o) => {
103
+ var v, I, i, r, b, c, D, y;
104
+ const d = o.dragged.getAttribute("data-index"), s = o.related.getAttribute("data-index"), p = ["checkbox", "actions"];
105
+ if (p.includes(d) || p.includes(s))
106
+ return !1;
107
+ const g = this.table.getHeaderGroups()[0].headers, h = g.find((F) => F.id === d), m = g.find((F) => F.id === s);
108
+ if (!h || !m) return !1;
109
+ const x = (I = (v = h.column).getIsPinned) == null ? void 0 : I.call(v), C = (r = (i = m.column).getIsPinned) == null ? void 0 : r.call(i), w = (c = (b = h.column).getIsGrouped) == null ? void 0 : c.call(b), S = (y = (D = m.column).getIsGrouped) == null ? void 0 : y.call(D);
110
+ return !(x || C || w || S);
111
+ },
112
+ onEnd: () => {
113
+ const o = Array.from(t.querySelectorAll("th")).map((d) => d.getAttribute("data-index")).filter((d) => {
114
+ var p, g, h, m;
115
+ if (!d || d === "checkbox" || d === "actions") return !1;
116
+ const s = this.table.getHeaderGroups()[0].headers.find((x) => x.id === d);
117
+ return s ? !((g = (p = s.column).getIsPinned) != null && g.call(p)) && !((m = (h = s.column).getIsGrouped) != null && m.call(h)) : !1;
244
118
  });
119
+ this.table.setColumnOrder(o);
120
+ }
121
+ });
122
+ }
123
+ async loadXLSX() {
124
+ !window.XLSX && !this.server && await new Promise((t) => {
125
+ const e = document.createElement("script");
126
+ e.src = "../../public/libs/xlsx.mini.min.js", e.onload = t, document.head.appendChild(e);
127
+ });
128
+ }
129
+ // row density
130
+ getRowHeight() {
131
+ switch (this.rowDensity) {
132
+ case "compact":
133
+ return 31;
134
+ case "standard":
135
+ return 38;
136
+ case "comfort":
137
+ return 50;
138
+ default:
139
+ return 38;
245
140
  }
246
- async loadXLSX() {
247
- if (!window.XLSX && !this.server) {
248
- await new Promise((resolve) => {
249
- const script = document.createElement('script');
250
- script.src = '../../public/libs/xlsx.mini.min.js';
251
- script.onload = resolve;
252
- document.head.appendChild(script);
253
- });
254
- }
141
+ }
142
+ getButtonSize() {
143
+ switch (this.rowDensity) {
144
+ case "compact":
145
+ return "small";
146
+ case "standard":
147
+ return "medium";
148
+ case "comfort":
149
+ return "large";
150
+ default:
151
+ return "medium";
255
152
  }
256
- // row density
257
- getRowHeight() {
258
- switch (this.rowDensity) {
259
- case 'compact':
260
- return 31;
261
- case 'standard':
262
- return 38;
263
- case 'comfort':
264
- return 50;
265
- default:
266
- return 38;
267
- }
153
+ }
154
+ handleSetDensity(t) {
155
+ this.rowDensity = t, this.rowDensityChange && this.rowDensityChange(this.table, t);
156
+ }
157
+ handleMouseDown(t, e) {
158
+ this.onMouseDown && this.onMouseDown(t, e);
159
+ }
160
+ handleFilterTabNavigation(t) {
161
+ var g, h, m;
162
+ const { direction: e, currentFilter: o } = t.detail, d = Array.from(((g = this.shadowRoot) == null ? void 0 : g.querySelectorAll("filter-inputs")) || []);
163
+ if (d.length === 0) return;
164
+ const s = d.indexOf(o);
165
+ let p;
166
+ if (e === "forward")
167
+ if (s === d.length - 1) {
168
+ const x = (h = this.shadowRoot) == null ? void 0 : h.querySelector(".grid");
169
+ x && (x.scrollLeft = 0), setTimeout(() => {
170
+ var w;
171
+ const C = (w = this.shadowRoot) == null ? void 0 : w.querySelector("filter-inputs");
172
+ C && C.focus();
173
+ }, 0);
174
+ return;
175
+ } else
176
+ p = s + 1;
177
+ else if (s === 0) {
178
+ const x = (m = this.shadowRoot) == null ? void 0 : m.querySelector(".grid");
179
+ x && (x.scrollLeft = x.scrollWidth), setTimeout(() => {
180
+ var w;
181
+ const C = Array.from(
182
+ ((w = this.shadowRoot) == null ? void 0 : w.querySelectorAll("filter-inputs")) || []
183
+ );
184
+ C.length > 0 && C[C.length - 1].focus();
185
+ }, 0);
186
+ return;
187
+ } else
188
+ p = s - 1;
189
+ d[p].focus();
190
+ }
191
+ // virtualization
192
+ initRowVirtualizer() {
193
+ var t, e, o;
194
+ this.rowVirtualizerController = new K(this, {
195
+ count: ((e = (t = this.table) == null ? void 0 : t.getRowModel()) == null ? void 0 : e.rows.length) || ((o = this.row) == null ? void 0 : o.length) || 1,
196
+ getScrollElement: () => this.tableContainerRef.value,
197
+ estimateSize: () => this.getRowHeight(),
198
+ overscan: 5,
199
+ initialOffset: this.currentScrollTop,
200
+ enabled: this.enableRowVirtualization
201
+ });
202
+ }
203
+ initTable() {
204
+ this.tableController = new lt(this);
205
+ }
206
+ initColumnVirtualizer() {
207
+ var t;
208
+ this.columnVirtualizerController = new K(this, {
209
+ horizontal: !0,
210
+ count: ((t = this.table) == null ? void 0 : t.getVisibleLeafColumns().length) || this.columns.length || 1,
211
+ getScrollElement: () => this.tableContainerRef.value,
212
+ estimateSize: (e) => {
213
+ var o;
214
+ return ((o = this.table.getVisibleLeafColumns()[e]) == null ? void 0 : o.getSize()) || 200;
215
+ },
216
+ overscan: 5,
217
+ enabled: this.enableColumnVirtualization
218
+ });
219
+ }
220
+ handleRowClick(t, e) {
221
+ var s, p;
222
+ (s = this.onRowClick) == null || s.call(this, t, this.table, e), (p = this.onRowFocusChanged) == null || p.call(this, this.table, e.index);
223
+ const o = t.shiftKey, d = t.ctrlKey || t.metaKey;
224
+ if (this.enableRowSelection && e.getCanSelect() && (d || o)) {
225
+ const { rows: g } = this.table.getRowModel();
226
+ if (this.enableMultiRowSelection && o && this.focusedRowIndex !== null && this.focusedRowIndex !== void 0) {
227
+ const [h, m] = [
228
+ Math.min(this.focusedRowIndex, e.index),
229
+ Math.max(this.focusedRowIndex, e.index)
230
+ ], x = g.slice(h, m + 1).map((w) => w.id), C = { ...this.rowsSelected };
231
+ x.forEach((w) => C[w] = !0), this.table.setRowSelection(C);
232
+ } else if (d && this.enableMultiRowSelection) {
233
+ const h = { ...this.rowsSelected };
234
+ h[e.id] ? delete h[e.id] : h[e.id] = !0, this.table.setRowSelection(h);
235
+ } else {
236
+ const h = { [e.id]: !0 };
237
+ this.table.setRowSelection(h);
238
+ }
268
239
  }
269
- getButtonSize() {
270
- switch (this.rowDensity) {
271
- case 'compact':
272
- return 'small';
273
- case 'standard':
274
- return 'medium';
275
- case 'comfort':
276
- return 'large';
277
- default:
278
- return 'medium';
240
+ this.focusedRowIndex = e.index;
241
+ }
242
+ handleRowDoubleClick(t) {
243
+ this.onRowDoubleClick && this.onRowDoubleClick(this.table, t);
244
+ }
245
+ handleKeyDown(t) {
246
+ var d;
247
+ const e = this.table.getRowModel().rows;
248
+ if (!e.length) return;
249
+ let o = this.focusedRowIndex ?? e.findIndex((s) => this.rowsSelected[s.id]);
250
+ if (this.enableRowSelection) {
251
+ if (o === -1 && (o = 0), t.key === "ArrowDown" && t.shiftKey && this.enableMultiRowSelection) {
252
+ t.preventDefault();
253
+ const s = o + 1;
254
+ if (s < e.length) {
255
+ const p = e[s].id;
256
+ this.table.setRowSelection((g) => ({
257
+ ...g,
258
+ [p]: !g[p]
259
+ })), this.focusRow(s);
279
260
  }
280
- }
281
- handleSetDensity(density) {
282
- this.rowDensity = density;
283
- if (this.rowDensityChange) {
284
- this.rowDensityChange(this.table, density);
261
+ } else if (t.key === "ArrowUp" && t.shiftKey && this.enableMultiRowSelection) {
262
+ t.preventDefault();
263
+ const s = o - 1;
264
+ if (s >= 0) {
265
+ const p = e[s].id;
266
+ this.table.setRowSelection((g) => ({
267
+ ...g,
268
+ [p]: !g[p]
269
+ })), this.focusRow(s);
285
270
  }
271
+ } else if (t.key === "ArrowDown" && o < e.length - 1) {
272
+ t.preventDefault();
273
+ const s = o + 1;
274
+ this.focusRow(s);
275
+ } else if (t.key === "ArrowUp" && o > 0) {
276
+ t.preventDefault();
277
+ const s = o - 1;
278
+ this.focusRow(s);
279
+ }
286
280
  }
287
- handleMouseDown(event, row) {
288
- if (this.onMouseDown) {
289
- this.onMouseDown(event, row);
290
- }
291
- }
292
- handleFilterTabNavigation(event) {
293
- const { direction, currentFilter } = event.detail;
294
- // Získajte všetky filter-inputs elementy z DOM
295
- const filterInputs = Array.from(this.shadowRoot?.querySelectorAll('filter-inputs') || []);
296
- if (filterInputs.length === 0)
297
- return;
298
- const currentIndex = filterInputs.indexOf(currentFilter);
299
- let nextIndex;
300
- if (direction === 'forward') {
301
- // Ak je aktuálny filter posledný vo viditeľnom zozname
302
- if (currentIndex === filterInputs.length - 1) {
303
- // Scroll na začiatok (ľavá strana)
304
- const grid = this.shadowRoot?.querySelector('.grid');
305
- if (grid) {
306
- grid.scrollLeft = 0;
307
- }
308
- // Po vykonaní scrollu čakáme krátko a potom nastavený focus na prvý filter
309
- setTimeout(() => {
310
- const firstFilter = this.shadowRoot?.querySelector('filter-inputs');
311
- if (firstFilter) {
312
- firstFilter.focus();
313
- }
314
- }, 0);
315
- return;
316
- }
317
- else {
318
- nextIndex = currentIndex + 1;
319
- }
320
- }
321
- else {
322
- // Podobne môžeme spracovať aj spätnú navigáciu
323
- if (currentIndex === 0) {
324
- const grid = this.shadowRoot?.querySelector('.grid');
325
- if (grid) {
326
- // Scroll na koniec (pravá strana)
327
- grid.scrollLeft = grid.scrollWidth;
328
- }
329
- setTimeout(() => {
330
- const filters = Array.from(this.shadowRoot?.querySelectorAll('filter-inputs') || []);
331
- if (filters.length > 0) {
332
- filters[filters.length - 1].focus();
333
- }
334
- }, 0);
335
- return;
336
- }
337
- else {
338
- nextIndex = currentIndex - 1;
339
- }
340
- }
341
- // Nastav focus na ďalší filter podľa smeru
342
- filterInputs[nextIndex].focus();
343
- }
344
- // virtualization
345
- initRowVirtualizer() {
346
- this.rowVirtualizerController = new VirtualizerController(this, {
347
- count: this.table?.getRowModel()?.rows.length || this.row?.length || 1,
348
- getScrollElement: () => this.tableContainerRef.value,
349
- estimateSize: () => this.getRowHeight(),
350
- overscan: 5,
351
- initialOffset: this.currentScrollTop,
352
- enabled: this.enableRowVirtualization,
353
- });
354
- }
355
- initTable() {
356
- this.tableController = new TableController(this);
357
- }
358
- initColumnVirtualizer() {
359
- this.columnVirtualizerController = new VirtualizerController(this, {
360
- horizontal: true,
361
- count: this.table?.getVisibleLeafColumns().length || this.columns.length || 1,
362
- getScrollElement: () => this.tableContainerRef.value,
363
- estimateSize: (index) => this.table.getVisibleLeafColumns()[index]?.getSize() || 200,
364
- overscan: 5,
365
- enabled: this.enableColumnVirtualization,
366
- });
367
- }
368
- handleRowClick(event, row) {
369
- this.onRowClick?.(event, this.table, row);
370
- this.onRowFocusChanged?.(this.table, row.index);
371
- const isShift = event.shiftKey;
372
- const isCtrlOrMeta = event.ctrlKey || event.metaKey;
373
- if (this.enableRowSelection && row.getCanSelect() && (isCtrlOrMeta || isShift)) {
374
- const { rows } = this.table.getRowModel();
375
- if (this.enableMultiRowSelection &&
376
- isShift &&
377
- this.focusedRowIndex !== null &&
378
- this.focusedRowIndex !== undefined) {
379
- const [start, end] = [
380
- Math.min(this.focusedRowIndex, row.index),
381
- Math.max(this.focusedRowIndex, row.index),
382
- ];
383
- const ids = rows.slice(start, end + 1).map((r) => r.id);
384
- const selected = { ...this.rowsSelected };
385
- ids.forEach((id) => (selected[id] = true));
386
- this.table.setRowSelection(selected);
387
- }
388
- else if (isCtrlOrMeta && this.enableMultiRowSelection) {
389
- // Ctrl/Cmd+Click: toggle row selection
390
- const selected = { ...this.rowsSelected };
391
- if (selected[row.id]) {
392
- delete selected[row.id];
393
- }
394
- else {
395
- selected[row.id] = true;
396
- }
397
- this.table.setRowSelection(selected);
398
- }
399
- else {
400
- // Single click: select only this row
401
- const selected = { [row.id]: true };
402
- this.table.setRowSelection(selected);
403
- }
404
- }
405
- this.focusedRowIndex = row.index;
406
- }
407
- handleRowDoubleClick(row) {
408
- if (this.onRowDoubleClick) {
409
- this.onRowDoubleClick(this.table, row);
410
- }
411
- }
412
- handleKeyDown(e) {
413
- const rows = this.table.getRowModel().rows;
414
- if (!rows.length)
415
- return;
416
- let index = this.focusedRowIndex ?? rows.findIndex((row) => this.rowsSelected[row.id]);
417
- if (this.enableRowSelection) {
418
- if (index === -1)
419
- index = 0;
420
- if (e.key === 'ArrowDown' && e.shiftKey && this.enableMultiRowSelection) {
421
- e.preventDefault();
422
- const nextIndex = index + 1;
423
- if (nextIndex < rows.length) {
424
- const nextRowId = rows[nextIndex].id;
425
- this.table.setRowSelection((prev) => ({
426
- ...prev,
427
- [nextRowId]: !prev[nextRowId],
428
- }));
429
- this.focusRow(nextIndex);
430
- }
431
- }
432
- else if (e.key === 'ArrowUp' && e.shiftKey && this.enableMultiRowSelection) {
433
- e.preventDefault();
434
- const prevIndex = index - 1;
435
- if (prevIndex >= 0) {
436
- const prevRowId = rows[prevIndex].id;
437
- this.table.setRowSelection((prev) => ({
438
- ...prev,
439
- [prevRowId]: !prev[prevRowId],
440
- }));
441
- this.focusRow(prevIndex);
442
- }
443
- }
444
- else if (e.key === 'ArrowDown' && index < rows.length - 1) {
445
- e.preventDefault();
446
- const nextIndex = index + 1;
447
- this.focusRow(nextIndex);
448
- }
449
- else if (e.key === 'ArrowUp' && index > 0) {
450
- e.preventDefault();
451
- const prevIndex = index - 1;
452
- this.focusRow(prevIndex);
453
- }
454
- }
455
- this.onCellKeyDown?.(e, rows[index]);
456
- }
457
- focusRow(index) {
458
- const rowIndex = index ?? this.focusedRowIndex;
459
- // Scroll to the row using virtualizer if available
460
- this.rowVirtualizerController
461
- ?.getVirtualizer()
462
- .scrollToIndex(rowIndex ?? 0, { align: 'auto' });
463
- setTimeout(() => {
464
- const row = this.shadowRoot?.querySelector(`[data-row-index="${rowIndex}"]`);
465
- // Find the row element in the shadow DOM
466
- if (this.enableRowVirtualization) {
467
- if (row) {
468
- setTimeout(() => {
469
- row.focus();
470
- }, 0);
471
- }
472
- }
473
- else {
474
- if (row) {
475
- row.focus();
476
- row.scrollIntoView({ block: 'nearest' });
477
- }
478
- }
479
- }, 100);
480
- this.onRowFocusChanged?.(this.table, rowIndex);
481
- this.focusedRowIndex = rowIndex;
482
- }
483
- getTanstackColumns(columns) {
484
- return columns.map((column) => {
485
- return {
486
- id: column.field,
487
- accessorKey: column.field,
488
- accessorFn: (originalRow) => (column.type === 'date' ||
489
- column.type === 'dateTime' ||
490
- column.type === 'dateTimeRange' ||
491
- column.type === 'dateRange') &&
492
- !this.server &&
493
- this.localizeDate
494
- ? column.accessorFn
495
- ? formatDate(column.accessorFn(originalRow), this.userLang || 'cs', column.type === 'date' || column.type === 'dateRange'
496
- ? undefined
497
- : true, this.dateFormat)
498
- : formatDate(originalRow[column.field], this.userLang || 'cs', column.type === 'date' || column.type === 'dateRange'
499
- ? undefined
500
- : true, this.dateFormat)
501
- : column.accessorFn
502
- ? column.accessorFn(originalRow)
503
- : originalRow[column.field],
504
- type: column.type,
505
- header: column.headerName,
506
- cell: (props) => {
507
- const value = props.getValue();
508
- if (column.type === 'actions') {
509
- return html `
281
+ (d = this.onCellKeyDown) == null || d.call(this, t, e[o]);
282
+ }
283
+ focusRow(t) {
284
+ var o, d;
285
+ const e = t ?? this.focusedRowIndex;
286
+ (o = this.rowVirtualizerController) == null || o.getVirtualizer().scrollToIndex(e ?? 0, { align: "auto" }), setTimeout(() => {
287
+ var p;
288
+ const s = (p = this.shadowRoot) == null ? void 0 : p.querySelector(
289
+ `[data-row-index="${e}"]`
290
+ );
291
+ this.enableRowVirtualization ? s && setTimeout(() => {
292
+ s.focus();
293
+ }, 0) : s && (s.focus(), s.scrollIntoView({ block: "nearest" }));
294
+ }, 100), (d = this.onRowFocusChanged) == null || d.call(this, this.table, e), this.focusedRowIndex = e;
295
+ }
296
+ getTanstackColumns(t) {
297
+ return t.map((e) => ({
298
+ id: e.field,
299
+ accessorKey: e.field,
300
+ accessorFn: (o) => (e.type === "date" || e.type === "dateTime" || e.type === "dateTimeRange" || e.type === "dateRange") && !this.server && this.localizeDate ? e.accessorFn ? W(
301
+ e.accessorFn(o),
302
+ this.userLang || "cs",
303
+ e.type === "date" || e.type === "dateRange" ? void 0 : !0,
304
+ this.dateFormat
305
+ ) : W(
306
+ o[e.field],
307
+ this.userLang || "cs",
308
+ e.type === "date" || e.type === "dateRange" ? void 0 : !0,
309
+ this.dateFormat
310
+ ) : e.accessorFn ? e.accessorFn(o) : o[e.field],
311
+ type: e.type,
312
+ header: e.headerName,
313
+ cell: (o) => {
314
+ var s;
315
+ const d = o.getValue();
316
+ return e.type === "actions" ? u`
510
317
  <lit-data-grid-row-actions
511
- .buttons=${column.getActions?.(props) || []}
318
+ .buttons=${((s = e.getActions) == null ? void 0 : s.call(e, o)) || []}
512
319
  ></lit-data-grid-row-actions>
513
- `;
514
- }
515
- if (column.type === 'currency') {
516
- return formatCurrency(value, this.userLang || 'cs');
517
- }
518
- return column.cell ? column.cell(props, html, unsafeHTML) : value;
519
- },
520
- filterFn: (() => {
521
- switch (column.type) {
522
- case 'numberRange':
523
- return filterFns.inNumberRange;
524
- case 'select':
525
- return filterFns.weakEquals;
526
- case 'multiselect':
527
- return multiselectFilterFn;
528
- case 'number':
529
- case 'currency':
530
- return filterFns.weakEquals;
531
- case 'dateRange':
532
- case 'dateTimeRange':
533
- return dateRangeFilterFn;
534
- case 'date':
535
- case 'dateTime':
536
- return dateFilterFn;
537
- case 'string':
538
- default:
539
- return filterFns.includesString;
540
- }
541
- })(),
542
- enableSorting: column.enableSorting ?? true,
543
- enableColumnFilter: this.enableFiltering && (column.enableFilter ?? true),
544
- size: column.size || this.columnDefaultSize || undefined,
545
- maxSize: column.maxSize || this.columnDefaultMaxSize || 500,
546
- minSize: column.minSize || this.columnDefaultMinSize || 100,
547
- meta: {
548
- filterVariant: column.type ?? 'string',
549
- valueOptions: column.valueOptions,
550
- filterOperators: column.filterOperators,
551
- },
552
- aggregationFn: column.columnAggregation ?? undefined,
553
- enableGrouping: column.enableGrouping ?? true,
554
- sortDescFirst: column.sortDescFirst || true,
555
- enableResizing: column.enableResizing ?? true,
556
- enablePinning: this.enablePinning && (column.enablePinning ?? true),
557
- aggregatedCell: (props) => {
558
- const value = props.getValue();
559
- return column.aggregatedCell
560
- ? column.aggregatedCell(props, html, unsafeHTML)
561
- : value;
562
- },
563
- };
564
- });
565
- }
566
- getCommonPinningStyles(column) {
567
- const isPinned = column.getIsPinned();
568
- if (!isPinned) {
569
- return {};
320
+ ` : e.type === "currency" ? mt(d, this.userLang || "cs") : e.cell ? e.cell(o, u, j) : d;
321
+ },
322
+ filterFn: (() => {
323
+ switch (e.type) {
324
+ case "numberRange":
325
+ return T.inNumberRange;
326
+ case "select":
327
+ return T.weakEquals;
328
+ case "multiselect":
329
+ return J;
330
+ case "number":
331
+ case "currency":
332
+ return T.weakEquals;
333
+ case "dateRange":
334
+ case "dateTimeRange":
335
+ return Y;
336
+ case "date":
337
+ case "dateTime":
338
+ return Z;
339
+ case "string":
340
+ default:
341
+ return T.includesString;
570
342
  }
571
- const isLastLeftPinnedColumn = isPinned === 'left' && column.getIsLastColumn('left');
572
- return {
573
- position: isPinned ? 'sticky' : 'relative',
574
- left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,
575
- right: isPinned === 'right' ? `0px` : undefined,
576
- boxShadow: isLastLeftPinnedColumn && column.columnDef.type !== 'checkbox'
577
- ? '-4px 0 4px -4px gray inset'
578
- : undefined,
579
- zIndex: `${isPinned ? 1 : 'auto'}`,
580
- background: isPinned ? 'var(--background-paper, #fff)' : undefined,
581
- };
343
+ })(),
344
+ enableSorting: e.enableSorting ?? !0,
345
+ enableColumnFilter: this.enableFiltering && (e.enableFilter ?? !0),
346
+ size: e.size || this.columnDefaultSize || void 0,
347
+ maxSize: e.maxSize || this.columnDefaultMaxSize || 500,
348
+ minSize: e.minSize || this.columnDefaultMinSize || 100,
349
+ meta: {
350
+ filterVariant: e.type ?? "string",
351
+ valueOptions: e.valueOptions,
352
+ filterOperators: e.filterOperators
353
+ },
354
+ aggregationFn: e.columnAggregation ?? void 0,
355
+ enableGrouping: e.enableGrouping ?? !0,
356
+ sortDescFirst: e.sortDescFirst || !0,
357
+ enableResizing: e.enableResizing ?? !0,
358
+ enablePinning: this.enablePinning && (e.enablePinning ?? !0),
359
+ aggregatedCell: (o) => {
360
+ const d = o.getValue();
361
+ return e.aggregatedCell ? e.aggregatedCell(o, u, j) : d;
362
+ }
363
+ }));
364
+ }
365
+ getCommonPinningStyles(t) {
366
+ const e = t.getIsPinned();
367
+ if (!e)
368
+ return {};
369
+ const o = e === "left" && t.getIsLastColumn("left");
370
+ return {
371
+ position: e ? "sticky" : "relative",
372
+ left: e === "left" ? `${t.getStart("left")}px` : void 0,
373
+ right: e === "right" ? "0px" : void 0,
374
+ boxShadow: o && t.columnDef.type !== "checkbox" ? "-4px 0 4px -4px gray inset" : void 0,
375
+ zIndex: `${e ? 1 : "auto"}`,
376
+ background: e ? "var(--background-paper, #fff)" : void 0
377
+ };
378
+ }
379
+ togglePin(t) {
380
+ t.column.getIsPinned() ? t.column.pin(!1) : t.column.pin("left");
381
+ }
382
+ // export to excel and csv
383
+ exportDataToCsv() {
384
+ const t = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows);
385
+ if (!t || t.length === 0) {
386
+ console.warn("No data to export");
387
+ return;
582
388
  }
583
- togglePin(header) {
584
- if (header.column.getIsPinned()) {
585
- header.column.pin(false); // Odpinovanie
586
- }
587
- else {
588
- header.column.pin('left'); // Pripnutie doľava
589
- }
389
+ const e = this.columns.map((m) => m.headerName || "").join(","), o = t.map((m) => this.columns.map((x) => {
390
+ var S, v;
391
+ const C = x.field;
392
+ if ((S = m.getIsGrouped) != null && S.call(m))
393
+ return x.field === m.groupingColumnId ? `"${m.getValue(x.field)} (${m.subRows.length})"` : "";
394
+ const w = ((v = m.getValue) == null ? void 0 : v.call(m, C)) || "";
395
+ return typeof w == "string" ? `"${w.replace(/"/g, '""')}"` : w;
396
+ }).join(","));
397
+ o.unshift(e);
398
+ const d = o.join(`
399
+ `), s = new Blob([d], { type: "text/csv;charset=utf-8;" }), p = prompt(R("Zadejte název souboru:"), "data");
400
+ if (!p)
401
+ return;
402
+ const g = URL.createObjectURL(s), h = document.createElement("a");
403
+ h.href = g, h.download = `${p}.csv`, h.click(), URL.revokeObjectURL(g);
404
+ }
405
+ async exportDataToExcel() {
406
+ await this.loadXLSX();
407
+ const t = window.XLSX, e = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows);
408
+ if (!e || e.length === 0) {
409
+ console.warn("No data to export");
410
+ return;
590
411
  }
591
- // export to excel and csv
592
- exportDataToCsv() {
593
- const rows = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows); // Získanie všetkých riadkov vrátane skupín
594
- if (!rows || rows.length === 0) {
595
- console.warn('No data to export');
596
- return;
597
- }
598
- // Generovanie hlavičky CSV zo stĺpcov
599
- const header = this.columns
600
- .map((col) => col.headerName || '') // Získanie názvov stĺpcov
601
- .join(',');
602
- // Generovanie dát pre CSV
603
- const csvRows = rows.map((row) => {
604
- return this.columns
605
- .map((col) => {
606
- const accessor = col.field; // Získanie kľúča pre hodnotu
607
- if (row.getIsGrouped?.()) {
608
- // Ak je skupinový riadok, pridaj počet záznamov do prvej bunky
609
- if (col.field === row.groupingColumnId) {
610
- return `"${row.getValue(col.field)} (${row.subRows.length})"`;
611
- }
612
- return ''; // Ostatné stĺpce v skupinovom riadku prázdne
613
- }
614
- const value = row.getValue?.(accessor) || ''; // Získanie hodnoty pre normálny riadok
615
- return typeof value === 'string'
616
- ? `"${value.replace(/"/g, '""')}"` // Ošetrenie dvojitých úvodzoviek
617
- : value;
618
- })
619
- .join(',');
620
- });
621
- // Pridanie hlavičky na začiatok CSV
622
- csvRows.unshift(header);
623
- // Vytvorenie CSV súboru
624
- const csvContent = csvRows.join('\n');
625
- const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
626
- // Export do súboru
627
- const fileName = prompt(msg('Zadejte název souboru:'), 'data');
628
- // Ak používateľ stlačí Cancel, export sa zruší
629
- if (!fileName) {
630
- return;
631
- }
632
- // Stiahnutie CSV súboru
633
- const url = URL.createObjectURL(blob);
634
- const link = document.createElement('a');
635
- link.href = url;
636
- link.download = `${fileName}.csv`;
637
- link.click();
638
- URL.revokeObjectURL(url);
639
- }
640
- async exportDataToExcel() {
641
- await this.loadXLSX(); // Ensure XLSX is loaded
642
- const XLSX = window.XLSX;
643
- const rows = this.getAllRowsIncludingGrouped(this.table.getRowModel().rows); // Získanie všetkých riadkov vrátane skupín
644
- if (!rows || rows.length === 0) {
645
- console.warn('No data to export');
646
- return;
647
- }
648
- // Príprava dát pre Excel
649
- const data = rows.map((row) => {
650
- const formattedRow = {};
651
- this.columns.forEach((col) => {
652
- const columnName = col.headerName || ''; // Dynamický názov stĺpca
653
- const accessor = col.field; // Dynamický kľúč pre hodnoty
654
- if (row.getIsGrouped?.()) {
655
- // Skupinový riadok
656
- if (col.field === row.groupingColumnId) {
657
- // Pridanie názvu skupiny a počtu záznamov
658
- formattedRow[columnName] =
659
- `${row.getValue(accessor)} (${row.subRows.length})`;
660
- }
661
- else {
662
- // Ostatné stĺpce prázdne
663
- formattedRow[columnName] = '';
664
- }
665
- }
666
- else if (accessor) {
667
- // Normálny riadok
668
- formattedRow[columnName] = row.getValue?.(accessor) || '';
669
- }
670
- });
671
- return formattedRow;
672
- });
673
- // Vytvorenie pracovného listu a zošita
674
- const worksheet = XLSX.utils.json_to_sheet(data); // Konverzia dát do Excel formátu
675
- // Automatické prispôsobenie šírky stĺpcov
676
- const colWidths = this.columns.map((col, colIndex) => {
677
- const maxContentLength = Math.max(col.headerName?.length || 10, // Dĺžka názvu stĺpca
678
- ...data.map((row) => row[col.headerName || '']?.toString().length || 0));
679
- return { wch: maxContentLength + 2 }; // Pridanie extra priestoru
680
- });
681
- worksheet['!cols'] = colWidths; // Nastavenie šírky stĺpcov
682
- const workbook = XLSX.utils.book_new(); // Nový Excel zošit
683
- XLSX.utils.book_append_sheet(workbook, worksheet, 'Data'); // Pridanie dát do zošita
684
- // Export do súboru
685
- const fileName = prompt(msg('Zadejte název souboru:'), 'data');
686
- // Ak používateľ stlačí Cancel, export sa zruší
687
- if (!fileName) {
688
- return;
689
- }
690
- XLSX.writeFile(workbook, `${fileName}.xlsx`);
691
- }
692
- getAllRowsIncludingGrouped(rows) {
693
- const allRows = [];
694
- rows.forEach((row) => {
695
- if (row.getIsGrouped?.()) {
696
- allRows.push(row);
697
- if (row.subRows && row.subRows.length > 0) {
698
- allRows.push(...this.getAllRowsIncludingGrouped(row.subRows));
699
- }
700
- }
701
- else {
702
- allRows.push(row);
703
- }
704
- });
705
- return allRows.filter((row, index, self) => index === self.findIndex((r) => r.id === row.id));
706
- }
707
- startScroll(direction) {
708
- const grid = this.tableContainerRef.value;
709
- if (!grid)
710
- return;
711
- const scrollAmount = direction === 'left' ? -15 : 15;
712
- const scroll = () => {
713
- grid.scrollLeft += scrollAmount;
714
- this.updateScrollState();
715
- this.scrollInterval = requestAnimationFrame(scroll);
716
- };
717
- this.scrollInterval = requestAnimationFrame(scroll);
718
- }
719
- stopScroll() {
720
- if (this.scrollInterval) {
721
- cancelAnimationFrame(this.scrollInterval);
722
- this.scrollInterval = null;
723
- }
724
- }
725
- // centralize your “at end” logic
726
- _atScrollEnd(container) {
727
- const thresh = this.scrollEndThreshold ?? 100;
728
- // if not scrollable OR within threshold of bottom
729
- return (container.scrollHeight <= container.clientHeight ||
730
- container.scrollTop + container.clientHeight >= container.scrollHeight - thresh);
731
- }
732
- _maybeTriggerScrollEnd() {
733
- if (this._atScrollEnd(this._container) &&
734
- this.onRowsScrollEnd &&
735
- !this.isLoading &&
736
- !this.scrollToEnd) {
737
- this.scrollToEnd = true;
738
- this.onRowsScrollEnd();
739
- }
740
- }
741
- handleScroll(_event) {
742
- // every scroll, re‑test
743
- this._maybeTriggerScrollEnd();
744
- }
745
- // handleScroll(event: Event) {
746
- // const container = event.target as HTMLElement;
747
- // if (
748
- // container.scrollTop + container.clientHeight >=
749
- // container.scrollHeight - (this.scrollEndThreshold || 100) &&
750
- // this.onRowsScrollEnd &&
751
- // !this.isLoading &&
752
- // !this.scrollToEnd
753
- // ) {
754
- // this.scrollToEnd = true;
755
- // this.onRowsScrollEnd();
756
- // }
757
- // }
758
- handleGetTotalNumber() {
759
- if (this.getTotalNumberFn) {
760
- this.getTotalNumberFn();
761
- }
762
- }
763
- toggleCustomPopover() {
764
- this.isOpen = !this.isOpen;
765
- }
766
- closePopover() {
767
- this.isOpen = false;
768
- }
769
- toggleColumn(field) {
770
- this.columnVisibility = {
771
- ...this.columnVisibility,
772
- [field]: !(this.columnVisibility?.[field] ?? true),
773
- };
774
- this.table.setColumnVisibility(this.columnVisibility);
775
- }
776
- onSettingsChangedCallback(value) {
777
- if (value?.enableSorting !== undefined) {
778
- this.enableSorting = value.enableSorting;
779
- }
780
- if (value?.enableFiltering !== undefined) {
781
- this.enableFiltering = value.enableFiltering;
782
- }
783
- if (value?.columnDefaultSize !== undefined) {
784
- this.columnDefaultSize = value.columnDefaultSize;
785
- }
786
- if (value?.columnGroupedColor !== undefined) {
787
- this.columnGroupedColor = value.columnGroupedColor;
788
- }
789
- if (value?.rowAggregationColor !== undefined) {
790
- this.rowAggregationColor = value.rowAggregationColor;
791
- }
792
- if (value?.enableGrouping !== undefined) {
793
- this.enableGrouping = value.enableGrouping;
794
- }
795
- if (value?.exportData !== undefined) {
796
- this.exportData = value.exportData;
797
- }
798
- if (value?.actionButtonsInMenu !== undefined) {
799
- this.actionButtonsInMenu = value.actionButtonsInMenu;
800
- }
801
- if (value?.hideFooter !== undefined) {
802
- this.hideFooter = value.hideFooter;
803
- }
804
- if (value?.enableColumnPinning !== undefined) {
805
- this.enableColumnPinning = value.enableColumnPinning;
806
- }
807
- this.initTable();
808
- this.requestUpdate();
809
- if (this.onSettingsChanged) {
810
- this.dispatchEvent(new CustomEvent('onSettingsChanged', {
811
- bubbles: true,
812
- composed: true,
813
- detail: value,
814
- }));
815
- this.onSettingsChanged?.(value);
816
- }
412
+ const o = e.map((h) => {
413
+ const m = {};
414
+ return this.columns.forEach((x) => {
415
+ var S, v;
416
+ const C = x.headerName || "", w = x.field;
417
+ (S = h.getIsGrouped) != null && S.call(h) ? x.field === h.groupingColumnId ? m[C] = `${h.getValue(w)} (${h.subRows.length})` : m[C] = "" : w && (m[C] = ((v = h.getValue) == null ? void 0 : v.call(h, w)) || "");
418
+ }), m;
419
+ }), d = t.utils.json_to_sheet(o), s = this.columns.map((h, m) => {
420
+ var C;
421
+ return { wch: Math.max(
422
+ ((C = h.headerName) == null ? void 0 : C.length) || 10,
423
+ ...o.map((w) => {
424
+ var S;
425
+ return ((S = w[h.headerName || ""]) == null ? void 0 : S.toString().length) || 0;
426
+ })
427
+ // Najdlhší obsah v stĺpci
428
+ ) + 2 };
429
+ });
430
+ d["!cols"] = s;
431
+ const p = t.utils.book_new();
432
+ t.utils.book_append_sheet(p, d, "Data");
433
+ const g = prompt(R("Zadejte název souboru:"), "data");
434
+ g && t.writeFile(p, `${g}.xlsx`);
435
+ }
436
+ getAllRowsIncludingGrouped(t) {
437
+ const e = [];
438
+ return t.forEach((o) => {
439
+ var d;
440
+ (d = o.getIsGrouped) != null && d.call(o) ? (e.push(o), o.subRows && o.subRows.length > 0 && e.push(...this.getAllRowsIncludingGrouped(o.subRows))) : e.push(o);
441
+ }), e.filter(
442
+ (o, d, s) => d === s.findIndex((p) => p.id === o.id)
443
+ );
444
+ }
445
+ startScroll(t) {
446
+ const e = this.tableContainerRef.value;
447
+ if (!e) return;
448
+ const o = t === "left" ? -15 : 15, d = () => {
449
+ e.scrollLeft += o, this.updateScrollState(), this.scrollInterval = requestAnimationFrame(d);
450
+ };
451
+ this.scrollInterval = requestAnimationFrame(d);
452
+ }
453
+ stopScroll() {
454
+ this.scrollInterval && (cancelAnimationFrame(this.scrollInterval), this.scrollInterval = null);
455
+ }
456
+ // centralize your “at end” logic
457
+ _atScrollEnd(t) {
458
+ const e = this.scrollEndThreshold ?? 100;
459
+ return t.scrollHeight <= t.clientHeight || t.scrollTop + t.clientHeight >= t.scrollHeight - e;
460
+ }
461
+ _maybeTriggerScrollEnd() {
462
+ this._atScrollEnd(this._container) && this.onRowsScrollEnd && !this.isLoading && !this.scrollToEnd && (this.scrollToEnd = !0, this.onRowsScrollEnd());
463
+ }
464
+ handleScroll(t) {
465
+ this._maybeTriggerScrollEnd();
466
+ }
467
+ // handleScroll(event: Event) {
468
+ // const container = event.target as HTMLElement;
469
+ // if (
470
+ // container.scrollTop + container.clientHeight >=
471
+ // container.scrollHeight - (this.scrollEndThreshold || 100) &&
472
+ // this.onRowsScrollEnd &&
473
+ // !this.isLoading &&
474
+ // !this.scrollToEnd
475
+ // ) {
476
+ // this.scrollToEnd = true;
477
+ // this.onRowsScrollEnd();
478
+ // }
479
+ // }
480
+ handleGetTotalNumber() {
481
+ this.getTotalNumberFn && this.getTotalNumberFn();
482
+ }
483
+ toggleCustomPopover() {
484
+ this.isOpen = !this.isOpen;
485
+ }
486
+ closePopover() {
487
+ this.isOpen = !1;
488
+ }
489
+ toggleColumn(t) {
490
+ var e;
491
+ this.columnVisibility = {
492
+ ...this.columnVisibility,
493
+ [t]: !(((e = this.columnVisibility) == null ? void 0 : e[t]) ?? !0)
494
+ }, this.table.setColumnVisibility(this.columnVisibility);
495
+ }
496
+ onSettingsChangedCallback(t) {
497
+ var e;
498
+ (t == null ? void 0 : t.enableSorting) !== void 0 && (this.enableSorting = t.enableSorting), (t == null ? void 0 : t.enableFiltering) !== void 0 && (this.enableFiltering = t.enableFiltering), (t == null ? void 0 : t.columnDefaultSize) !== void 0 && (this.columnDefaultSize = t.columnDefaultSize), (t == null ? void 0 : t.columnGroupedColor) !== void 0 && (this.columnGroupedColor = t.columnGroupedColor), (t == null ? void 0 : t.rowAggregationColor) !== void 0 && (this.rowAggregationColor = t.rowAggregationColor), (t == null ? void 0 : t.enableGrouping) !== void 0 && (this.enableGrouping = t.enableGrouping), (t == null ? void 0 : t.exportData) !== void 0 && (this.exportData = t.exportData), (t == null ? void 0 : t.actionButtonsInMenu) !== void 0 && (this.actionButtonsInMenu = t.actionButtonsInMenu), (t == null ? void 0 : t.hideFooter) !== void 0 && (this.hideFooter = t.hideFooter), (t == null ? void 0 : t.enableColumnPinning) !== void 0 && (this.enableColumnPinning = t.enableColumnPinning), this.initTable(), this.requestUpdate(), this.onSettingsChanged && (this.dispatchEvent(
499
+ new CustomEvent("onSettingsChanged", {
500
+ bubbles: !0,
501
+ composed: !0,
502
+ detail: t
503
+ })
504
+ ), (e = this.onSettingsChanged) == null || e.call(this, t));
505
+ }
506
+ _onRowMouseDown(t, e) {
507
+ if (this.handleMouseDown(t, e), t.shiftKey) {
508
+ t.currentTarget && t.currentTarget.classList.add("no-select");
509
+ const o = window.getSelection();
510
+ o && o.removeAllRanges();
817
511
  }
818
- _onRowMouseDown(event, row) {
819
- this.handleMouseDown(event, row);
820
- // do not highlight cell text if multirow selection is enabled and shift key is pressed
821
- if (event.shiftKey) {
822
- if (event.currentTarget) {
823
- event.currentTarget.classList.add('no-select');
824
- }
825
- // Optionally, clear existing selection:
826
- const selection = window.getSelection();
827
- if (selection) {
828
- selection.removeAllRanges();
829
- }
830
- }
831
- }
832
- _onRowMouseUp(event) {
833
- event.currentTarget.classList.remove('no-select');
834
- }
835
- _rowUnselectAll(table) {
836
- table.resetRowSelection();
837
- this.focusedRowIndex = 0;
838
- }
839
- render() {
840
- const filteredColumns = this.columns?.filter((col) => {
841
- const name = col.headerName?.toLowerCase() || col.field.toLowerCase();
842
- return name.includes(this.filterText);
843
- }) || [];
844
- // checbox column for multiple selection
845
- const checkboxColumn = this.enableMultiRowSelection
846
- ? [
847
- {
848
- id: 'checkboxForMultiselect',
849
- type: 'checkbox',
850
- minSize: 30,
851
- size: 30,
852
- enablePinning: false,
853
- enableResizing: false,
854
- header: ({ table }) => html `
512
+ }
513
+ _onRowMouseUp(t) {
514
+ t.currentTarget.classList.remove("no-select");
515
+ }
516
+ _rowUnselectAll(t) {
517
+ t.resetRowSelection(), this.focusedRowIndex = 0;
518
+ }
519
+ render() {
520
+ var C, w, S, v, I;
521
+ const t = ((C = this.columns) == null ? void 0 : C.filter((i) => {
522
+ var b;
523
+ return (((b = i.headerName) == null ? void 0 : b.toLowerCase()) || i.field.toLowerCase()).includes(this.filterText);
524
+ })) || [], e = this.enableMultiRowSelection ? [
525
+ {
526
+ id: "checkboxForMultiselect",
527
+ type: "checkbox",
528
+ minSize: 30,
529
+ size: 30,
530
+ enablePinning: !1,
531
+ enableResizing: !1,
532
+ header: ({ table: i }) => u`
855
533
  <div style="position: absolute; left: 0; bottom: 0; margin: 0.65rem 0;">
856
534
  <lit-checkbox
857
535
  type="checkbox"
858
- .onChange="${() => table.getIsSomeRowsSelected()
859
- ? this._rowUnselectAll(table)
860
- : table.toggleAllRowsSelected()}"
861
- .checked="${table.getIsAllRowsSelected()}"
862
- .indeterminate="${table.getIsSomeRowsSelected()}"
536
+ .onChange="${() => i.getIsSomeRowsSelected() ? this._rowUnselectAll(i) : i.toggleAllRowsSelected()}"
537
+ .checked="${i.getIsAllRowsSelected()}"
538
+ .indeterminate="${i.getIsSomeRowsSelected()}"
863
539
  ></lit-checkbox>
864
540
  </div>
865
541
  `,
866
- cell: ({ table, row }) => html `
542
+ cell: ({ table: i, row: r }) => u`
867
543
  <div
868
544
  style="padding: 0.1875rem 0px 0px 0px"
869
- @click=${(e) => e.stopPropagation()}
545
+ @click=${(b) => b.stopPropagation()}
870
546
  >
871
547
  <lit-checkbox
872
548
  type="checkbox"
873
- .onChange="${(e) => {
874
- e.stopPropagation();
875
- row.toggleSelected(e.target.checked);
876
- }}"
877
- .checked="${row.getIsSelected()}"
878
- ?disabled="${!row.getCanSelect()}"
879
- .indeterminate="${row.getIsSomeSelected()}"
549
+ .onChange="${(b) => {
550
+ b.stopPropagation(), r.toggleSelected(b.target.checked);
551
+ }}"
552
+ .checked="${r.getIsSelected()}"
553
+ ?disabled="${!r.getCanSelect()}"
554
+ .indeterminate="${r.getIsSomeSelected()}"
880
555
  ></lit-checkbox>
881
556
  </div>
882
- `,
883
- },
884
- ]
885
- : [];
886
- if (getLocale() !== this.userLang) {
887
- setLocale(this.userLang || 'cs');
888
- }
889
- this.table = this.tableController.table({
890
- data: this.rows || [],
891
- columns: [...checkboxColumn, ...this.getTanstackColumns(this.getColumns)],
892
- columnResizeMode: 'onChange',
893
- columnResizeDirection: 'ltr',
894
- defaultColumn: {
895
- size: this.columnDefaultSize || undefined, //starting column size
896
- minSize: this.columnDefaultMinSize || 100, //enforced during column resizing
897
- maxSize: this.columnDefaultMaxSize || 500, //enforced during column resizing
898
- },
899
- initialState: {
900
- // columnFilters: [...(this.initialFiltering || [])],
901
- // sorting: [...(this.initialSorting || [])],
902
- // expanded: { ...this.initialRowExpanded },
903
- grouping: [...(this.initialGroups || [])],
904
- columnVisibility: { ...this.initialColumnVisibility },
905
- columnPinning: {
906
- left: [...(this.leftPinnedColumns || []), 'checkboxForMultiselect'],
907
- right: ['actions'],
908
- },
909
- },
910
- state: {
911
- columnVisibility: this.columnVisibility,
912
- // columnFilters: this.server ? this.filtersServer : this.filters,
913
- columnFilters: this.initialFiltering,
914
- sorting: this.initialSorting,
915
- rowSelection: this.rowsSelected,
916
- columnSizing: this.columnSizing,
917
- expanded: this.initialRowExpanded,
918
- columnOrder: this.columnOrder,
919
- },
920
- filterFns: {
921
- dateRangeFilterFn: dateRangeFilterFn,
922
- dateFilterFn: dateFilterFn,
923
- multiselectFilterFn: multiselectFilterFn,
924
- },
925
- // debugTable: true,
926
- enableRowSelection: this.enableRowSelection,
927
- enableMultiRowSelection: this.enableMultiRowSelection,
928
- enableColumnPinning: this.enableColumnPinning,
929
- enableGrouping: this.enableGrouping,
930
- manualFiltering: this.server,
931
- manualSorting: this.server,
932
- enableSorting: this.enableSorting,
933
- getRowId: (row, index) => this.getRowId ? this.getRowId(row, index) : index.toString(),
934
- // groupedColumnMode: 'reorder',
935
- getCoreRowModel: getCoreRowModel(),
936
- getSortedRowModel: getSortedRowModel(),
937
- getFilteredRowModel: getFilteredRowModel(),
938
- getFacetedRowModel: getFacetedRowModel(),
939
- getGroupedRowModel: getGroupedRowModel(),
940
- getExpandedRowModel: getExpandedRowModel(),
941
- getFacetedUniqueValues: getFacetedUniqueValues(),
942
- onColumnFiltersChange: (updaterOrValue) => {
943
- this.currentScrollTop = 0;
944
- const scrollElement = this.tableContainerRef.value;
945
- if (scrollElement) {
946
- scrollElement.scrollTop = 0;
947
- }
948
- const filtersState = typeof updaterOrValue === 'function'
949
- ? updaterOrValue(this.table.getState().columnFilters)
950
- : updaterOrValue;
951
- this.initialFiltering = filtersState;
952
- if (this.onColumnFiltersChanged) {
953
- this.onColumnFiltersChanged(this.table, filtersState);
954
- }
955
- },
956
- onSortingChange: (updaterOrValue) => {
957
- this.currentScrollTop = 0;
958
- const scrollElement = this.tableContainerRef.value;
959
- if (scrollElement) {
960
- scrollElement.scrollTop = 0;
961
- }
962
- const sortingState = typeof updaterOrValue === 'function'
963
- ? updaterOrValue(this.table.getState().sorting)
964
- : updaterOrValue;
965
- this.initialSorting = sortingState;
966
- if (this.onColumnSortChanged) {
967
- this.onColumnSortChanged(this.table, sortingState);
968
- }
969
- },
970
- onRowSelectionChange: (updaterOrValue) => {
971
- const rowSelection = typeof updaterOrValue === 'function'
972
- ? updaterOrValue(this.rowsSelected)
973
- : updaterOrValue;
974
- this.rowsSelected = rowSelection;
975
- if (this.onRowSelectionChanged) {
976
- this.onRowSelectionChanged(this.table, rowSelection);
977
- }
978
- },
979
- onColumnSizingChange: (updaterOrValue) => {
980
- const columnSizingState = typeof updaterOrValue === 'function'
981
- ? updaterOrValue(this.table.getState().columnSizing)
982
- : updaterOrValue;
983
- this.columnSizing = columnSizingState;
984
- if (this.onColumnResize) {
985
- this.onColumnResize(this.table, columnSizingState);
986
- }
987
- },
988
- onExpandedChange: (updaterOrValue) => {
989
- const rowExpanded = typeof updaterOrValue === 'function'
990
- ? updaterOrValue(this.initialRowExpanded)
991
- : updaterOrValue;
992
- this.initialRowExpanded = _.isEmpty(rowExpanded)
993
- ? this.initialRowExpanded
994
- : rowExpanded;
995
- this.requestUpdate();
996
- // if (this.onColumnResize) {
997
- // this.onColumnResize(this.table, columnSizingState);
998
- // }
999
- },
1000
- onColumnOrderChange: (updaterOrValue) => {
1001
- const newOrder = typeof updaterOrValue === 'function'
1002
- ? updaterOrValue(this.columnOrder)
1003
- : updaterOrValue;
1004
- this.columnOrder = newOrder;
1005
- this.render();
1006
- if (this.onColumnOrderChanged) {
1007
- this.onColumnOrderChanged(this.table, newOrder);
1008
- }
1009
- },
1010
- onColumnVisibilityChange: (updaterOrValue) => {
1011
- const columnVisibility = typeof updaterOrValue === 'function'
1012
- ? updaterOrValue(this.table.getState().columnVisibility)
1013
- : updaterOrValue;
1014
- this.columnVisibility = columnVisibility;
1015
- if (this.onColumnVisibilityChanged) {
1016
- this.onColumnVisibilityChanged(this.table, columnVisibility);
1017
- }
1018
- },
1019
- });
1020
- this.rowsCount = this.table.getRowModel().rows.length;
1021
- // Ak virtualizácia nie je povolená, použijeme celý zoznam riadkov alebo stĺpcov
1022
- const rowVirtualizer = this.enableRowVirtualization
1023
- ? this.rowVirtualizerController?.getVirtualizer()
1024
- : null;
1025
- const columnVirtualizer = this.enableColumnVirtualization
1026
- ? this.columnVirtualizerController?.getVirtualizer()
1027
- : null;
1028
- const virtualColumns = columnVirtualizer?.getVirtualItems() ?? [];
1029
- // Get table rows (either virtualized or all)
1030
- const { rows } = this.table.getRowModel();
1031
- const rowItems = rowVirtualizer
1032
- ? rowVirtualizer.getVirtualItems()
1033
- : rows.map((_, index) => ({
1034
- key: index,
1035
- index,
1036
- start: index * this.getRowHeight(),
1037
- end: (index + 1) * this.getRowHeight(),
1038
- size: this.getRowHeight(),
1039
- lane: 0,
1040
- }));
1041
- // Calculate padding for virtualization
1042
- let virtualPaddingLeft;
1043
- let virtualPaddingRight;
1044
- if (columnVirtualizer && virtualColumns?.length && this.enableColumnVirtualization) {
1045
- virtualPaddingLeft = virtualColumns[0]?.start ?? 0;
1046
- virtualPaddingRight =
1047
- columnVirtualizer.getTotalSize() -
1048
- (virtualColumns[virtualColumns.length - 1]?.end ?? 0);
557
+ `
558
+ }
559
+ ] : [];
560
+ ft() !== this.userLang && bt(this.userLang || "cs"), this.table = this.tableController.table({
561
+ data: this.rows || [],
562
+ columns: [...e, ...this.getTanstackColumns(this.getColumns)],
563
+ columnResizeMode: "onChange",
564
+ columnResizeDirection: "ltr",
565
+ defaultColumn: {
566
+ size: this.columnDefaultSize || void 0,
567
+ //starting column size
568
+ minSize: this.columnDefaultMinSize || 100,
569
+ //enforced during column resizing
570
+ maxSize: this.columnDefaultMaxSize || 500
571
+ //enforced during column resizing
572
+ },
573
+ initialState: {
574
+ // columnFilters: [...(this.initialFiltering || [])],
575
+ // sorting: [...(this.initialSorting || [])],
576
+ // expanded: { ...this.initialRowExpanded },
577
+ grouping: [...this.initialGroups || []],
578
+ columnVisibility: { ...this.initialColumnVisibility },
579
+ columnPinning: {
580
+ left: [...this.leftPinnedColumns || [], "checkboxForMultiselect"],
581
+ right: ["actions"]
1049
582
  }
1050
- let isMobile = window.matchMedia('(max-width: 600px)').matches;
1051
- return html `
583
+ },
584
+ state: {
585
+ columnVisibility: this.columnVisibility,
586
+ // columnFilters: this.server ? this.filtersServer : this.filters,
587
+ columnFilters: this.initialFiltering,
588
+ sorting: this.initialSorting,
589
+ rowSelection: this.rowsSelected,
590
+ columnSizing: this.columnSizing,
591
+ expanded: this.initialRowExpanded,
592
+ columnOrder: this.columnOrder
593
+ },
594
+ filterFns: {
595
+ dateRangeFilterFn: Y,
596
+ dateFilterFn: Z,
597
+ multiselectFilterFn: J
598
+ },
599
+ // debugTable: true,
600
+ enableRowSelection: this.enableRowSelection,
601
+ enableMultiRowSelection: this.enableMultiRowSelection,
602
+ enableColumnPinning: this.enableColumnPinning,
603
+ enableGrouping: this.enableGrouping,
604
+ manualFiltering: this.server,
605
+ manualSorting: this.server,
606
+ enableSorting: this.enableSorting,
607
+ getRowId: (i, r) => this.getRowId ? this.getRowId(i, r) : r.toString(),
608
+ // groupedColumnMode: 'reorder',
609
+ getCoreRowModel: pt(),
610
+ getSortedRowModel: ht(),
611
+ getFilteredRowModel: ct(),
612
+ getFacetedRowModel: dt(),
613
+ getGroupedRowModel: at(),
614
+ getExpandedRowModel: rt(),
615
+ getFacetedUniqueValues: st(),
616
+ onColumnFiltersChange: (i) => {
617
+ this.currentScrollTop = 0;
618
+ const r = this.tableContainerRef.value;
619
+ r && (r.scrollTop = 0);
620
+ const b = typeof i == "function" ? i(this.table.getState().columnFilters) : i;
621
+ this.initialFiltering = b, this.onColumnFiltersChanged && this.onColumnFiltersChanged(this.table, b);
622
+ },
623
+ onSortingChange: (i) => {
624
+ this.currentScrollTop = 0;
625
+ const r = this.tableContainerRef.value;
626
+ r && (r.scrollTop = 0);
627
+ const b = typeof i == "function" ? i(this.table.getState().sorting) : i;
628
+ this.initialSorting = b, this.onColumnSortChanged && this.onColumnSortChanged(this.table, b);
629
+ },
630
+ onRowSelectionChange: (i) => {
631
+ const r = typeof i == "function" ? i(this.rowsSelected) : i;
632
+ this.rowsSelected = r, this.onRowSelectionChanged && this.onRowSelectionChanged(this.table, r);
633
+ },
634
+ onColumnSizingChange: (i) => {
635
+ const r = typeof i == "function" ? i(this.table.getState().columnSizing) : i;
636
+ this.columnSizing = r, this.onColumnResize && this.onColumnResize(this.table, r);
637
+ },
638
+ onExpandedChange: (i) => {
639
+ const r = typeof i == "function" ? i(this.initialRowExpanded) : i;
640
+ this.initialRowExpanded = it.isEmpty(r) ? this.initialRowExpanded : r, this.requestUpdate();
641
+ },
642
+ onColumnOrderChange: (i) => {
643
+ const r = typeof i == "function" ? i(this.columnOrder) : i;
644
+ this.columnOrder = r, this.render(), this.onColumnOrderChanged && this.onColumnOrderChanged(this.table, r);
645
+ },
646
+ onColumnVisibilityChange: (i) => {
647
+ const r = typeof i == "function" ? i(this.table.getState().columnVisibility) : i;
648
+ this.columnVisibility = r, this.onColumnVisibilityChanged && this.onColumnVisibilityChanged(this.table, r);
649
+ }
650
+ }), this.rowsCount = this.table.getRowModel().rows.length;
651
+ const o = this.enableRowVirtualization ? (w = this.rowVirtualizerController) == null ? void 0 : w.getVirtualizer() : null, d = this.enableColumnVirtualization ? (S = this.columnVirtualizerController) == null ? void 0 : S.getVirtualizer() : null, s = (d == null ? void 0 : d.getVirtualItems()) ?? [], { rows: p } = this.table.getRowModel(), g = o ? o.getVirtualItems() : p.map((i, r) => ({
652
+ key: r,
653
+ index: r,
654
+ start: r * this.getRowHeight(),
655
+ end: (r + 1) * this.getRowHeight(),
656
+ size: this.getRowHeight(),
657
+ lane: 0
658
+ }));
659
+ let h, m;
660
+ d && (s != null && s.length) && this.enableColumnVirtualization && (h = ((v = s[0]) == null ? void 0 : v.start) ?? 0, m = d.getTotalSize() - (((I = s[s.length - 1]) == null ? void 0 : I.end) ?? 0));
661
+ let x = window.matchMedia("(max-width: 600px)").matches;
662
+ return u`
1052
663
  <div class="data-grid__wrapper">
1053
- ${this.isScrollable && !isMobile
1054
- ? html `
664
+ ${this.isScrollable && !x ? u`
1055
665
  <lit-icon-button
1056
666
  class="scroll-button left"
1057
667
  .disabled="${this.disableScrollLeft}"
1058
- @pointerdown="${() => this.startScroll('left')}"
668
+ @pointerdown="${() => this.startScroll("left")}"
1059
669
  @pointerup="${this.stopScroll}"
1060
670
  @pointerleave="${this.stopScroll}"
1061
671
  size="small"
@@ -1066,7 +676,7 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1066
676
  <lit-icon-button
1067
677
  class="scroll-button right"
1068
678
  .disabled="${this.disableScrollRight}"
1069
- @pointerdown="${() => this.startScroll('right')}"
679
+ @pointerdown="${() => this.startScroll("right")}"
1070
680
  @pointerup="${this.stopScroll}"
1071
681
  @pointerleave="${this.stopScroll}"
1072
682
  size="small"
@@ -1074,233 +684,175 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1074
684
  icon="arrowRight"
1075
685
  >
1076
686
  </lit-icon-button>
1077
- `
1078
- : null}
687
+ ` : null}
1079
688
 
1080
- <div class="grid" ${ref(this.tableContainerRef)}>
689
+ <div class="grid" ${X(this.tableContainerRef)}>
1081
690
  <table
1082
691
  part="dataGrid-table"
1083
692
  style="width: ${this.table.getCenterTotalSize()}px"
1084
693
  >
1085
694
  <thead
1086
695
  part="dataGrid-header"
1087
- style="height: ${this.enableFiltering ? '4rem' : '1.625rem'};"
696
+ style="height: ${this.enableFiltering ? "4rem" : "1.625rem"};"
1088
697
  >
1089
- ${repeat(this.table.getHeaderGroups(), (headerGroup) => headerGroup.id, (headerGroup) => {
1090
- const headerColumns = this.enableColumnVirtualization
1091
- ? virtualColumns.map((vc) => headerGroup.headers[vc.index])
1092
- : headerGroup.headers;
1093
- const newHeaderColumns = this.enableColumnVirtualization
1094
- ? [
1095
- ...headerGroup.headers.filter((hc) => hc.column.getIsPinned()),
1096
- ...headerColumns.filter((hc) => !hc.column.getIsPinned()),
1097
- ]
1098
- : headerColumns;
1099
- return html `
1100
- <tr class="head" data-index="${headerGroup.id}">
1101
- ${virtualPaddingLeft
1102
- ? html `
698
+ ${V(
699
+ this.table.getHeaderGroups(),
700
+ (i) => i.id,
701
+ (i) => {
702
+ const r = this.enableColumnVirtualization ? s.map((c) => i.headers[c.index]) : i.headers, b = this.enableColumnVirtualization ? [
703
+ ...i.headers.filter(
704
+ (c) => c.column.getIsPinned()
705
+ ),
706
+ ...r.filter(
707
+ (c) => !c.column.getIsPinned()
708
+ )
709
+ ] : r;
710
+ return u`
711
+ <tr class="head" data-index="${i.id}">
712
+ ${h ? u`
1103
713
  <th
1104
- style=" display: flex; width: ${virtualPaddingLeft}px;"
714
+ style=" display: flex; width: ${h}px;"
1105
715
  ></th>
1106
- `
1107
- : ''}
1108
- ${repeat(newHeaderColumns, (header) => header.id, (header, index) => {
1109
- const column = header.column;
1110
- const style = {
1111
- visibility: column.columnDef.type === 'actions'
1112
- ? 'hidden'
1113
- : 'visible',
1114
- ...this.getCommonPinningStyles(header.column),
1115
- width: `${column?.getSize()}px`,
1116
- flexGrow: `${column.columnDef.size === undefined ? 1 : 'unset'}`,
1117
- };
1118
- const filterVariant = column.columnDef.meta?.filterVariant;
1119
- const filterOperators = column?.columnDef?.meta?.filterOperators ||
1120
- getOperatorsByColumnType(filterVariant);
1121
- const value = column?.getFilterValue()?.value ||
1122
- column?.getFilterValue() ||
1123
- '';
1124
- const operator = column?.getFilterValue()?.operator ||
1125
- filterOperators[0]?.value;
1126
- let valueOptions = [];
1127
- if (filterVariant === 'select' ||
1128
- filterVariant === 'multiselect') {
1129
- if (column?.columnDef?.meta.valueOptions ||
1130
- this.server) {
1131
- valueOptions =
1132
- column?.columnDef?.meta
1133
- .valueOptions || [];
1134
- }
1135
- else {
1136
- const sortedUniqueValues = Array.from(column
1137
- ?.getFacetedUniqueValues()
1138
- .keys())
1139
- .sort()
1140
- .slice(0, 5000);
1141
- valueOptions = sortedUniqueValues.map((value) => ({
1142
- value,
1143
- label: value,
1144
- }));
1145
- }
1146
- }
1147
- return html `
716
+ ` : ""}
717
+ ${V(
718
+ b,
719
+ (c) => c.id,
720
+ (c, D) => {
721
+ var G, A, O, _, B, N, H, U;
722
+ const y = c.column, F = {
723
+ visibility: y.columnDef.type === "actions" ? "hidden" : "visible",
724
+ ...this.getCommonPinningStyles(
725
+ c.column
726
+ ),
727
+ width: `${y == null ? void 0 : y.getSize()}px`,
728
+ flexGrow: `${y.columnDef.size === void 0 ? 1 : "unset"}`
729
+ }, f = (G = y.columnDef.meta) == null ? void 0 : G.filterVariant, k = ((O = (A = y == null ? void 0 : y.columnDef) == null ? void 0 : A.meta) == null ? void 0 : O.filterOperators) || yt(f), P = ((_ = y == null ? void 0 : y.getFilterValue()) == null ? void 0 : _.value) || (y == null ? void 0 : y.getFilterValue()) || "", M = ((B = y == null ? void 0 : y.getFilterValue()) == null ? void 0 : B.operator) || ((N = k[0]) == null ? void 0 : N.value);
730
+ return (f === "select" || f === "multiselect") && ((H = y == null ? void 0 : y.columnDef) != null && H.meta.valueOptions || this.server ? (U = y == null ? void 0 : y.columnDef) != null && U.meta.valueOptions : Array.from(
731
+ y == null ? void 0 : y.getFacetedUniqueValues().keys()
732
+ ).sort().slice(0, 5e3).map(
733
+ (q) => ({
734
+ value: q,
735
+ label: q
736
+ })
737
+ )), u`
1148
738
  <th
1149
739
  class="head"
1150
- style="${styleMap(style)}"
1151
- colspan="${header.colSpan}"
1152
- data-index="${header.id}"
740
+ style="${E(F)}"
741
+ colspan="${c.colSpan}"
742
+ data-index="${c.id}"
1153
743
  >
1154
- ${header.isPlaceholder
1155
- ? ''
1156
- : html `
744
+ ${c.isPlaceholder ? "" : u`
1157
745
  <div
1158
- class="resizer ${this
1159
- .table.options
1160
- .columnResizeDirection} ${header.column.getIsResizing()
1161
- ? 'is-resizing'
1162
- : ''}"
1163
- style="transform: ${this
1164
- .table.options
1165
- .columnResizeMode ===
1166
- 'onEnd' &&
1167
- header.column.getIsResizing()
1168
- ? `translateX(${(this.table
1169
- .options
1170
- .columnResizeDirection ===
1171
- 'rtl'
1172
- ? -1
1173
- : 1) *
1174
- (this.table.getState()
1175
- .columnSizingInfo
1176
- .deltaOffset ??
1177
- 0)}px)`
1178
- : ''}"
746
+ class="resizer ${this.table.options.columnResizeDirection} ${c.column.getIsResizing() ? "is-resizing" : ""}"
747
+ style="transform: ${this.table.options.columnResizeMode === "onEnd" && c.column.getIsResizing() ? `translateX(${(this.table.options.columnResizeDirection === "rtl" ? -1 : 1) * (this.table.getState().columnSizingInfo.deltaOffset ?? 0)}px)` : ""}"
1179
748
  >
1180
749
  <div class="header">
1181
- ${header.column.getIsFiltered()
1182
- ? html `
750
+ ${c.column.getIsFiltered() ? u`
1183
751
  <div
1184
752
  class="filterCirclePoint"
1185
753
  ></div>
1186
- `
1187
- : ''}
754
+ ` : ""}
1188
755
  <div
1189
756
  class="column-header"
1190
- @click=${header.column.getToggleSortingHandler()}
757
+ @click=${c.column.getToggleSortingHandler()}
1191
758
  >
1192
759
  <lit-overflow-tooltip
1193
- label="${header
1194
- .column
1195
- .columnDef
1196
- .header}"
760
+ label="${c.column.columnDef.header}"
1197
761
  >
1198
- ${flexRender(header
1199
- .column
1200
- .columnDef
1201
- .header, header.getContext())}
762
+ ${L(
763
+ c.column.columnDef.header,
764
+ c.getContext()
765
+ )}
1202
766
  </lit-overflow-tooltip>
1203
767
  </div>
1204
768
 
1205
769
  <div
1206
770
  class="icons-group-pin"
1207
771
  >
1208
- ${header.column.getCanSort()
1209
- ? header.column.getIsSorted()
1210
- ? header.column.getIsSorted() ===
1211
- 'asc'
1212
- ? html `<slot
772
+ ${c.column.getCanSort() ? c.column.getIsSorted() ? c.column.getIsSorted() === "asc" ? u`<slot
1213
773
  name="iconSortUp"
1214
774
  ><lit-icon
1215
775
  class="cursor"
1216
- @click=${header.column.getToggleSortingHandler()}
776
+ @click=${c.column.getToggleSortingHandler()}
1217
777
  size="0.75rem"
1218
778
  icon="chevronUpFilled"
1219
779
  ></lit-icon
1220
- ></slot>`
1221
- : html `<slot
780
+ ></slot>` : u`<slot
1222
781
  name="iconSortDown"
1223
782
  >
1224
783
  <lit-icon
1225
784
  class="cursor"
1226
- @click=${header.column.getToggleSortingHandler()}
785
+ @click=${c.column.getToggleSortingHandler()}
1227
786
  size="0.75rem"
1228
787
  icon="chevronDownFilled"
1229
788
  ></lit-icon>
1230
- </slot>`
1231
- : html `<div
789
+ </slot>` : u`<div
1232
790
  class="sortFilled"
1233
791
  >
1234
792
  <lit-icon
1235
793
  class="cursor"
1236
- @click=${header.column.getToggleSortingHandler()}
794
+ @click=${c.column.getToggleSortingHandler()}
1237
795
  size="0.75rem"
1238
796
  icon="sortFilled"
1239
797
  ></lit-icon>
1240
- </div>`
1241
- : html `<div></div>`}
798
+ </div>` : u`<div></div>`}
1242
799
  <div class="flex">
1243
- ${!this
1244
- .actionButtonsInMenu
1245
- ? html `
1246
- ${header.column.getCanPin()
1247
- ? html `
800
+ ${this.actionButtonsInMenu ? u`
801
+ <lit-data-grid-action-buttons-popover
802
+ .group="${c.column.getToggleGroupingHandler()}"
803
+ .pin="${() => this.togglePin(
804
+ c
805
+ )}"
806
+ .header="${c}"
807
+ .table="${this.table}"
808
+ ></lit-data-grid-action-buttons-popover>
809
+ ` : u`
810
+ ${c.column.getCanPin() ? u`
1248
811
  <lit-icon-button
1249
- @click="${() => this.togglePin(header)}"
812
+ @click="${() => this.togglePin(
813
+ c
814
+ )}"
1250
815
  size="small"
1251
816
  variant="text"
1252
817
  icon="pin"
1253
- .active="${header.column.getIsPinned()}"
818
+ .active="${c.column.getIsPinned()}"
1254
819
  >
1255
820
  </lit-icon-button>
1256
821
  <simple-tooltip
1257
822
  placement="bottom"
1258
- >${header.column.getIsPinned()
1259
- ? msg('Zrušit připnutí sloupce')
1260
- : msg('Připnout sloupec vlevo')}
823
+ >${c.column.getIsPinned() ? R(
824
+ "Zrušit připnutí sloupce"
825
+ ) : R(
826
+ "Připnout sloupec vlevo"
827
+ )}
1261
828
  </simple-tooltip>
1262
- `
1263
- : ''}
1264
- ${header.column.getCanGroup()
1265
- ? html `
829
+ ` : ""}
830
+ ${c.column.getCanGroup() ? u`
1266
831
  <lit-icon-button
1267
- @click="${header.column.getToggleGroupingHandler()}"
832
+ @click="${c.column.getToggleGroupingHandler()}"
1268
833
  size="small"
1269
834
  variant="text"
1270
- .active="${header.column.getIsGrouped()}"
835
+ .active="${c.column.getIsGrouped()}"
1271
836
  icon="agregation"
1272
837
  >
1273
838
  </lit-icon-button>
1274
839
  <simple-tooltip
1275
840
  placement="bottom"
1276
841
  >
1277
- ${header.column.getIsGrouped()
1278
- ? msg('Zrušit seskupení')
1279
- : msg('Seskupit sloupec')}</simple-tooltip
842
+ ${c.column.getIsGrouped() ? R(
843
+ "Zrušit seskupení"
844
+ ) : R(
845
+ "Seskupit sloupec"
846
+ )}</simple-tooltip
1280
847
  >
1281
- `
1282
- : ''}
1283
- `
1284
- : html `
1285
- <lit-data-grid-action-buttons-popover
1286
- .group="${header.column.getToggleGroupingHandler()}"
1287
- .pin="${() => this.togglePin(header)}"
1288
- .header="${header}"
1289
- .table="${this
1290
- .table}"
1291
- ></lit-data-grid-action-buttons-popover>
848
+ ` : ""}
1292
849
  `}
1293
- ${this
1294
- .enableColumnOrdering &&
1295
- !header.column.getIsPinned() &&
1296
- !header.column.getIsGrouped() &&
1297
- ![
1298
- 'checkbox',
1299
- 'actions',
1300
- ].includes(header
1301
- .column
1302
- .id)
1303
- ? html `<div
850
+ ${this.enableColumnOrdering && !c.column.getIsPinned() && !c.column.getIsGrouped() && ![
851
+ "checkbox",
852
+ "actions"
853
+ ].includes(
854
+ c.column.id
855
+ ) ? u`<div
1304
856
  class="drag-handle"
1305
857
  >
1306
858
  <lit-icon
@@ -1310,296 +862,235 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1310
862
  </div>
1311
863
  <simple-tooltip
1312
864
  placement="bottom"
1313
- >${msg('Přesunout sloupec')}</simple-tooltip
1314
- > `
1315
- : null}
865
+ >${R(
866
+ "Přesunout sloupec"
867
+ )}</simple-tooltip
868
+ > ` : null}
1316
869
  </div>
1317
870
  </div>
1318
871
  </div>
1319
872
  </div>
1320
- ${header.column.getCanFilter()
1321
- ? html `
873
+ ${c.column.getCanFilter() ? u`
1322
874
  <div>
1323
875
  <filter-inputs
1324
- .minFilterCharacters=${this
1325
- .minFilterCharacters}
1326
- .column=${header.column}
1327
- .dateFormat=${this
1328
- .dateFormat}
1329
- .userLang=${this
1330
- .userLang}
1331
- @filter-tab=${this
1332
- .handleFilterTabNavigation}
1333
- .server=${this
1334
- .server}
1335
- .value="${value}"
1336
- .operator="${operator}"
1337
- .filterVariant="${filterVariant}"
1338
- .filterOperators="${filterOperators}"
876
+ .minFilterCharacters=${this.minFilterCharacters}
877
+ .column=${c.column}
878
+ .dateFormat=${this.dateFormat}
879
+ .userLang=${this.userLang}
880
+ @filter-tab=${this.handleFilterTabNavigation}
881
+ .server=${this.server}
882
+ .value="${P}"
883
+ .operator="${M}"
884
+ .filterVariant="${f}"
885
+ .filterOperators="${k}"
1339
886
  ></filter-inputs>
1340
887
  </div>
1341
- `
1342
- : null}
888
+ ` : null}
1343
889
  `}
1344
890
  <div
1345
891
  class="resize-handle"
1346
- @dblclick="${(event) => {
1347
- if (event.target.classList.contains('resize-handle')) {
1348
- header.column.resetSize();
1349
- }
1350
- }}"
1351
- @mousedown="${(event) => {
1352
- event.preventDefault();
1353
- event.stopPropagation();
1354
- if (event.target.classList.contains('resize-handle')) {
1355
- header.getResizeHandler()(event);
1356
- }
1357
- }}"
1358
- @touchstart="${(event) => {
1359
- event.preventDefault();
1360
- event.stopPropagation();
1361
- if (event.target.classList.contains('resize-handle')) {
1362
- header.getResizeHandler()(event);
1363
- }
1364
- }}"
892
+ @dblclick="${($) => {
893
+ $.target.classList.contains(
894
+ "resize-handle"
895
+ ) && c.column.resetSize();
896
+ }}"
897
+ @mousedown="${($) => {
898
+ $.preventDefault(), $.stopPropagation(), $.target.classList.contains(
899
+ "resize-handle"
900
+ ) && c.getResizeHandler()(
901
+ $
902
+ );
903
+ }}"
904
+ @touchstart="${($) => {
905
+ $.preventDefault(), $.stopPropagation(), $.target.classList.contains(
906
+ "resize-handle"
907
+ ) && c.getResizeHandler()(
908
+ $
909
+ );
910
+ }}"
1365
911
  ></div>
1366
912
  </th>
1367
913
  `;
1368
- })}
1369
- ${virtualPaddingRight
1370
- ? html `
914
+ }
915
+ )}
916
+ ${m ? u`
1371
917
  <th
1372
- style=" display: flex; width: ${virtualPaddingRight}px;"
918
+ style=" display: flex; width: ${m}px;"
1373
919
  ></th>
1374
- `
1375
- : ''}
920
+ ` : ""}
1376
921
  </tr>
1377
922
  `;
1378
- })}
1379
- ${this.isLoading
1380
- ? html `
923
+ }
924
+ )}
925
+ ${this.isLoading ? u`
1381
926
  <div style="position: absolute; bottom: 0px; width: 100%;">
1382
927
  <lit-loading-bar></lit-loading-bar>
1383
928
  </div>
1384
- `
1385
- : ''}
929
+ ` : ""}
1386
930
  </thead>
1387
931
 
1388
932
  <tbody
1389
933
  @keydown=${this.handleKeyDown}
1390
934
  tabindex="0"
1391
935
  part="dataGrid-body"
1392
- style="height: ${rowVirtualizer &&
1393
- this.table.getRowModel().rows.length > 0
1394
- ? rowVirtualizer.getTotalSize() + 'px'
1395
- : 'auto'};"
936
+ style="height: ${o && this.table.getRowModel().rows.length > 0 ? o.getTotalSize() + "px" : "auto"};"
1396
937
  >
1397
- ${rows.length > 0
1398
- ? repeat(rowItems, (item) => item.key, (item) => {
1399
- const row = rows[item.index];
1400
- const visibleCells = row?.getVisibleCells();
1401
- const bodyColumns = this.enableColumnVirtualization
1402
- ? virtualColumns?.map((vc) => visibleCells && visibleCells[vc.index])
1403
- : visibleCells;
1404
- const pinnedColumns = visibleCells?.filter((bc) => bc.column.getIsPinned()) || [];
1405
- const newBodyColumns = this.enableColumnVirtualization
1406
- ? [...new Set([...pinnedColumns, ...bodyColumns])]
1407
- : bodyColumns;
1408
- const rowStyle = {
1409
- transform: rowVirtualizer
1410
- ? `translateY(${item.start}px)`
1411
- : 'none',
1412
- height: `${this.getRowHeight()}px`,
1413
- lineHeight: `${this.getRowHeight()}px`,
1414
- position: rowVirtualizer ? 'absolute' : 'relative',
1415
- };
1416
- return row
1417
- ? html `
938
+ ${p.length > 0 ? V(
939
+ g,
940
+ (i) => i.key,
941
+ (i) => {
942
+ const r = p[i.index], b = r == null ? void 0 : r.getVisibleCells(), c = this.enableColumnVirtualization ? s == null ? void 0 : s.map(
943
+ (f) => b && b[f.index]
944
+ ) : b, D = (b == null ? void 0 : b.filter(
945
+ (f) => f.column.getIsPinned()
946
+ )) || [], y = this.enableColumnVirtualization ? [.../* @__PURE__ */ new Set([...D, ...c])] : c, F = {
947
+ transform: o ? `translateY(${i.start}px)` : "none",
948
+ height: `${this.getRowHeight()}px`,
949
+ lineHeight: `${this.getRowHeight()}px`,
950
+ position: o ? "absolute" : "relative"
951
+ };
952
+ return r ? u`
1418
953
  <tr
1419
- tabindex=${this.enableRowSelection
1420
- ? '0'
1421
- : undefined}
1422
- data-row-index="${row.index}"
1423
- class="${this.rowsSelected[row.id]
1424
- ? 'selected body'
1425
- : 'body'}"
1426
- data-index="${item.index}"
1427
- @click="${row.getIsGrouped()
1428
- ? row.getToggleExpandedHandler()
1429
- : (e) => this.handleRowClick(e, row)}"
1430
- @mousedown=${(e) => this._onRowMouseDown(e, row)}
954
+ tabindex=${this.enableRowSelection ? "0" : void 0}
955
+ data-row-index="${r.index}"
956
+ class="${this.rowsSelected[r.id] ? "selected body" : "body"}"
957
+ data-index="${i.index}"
958
+ @click="${r.getIsGrouped() ? r.getToggleExpandedHandler() : (f) => this.handleRowClick(f, r)}"
959
+ @mousedown=${(f) => this._onRowMouseDown(f, r)}
1431
960
  @mouseup=${this._onRowMouseUp}
1432
961
  @mouseleave=${this._onRowMouseUp}
1433
- @contextmenu=${(e) => e.preventDefault()}
1434
- @dblclick="${() => this.handleRowDoubleClick(row)}"
1435
- style="${styleMap(rowStyle)}"
1436
- ${ref((node) => {
1437
- if (node &&
1438
- this.enableRowVirtualization &&
1439
- rowVirtualizer) {
1440
- // Only measure element if virtualization is enabled
1441
- rowVirtualizer.measureElement(node);
1442
- }
1443
- })}
962
+ @contextmenu=${(f) => f.preventDefault()}
963
+ @dblclick="${() => this.handleRowDoubleClick(r)}"
964
+ style="${E(F)}"
965
+ ${X((f) => {
966
+ f && this.enableRowVirtualization && o && o.measureElement(f);
967
+ })}
1444
968
  >
1445
- ${virtualPaddingLeft
1446
- ? html `
969
+ ${h ? u`
1447
970
  <th
1448
- style=" display: flex; width: ${virtualPaddingLeft}px;"
971
+ style=" display: flex; width: ${h}px;"
1449
972
  ></th>
1450
- `
1451
- : ''}
973
+ ` : ""}
1452
974
  <!-- Cells for each row -->
1453
- ${repeat(newBodyColumns, (cell) => cell.key, (cell) => {
1454
- const buttonSize = this.getButtonSize();
1455
- const { column } = cell;
1456
- const style = {
1457
- ...this.getCommonPinningStyles(cell.column),
1458
- width: `${cell.column?.getSize()}px`,
1459
- flexGrow: `${column.columnDef.size === undefined ? 1 : 'unset'}`,
1460
- background: this.getCellBackgroundColor(cell),
1461
- lineHeight: `${this.getRowHeight()}px`,
1462
- padding: column.columnDef.type ===
1463
- 'actions' ||
1464
- column.columnDef.type ===
1465
- 'checkbox'
1466
- ? '0'
1467
- : '0px 14px',
1468
- };
1469
- return html `
1470
- <td style="${styleMap(style)}">
1471
- ${cell.getIsGrouped()
1472
- ? html `<div
975
+ ${V(
976
+ y,
977
+ (f) => f.key,
978
+ (f) => {
979
+ var M;
980
+ this.getButtonSize();
981
+ const { column: k } = f, P = {
982
+ ...this.getCommonPinningStyles(
983
+ f.column
984
+ ),
985
+ width: `${(M = f.column) == null ? void 0 : M.getSize()}px`,
986
+ flexGrow: `${k.columnDef.size === void 0 ? 1 : "unset"}`,
987
+ background: this.getCellBackgroundColor(
988
+ f
989
+ ),
990
+ lineHeight: `${this.getRowHeight()}px`,
991
+ padding: k.columnDef.type === "actions" || k.columnDef.type === "checkbox" ? "0" : "0px 14px"
992
+ };
993
+ return u`
994
+ <td style="${E(P)}">
995
+ ${f.getIsGrouped() ? u`<div
1473
996
  class="grouped-column"
1474
997
  >
1475
998
  <lit-icon
1476
999
  class="grouped-column--icon-button"
1477
1000
  size="1.25rem"
1478
- icon="${row.getIsExpanded()
1479
- ? 'chevronDownFilled'
1480
- : 'chevron'}"
1001
+ icon="${r.getIsExpanded() ? "chevronDownFilled" : "chevron"}"
1481
1002
  ></lit-icon>
1482
1003
  <div
1483
1004
  class="grouped-column--label"
1484
1005
  >
1485
1006
  <lit-overflow-tooltip
1486
- label=${cell.getValue()}
1007
+ label=${f.getValue()}
1487
1008
  >
1488
- ${cell.getValue()}
1009
+ ${f.getValue()}
1489
1010
  </lit-overflow-tooltip>
1490
1011
  </div>
1491
1012
  <lit-pill
1492
1013
  class="grouped-column--pill"
1493
1014
  style="margin-left: 0.5rem"
1494
- count="${row
1495
- .subRows
1496
- .length}"
1015
+ count="${r.subRows.length}"
1497
1016
  ></lit-pill>
1498
- </div> `
1499
- : cell.getIsAggregated()
1500
- ? html `
1017
+ </div> ` : f.getIsAggregated() ? u`
1501
1018
  <div
1502
1019
  style="flex-grow:1"
1503
1020
  >
1504
- ${flexRender(cell
1505
- .column
1506
- .columnDef
1507
- .aggregatedCell ??
1508
- cell
1509
- .column
1510
- .columnDef
1511
- .cell, cell.getContext())}
1021
+ ${L(
1022
+ f.column.columnDef.aggregatedCell ?? f.column.columnDef.cell,
1023
+ f.getContext()
1024
+ )}
1512
1025
  </div>
1513
- `
1514
- : cell.getIsPlaceholder()
1515
- ? null
1516
- : html `<lit-overflow-tooltip
1026
+ ` : f.getIsPlaceholder() ? null : u`<lit-overflow-tooltip
1517
1027
  placement="right"
1518
- label=${cell.getValue()}
1519
- >${flexRender(cell
1520
- .column
1521
- .columnDef
1522
- .cell, cell.getContext())}</lit-overflow-tooltip
1028
+ label=${f.getValue()}
1029
+ >${L(
1030
+ f.column.columnDef.cell,
1031
+ f.getContext()
1032
+ )}</lit-overflow-tooltip
1523
1033
  >`}
1524
1034
  </td>
1525
1035
  `;
1526
- })}
1527
- ${virtualPaddingRight
1528
- ? html `
1036
+ }
1037
+ )}
1038
+ ${m ? u`
1529
1039
  <th
1530
- style=" display: flex; width: ${virtualPaddingRight}px;"
1040
+ style=" display: flex; width: ${m}px;"
1531
1041
  ></th>
1532
- `
1533
- : ''}
1042
+ ` : ""}
1534
1043
  </tr>
1535
- `
1536
- : null;
1537
- })
1538
- : null}
1044
+ ` : null;
1045
+ }
1046
+ ) : null}
1539
1047
  </tbody>
1540
1048
  </table>
1541
- ${!this.hideFooter
1542
- ? html `
1049
+ ${this.hideFooter ? "" : u`
1543
1050
  <slot
1544
1051
  part="dataGrid-footer"
1545
1052
  name="dataGridFooter"
1546
1053
  class="footer-container"
1547
1054
  >
1548
1055
  <div class="numberCount">
1549
- ${msg('Počet záznamů')}:
1056
+ ${R("Počet záznamů")}:
1550
1057
  ${this.table.getRowModel().rows.length}
1551
1058
  <pre>/</pre>
1552
- ${this.server
1553
- ? this.totalNumberRows
1554
- ? this.totalNumberRows
1555
- : '?'
1556
- : this.table.getRowModel().rows.length}
1557
- ${this.server
1558
- ? html `<lit-icon-button
1059
+ ${this.server ? this.totalNumberRows ? this.totalNumberRows : "?" : this.table.getRowModel().rows.length}
1060
+ ${this.server ? u`<lit-icon-button
1559
1061
  icon="reload"
1560
1062
  size="mini"
1561
1063
  variant="text"
1562
1064
  @click="${() => this.handleGetTotalNumber()}"
1563
1065
  style="margin-left: 0.2rem; margin-top: -0.1rem"
1564
- ></lit-icon-button>`
1565
- : ''}
1066
+ ></lit-icon-button>` : ""}
1566
1067
  </div>
1567
1068
  <div class="right-actions">
1568
1069
  <lit-data-grid-density-popover
1569
1070
  .density="${this.rowDensity}"
1570
- .setDensity="${(density) => this.handleSetDensity(density)}"
1071
+ .setDensity="${(i) => this.handleSetDensity(i)}"
1571
1072
  >
1572
1073
  </lit-data-grid-density-popover>
1573
1074
  <lit-responsive-button
1574
1075
  size="medium"
1575
1076
  variant="text"
1576
- label=${msg('Přizpůsobit sloupce')}
1077
+ label=${R("Přizpůsobit sloupce")}
1577
1078
  icon="columns"
1578
1079
  @click=${() => this.table.resetColumnSizing()}
1579
1080
  ></lit-responsive-button>
1580
- ${this.exportData
1581
- ? html `
1081
+ ${this.exportData ? u`
1582
1082
  <lit-data-grid-export-popover
1583
- .exportToCsv="${typeof this.exportExcelFn ===
1584
- 'function'
1585
- ? () => this.exportCsvFn && this.exportCsvFn()
1586
- : () => this.exportDataToCsv()}"
1587
- .exportToExcel="${typeof this.exportExcelFn ===
1588
- 'function'
1589
- ? () => this.exportExcelFn &&
1590
- this.exportExcelFn()
1591
- : () => this.exportDataToExcel()}"
1083
+ .exportToCsv="${typeof this.exportExcelFn == "function" ? () => this.exportCsvFn && this.exportCsvFn() : () => this.exportDataToCsv()}"
1084
+ .exportToExcel="${typeof this.exportExcelFn == "function" ? () => this.exportExcelFn && this.exportExcelFn() : () => this.exportDataToExcel()}"
1592
1085
  .disabledButtons="${this.isLoading}"
1593
1086
  >
1594
1087
  </lit-data-grid-export-popover>
1595
- `
1596
- : null}
1597
- ${this.enableSettings
1598
- ? html `
1088
+ ` : null}
1089
+ ${this.enableSettings ? u`
1599
1090
  <div>
1600
1091
  <lit-responsive-button
1601
1092
  variant="dashed"
1602
- label="${msg('Přiřadit sloupec')}"
1093
+ label="${R("Přiřadit sloupec")}"
1603
1094
  icon="add"
1604
1095
  style="display: inline-block"
1605
1096
  @click="${this.toggleCustomPopover}"
@@ -1607,9 +1098,9 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1607
1098
 
1608
1099
  <simple-popper
1609
1100
  .showing=${this.isOpen}
1610
- .placement=${'top-end'}
1611
- .manualOpening=${true}
1612
- .maxWidthAsTarget=${false}
1101
+ .placement=${"top-end"}
1102
+ .manualOpening=${!0}
1103
+ .maxWidthAsTarget=${!1}
1613
1104
  .onClose=${() => this.closePopover()}
1614
1105
  >
1615
1106
  <div
@@ -1618,57 +1109,55 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1618
1109
  >
1619
1110
  <lit-input
1620
1111
  .value=${this.filterText}
1621
- .onInput=${(value) => {
1622
- this.filterText =
1623
- value?.toLowerCase?.() ||
1624
- '';
1625
- }}
1112
+ .onInput=${(i) => {
1113
+ var r;
1114
+ this.filterText = ((r = i == null ? void 0 : i.toLowerCase) == null ? void 0 : r.call(i)) || "";
1115
+ }}
1626
1116
  .onClear=${() => {
1627
- this.filterText = '';
1628
- }}
1629
- placeholder="${msg('Zadejte název sloupce')}"
1117
+ this.filterText = "";
1118
+ }}
1119
+ placeholder="${R(
1120
+ "Zadejte název sloupce"
1121
+ )}"
1630
1122
  ></lit-input>
1631
1123
  </div>
1632
1124
  <lit-menu tabindex="0">
1633
- ${this.columns
1634
- .filter((col) => {
1635
- const name = col?.headerName?.toLowerCase() ||
1636
- col?.field.toLowerCase();
1637
- return name.includes(this.filterText);
1638
- })
1639
- .sort((a, b) => {
1640
- const aUnderscore = a.field.startsWith('_');
1641
- const bUnderscore = b.field.startsWith('_');
1642
- if (aUnderscore && !bUnderscore)
1643
- return 1;
1644
- if (!aUnderscore && bUnderscore)
1645
- return -1;
1646
- return (a.headerName || a.field).localeCompare(b.headerName || b.field);
1647
- })
1648
- .map((col) => html `
1125
+ ${this.columns.filter((i) => {
1126
+ var b;
1127
+ return (((b = i == null ? void 0 : i.headerName) == null ? void 0 : b.toLowerCase()) || (i == null ? void 0 : i.field.toLowerCase())).includes(
1128
+ this.filterText
1129
+ );
1130
+ }).sort((i, r) => {
1131
+ const b = i.field.startsWith("_"), c = r.field.startsWith("_");
1132
+ return b && !c ? 1 : !b && c ? -1 : (i.headerName || i.field).localeCompare(
1133
+ r.headerName || r.field
1134
+ );
1135
+ }).map(
1136
+ (i) => {
1137
+ var r, b;
1138
+ return u`
1649
1139
  <lit-menu-item
1650
- .onClick=${() => this.toggleColumn(col?.field)}
1651
- .isActive=${!(this
1652
- .columnVisibility?.[col?.field] === false)}
1140
+ .onClick=${() => this.toggleColumn(
1141
+ i == null ? void 0 : i.field
1142
+ )}
1143
+ .isActive=${((r = this.columnVisibility) == null ? void 0 : r[i == null ? void 0 : i.field]) !== !1}
1653
1144
  >
1654
1145
  <span
1655
1146
  class="menu-item--multiple"
1656
1147
  >
1657
1148
  <lit-checkbox
1658
1149
  class="cursor"
1659
- .checked=${!(this
1660
- .columnVisibility?.[col
1661
- ?.field] === false)}
1150
+ .checked=${((b = this.columnVisibility) == null ? void 0 : b[i == null ? void 0 : i.field]) !== !1}
1662
1151
  ></lit-checkbox>
1663
- ${col?.headerName ||
1664
- col?.field}
1152
+ ${(i == null ? void 0 : i.headerName) || (i == null ? void 0 : i.field)}
1665
1153
  </span>
1666
1154
  </lit-menu-item>
1667
- `)}
1155
+ `;
1156
+ }
1157
+ )}
1668
1158
  </lit-menu>
1669
1159
 
1670
- ${isEqual(filteredColumns.length, 0)
1671
- ? html `
1160
+ ${ot(t.length, 0) ? u`
1672
1161
  <div
1673
1162
  style="display: flex; flex-direction: column; align-items: center; padding: 1rem;"
1674
1163
  >
@@ -1678,11 +1167,10 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1678
1167
  <not-found></not-found>
1679
1168
  </div>
1680
1169
  <div>
1681
- ${msg('Nenalezeno')}
1170
+ ${R("Nenalezeno")}
1682
1171
  </div>
1683
1172
  </div>
1684
- `
1685
- : null}
1173
+ ` : null}
1686
1174
  </simple-popper>
1687
1175
 
1688
1176
  <lit-icon-button
@@ -1693,49 +1181,42 @@ let LitDataGridTanstack = class LitDataGridTanstack extends LitElement {
1693
1181
  ></lit-icon-button>
1694
1182
  <data-grid-settings
1695
1183
  .onClose="${() => {
1696
- this.isOpenModal = false;
1697
- }}"
1184
+ this.isOpenModal = !1;
1185
+ }}"
1698
1186
  .isOpenModal="${this.isOpenModal}"
1699
1187
  .enableFiltering="${this.enableFiltering}"
1700
1188
  .enableSorting="${this.enableSorting}"
1701
- .columnDefaultSize="${this
1702
- .columnDefaultSize}"
1703
- .columnGroupedColor="${this
1704
- .columnGroupedColor}"
1705
- .rowAggregationColor="${this
1706
- .rowAggregationColor}"
1189
+ .columnDefaultSize="${this.columnDefaultSize}"
1190
+ .columnGroupedColor="${this.columnGroupedColor}"
1191
+ .rowAggregationColor="${this.rowAggregationColor}"
1707
1192
  .enableGrouping="${this.enableGrouping}"
1708
- .enableColumnPinning="${this
1709
- .enableColumnPinning}"
1193
+ .enableColumnPinning="${this.enableColumnPinning}"
1710
1194
  .exportData="${this.exportData}"
1711
- .actionButtonsInMenu="${this
1712
- .actionButtonsInMenu}"
1195
+ .actionButtonsInMenu="${this.actionButtonsInMenu}"
1713
1196
  .hideFooter="${this.hideFooter}"
1714
- .onSettingsChangedModal="${this.onSettingsChangedCallback.bind(this)}"
1197
+ .onSettingsChangedModal="${this.onSettingsChangedCallback.bind(
1198
+ this
1199
+ )}"
1715
1200
  ></data-grid-settings>
1716
1201
  </div>
1717
- `
1718
- : null}
1202
+ ` : null}
1719
1203
  </div>
1720
1204
  </slot>
1721
- `
1722
- : ''}
1205
+ `}
1723
1206
  </div>
1724
- ${this.table.getRowModel().rows.length < 1 && !this.isLoading
1725
- ? html ` <div class="data-grid__empty">
1207
+ ${this.table.getRowModel().rows.length < 1 && !this.isLoading ? u` <div class="data-grid__empty">
1726
1208
  <div style="max-height: 7.125rem; max-width: 7.125rem">
1727
1209
  <not-found></not-found>
1728
1210
  </div>
1729
- <div class="data-grid__empty-text">${msg('Nic dalšího tu není')}</div>
1730
- </div>`
1731
- : null}
1211
+ <div class="data-grid__empty-text">${R("Nic dalšího tu není")}</div>
1212
+ </div>` : null}
1732
1213
  </div>
1733
1214
  `;
1734
- }
1215
+ }
1735
1216
  };
1736
- LitDataGridTanstack.styles = [
1737
- // styles,
1738
- css `
1217
+ n.styles = [
1218
+ // styles,
1219
+ et`
1739
1220
  *,
1740
1221
  *::before,
1741
1222
  *::after {
@@ -2021,226 +1502,227 @@ LitDataGridTanstack.styles = [
2021
1502
  .data-grid__empty-text {
2022
1503
  color: var(--text-primary, #5d6371);
2023
1504
  }
2024
- `,
1505
+ `
2025
1506
  ];
2026
- __decorate([
2027
- property({ type: Array, reflect: true })
2028
- ], LitDataGridTanstack.prototype, "row", void 0);
2029
- __decorate([
2030
- property({ type: Array })
2031
- ], LitDataGridTanstack.prototype, "columns", void 0);
2032
- __decorate([
2033
- property({ type: Number })
2034
- ], LitDataGridTanstack.prototype, "columnDefaultSize", void 0);
2035
- __decorate([
2036
- property({ type: Number })
2037
- ], LitDataGridTanstack.prototype, "columnDefaultMinSize", void 0);
2038
- __decorate([
2039
- property({ type: Number })
2040
- ], LitDataGridTanstack.prototype, "columnDefaultMaxSize", void 0);
2041
- __decorate([
2042
- property({ type: String })
2043
- ], LitDataGridTanstack.prototype, "columnGroupedColor", void 0);
2044
- __decorate([
2045
- property({ type: String })
2046
- ], LitDataGridTanstack.prototype, "rowAggregationColor", void 0);
2047
- __decorate([
2048
- property({ type: Boolean })
2049
- ], LitDataGridTanstack.prototype, "enableRowVirtualization", void 0);
2050
- __decorate([
2051
- property({ type: Boolean })
2052
- ], LitDataGridTanstack.prototype, "enableColumnVirtualization", void 0);
2053
- __decorate([
2054
- property({ type: Boolean })
2055
- ], LitDataGridTanstack.prototype, "enableColumnPinning", void 0);
2056
- __decorate([
2057
- property({ type: Boolean })
2058
- ], LitDataGridTanstack.prototype, "enableColumnOrdering", void 0);
2059
- __decorate([
2060
- property({ type: Boolean })
2061
- ], LitDataGridTanstack.prototype, "enableGrouping", void 0);
2062
- __decorate([
2063
- property({ type: Boolean })
2064
- ], LitDataGridTanstack.prototype, "enablePinning", void 0);
2065
- __decorate([
2066
- property({ type: Boolean })
2067
- ], LitDataGridTanstack.prototype, "exportData", void 0);
2068
- __decorate([
2069
- property({ type: Boolean })
2070
- ], LitDataGridTanstack.prototype, "actionButtonsInMenu", void 0);
2071
- __decorate([
2072
- property({ type: String })
2073
- ], LitDataGridTanstack.prototype, "id", void 0);
2074
- __decorate([
2075
- property({ type: Array })
2076
- ], LitDataGridTanstack.prototype, "initialGroups", void 0);
2077
- __decorate([
2078
- property({ type: Array })
2079
- ], LitDataGridTanstack.prototype, "initialSorting", void 0);
2080
- __decorate([
2081
- property({ type: Object })
2082
- ], LitDataGridTanstack.prototype, "initialColumnVisibility", void 0);
2083
- __decorate([
2084
- property({ type: Object })
2085
- ], LitDataGridTanstack.prototype, "initialRowExpanded", void 0);
2086
- __decorate([
2087
- property({ type: Object })
2088
- ], LitDataGridTanstack.prototype, "columnSizing", void 0);
2089
- __decorate([
2090
- property({ type: Array })
2091
- ], LitDataGridTanstack.prototype, "leftPinnedColumns", void 0);
2092
- __decorate([
2093
- property({ type: Array })
2094
- ], LitDataGridTanstack.prototype, "rightPinnedColumns", void 0);
2095
- __decorate([
2096
- property({ type: Boolean })
2097
- ], LitDataGridTanstack.prototype, "enableFiltering", void 0);
2098
- __decorate([
2099
- property({ type: Boolean })
2100
- ], LitDataGridTanstack.prototype, "enableSorting", void 0);
2101
- __decorate([
2102
- property({ type: String })
2103
- ], LitDataGridTanstack.prototype, "userLang", void 0);
2104
- __decorate([
2105
- property({ type: String })
2106
- ], LitDataGridTanstack.prototype, "dateFormat", void 0);
2107
- __decorate([
2108
- property({ type: Boolean })
2109
- ], LitDataGridTanstack.prototype, "isLoading", void 0);
2110
- __decorate([
2111
- property({ type: Boolean })
2112
- ], LitDataGridTanstack.prototype, "enableRowSelection", void 0);
2113
- __decorate([
2114
- property({ type: Array })
2115
- ], LitDataGridTanstack.prototype, "initialFiltering", void 0);
2116
- __decorate([
2117
- property({ type: Boolean })
2118
- ], LitDataGridTanstack.prototype, "server", void 0);
2119
- __decorate([
2120
- property({ type: Number })
2121
- ], LitDataGridTanstack.prototype, "scrollEndThreshold", void 0);
2122
- __decorate([
2123
- property({ type: String })
2124
- ], LitDataGridTanstack.prototype, "rowDensity", void 0);
2125
- __decorate([
2126
- property({ type: Boolean })
2127
- ], LitDataGridTanstack.prototype, "enableMultiRowSelection", void 0);
2128
- __decorate([
2129
- property({ type: Number })
2130
- ], LitDataGridTanstack.prototype, "totalNumberRows", void 0);
2131
- __decorate([
2132
- property({ type: Number })
2133
- ], LitDataGridTanstack.prototype, "minFilterCharacters", void 0);
2134
- __decorate([
2135
- property({ type: Boolean })
2136
- ], LitDataGridTanstack.prototype, "localizeDate", void 0);
2137
- __decorate([
2138
- property({ type: Boolean })
2139
- ], LitDataGridTanstack.prototype, "rowsSelected", void 0);
2140
- __decorate([
2141
- property({ type: Boolean })
2142
- ], LitDataGridTanstack.prototype, "enableSettings", void 0);
2143
- __decorate([
2144
- property({ attribute: false })
2145
- ], LitDataGridTanstack.prototype, "onSettingsChanged", void 0);
2146
- __decorate([
2147
- property({ type: Function })
2148
- ], LitDataGridTanstack.prototype, "onRowClick", void 0);
2149
- __decorate([
2150
- property({ type: Function })
2151
- ], LitDataGridTanstack.prototype, "onRowsScrollEnd", void 0);
2152
- __decorate([
2153
- property({ type: Function })
2154
- ], LitDataGridTanstack.prototype, "onRowDoubleClick", void 0);
2155
- __decorate([
2156
- property({ type: Function })
2157
- ], LitDataGridTanstack.prototype, "rowDensityChange", void 0);
2158
- __decorate([
2159
- property({ type: Function })
2160
- ], LitDataGridTanstack.prototype, "exportExcelFn", void 0);
2161
- __decorate([
2162
- property({ type: Function })
2163
- ], LitDataGridTanstack.prototype, "exportCsvFn", void 0);
2164
- __decorate([
2165
- property({ type: Function })
2166
- ], LitDataGridTanstack.prototype, "getTotalNumberFn", void 0);
2167
- __decorate([
2168
- property({ type: Function })
2169
- ], LitDataGridTanstack.prototype, "onCellKeyDown", void 0);
2170
- __decorate([
2171
- property({ type: Function })
2172
- ], LitDataGridTanstack.prototype, "getRowId", void 0);
2173
- __decorate([
2174
- property({ type: Function })
2175
- ], LitDataGridTanstack.prototype, "onColumnResize", void 0);
2176
- __decorate([
2177
- property({ type: Boolean })
2178
- ], LitDataGridTanstack.prototype, "onColumnFiltersChanged", void 0);
2179
- __decorate([
2180
- property({ type: Boolean })
2181
- ], LitDataGridTanstack.prototype, "onColumnSortChanged", void 0);
2182
- __decorate([
2183
- property({ type: Function })
2184
- ], LitDataGridTanstack.prototype, "onRowSelectionChanged", void 0);
2185
- __decorate([
2186
- property({ type: Function })
2187
- ], LitDataGridTanstack.prototype, "onColumnOrderChanged", void 0);
2188
- __decorate([
2189
- property({ type: Boolean })
2190
- ], LitDataGridTanstack.prototype, "hideFooter", void 0);
2191
- __decorate([
2192
- property({ type: Object })
2193
- ], LitDataGridTanstack.prototype, "columnVisibility", void 0);
2194
- __decorate([
2195
- property({ type: Function })
2196
- ], LitDataGridTanstack.prototype, "onColumnVisibilityChanged", void 0);
2197
- __decorate([
2198
- property({ type: Function })
2199
- ], LitDataGridTanstack.prototype, "onMouseDown", void 0);
2200
- __decorate([
2201
- property({ type: Function })
2202
- ], LitDataGridTanstack.prototype, "onRowFocusChanged", void 0);
2203
- __decorate([
2204
- property({ type: Number })
2205
- ], LitDataGridTanstack.prototype, "focusedRowIndex", void 0);
2206
- __decorate([
2207
- property({ type: Boolean })
2208
- ], LitDataGridTanstack.prototype, "autoFocus", void 0);
2209
- __decorate([
2210
- state()
2211
- ], LitDataGridTanstack.prototype, "rowsCount", void 0);
2212
- __decorate([
2213
- state()
2214
- ], LitDataGridTanstack.prototype, "isScrollable", void 0);
2215
- __decorate([
2216
- state()
2217
- ], LitDataGridTanstack.prototype, "disableScrollLeft", void 0);
2218
- __decorate([
2219
- state()
2220
- ], LitDataGridTanstack.prototype, "disableScrollRight", void 0);
2221
- __decorate([
2222
- state()
2223
- ], LitDataGridTanstack.prototype, "columnOrder", void 0);
2224
- __decorate([
2225
- state()
2226
- ], LitDataGridTanstack.prototype, "table", void 0);
2227
- __decorate([
2228
- state()
2229
- ], LitDataGridTanstack.prototype, "isOpen", void 0);
2230
- __decorate([
2231
- state()
2232
- ], LitDataGridTanstack.prototype, "filterText", void 0);
2233
- __decorate([
2234
- state()
2235
- ], LitDataGridTanstack.prototype, "isOpenModal", void 0);
2236
- __decorate([
2237
- query('tbody')
2238
- ], LitDataGridTanstack.prototype, "tableBody", void 0);
2239
- __decorate([
2240
- query('.grid')
2241
- ], LitDataGridTanstack.prototype, "_container", void 0);
2242
- LitDataGridTanstack = __decorate([
2243
- customElement('lit-data-grid-tanstack')
2244
- ], LitDataGridTanstack);
2245
- export { LitDataGridTanstack };
2246
- //# sourceMappingURL=lit-data-grid-tanstack.js.map
1507
+ l([
1508
+ a({ type: Array, reflect: !0 })
1509
+ ], n.prototype, "row", 2);
1510
+ l([
1511
+ a({ type: Array })
1512
+ ], n.prototype, "columns", 2);
1513
+ l([
1514
+ a({ type: Number })
1515
+ ], n.prototype, "columnDefaultSize", 2);
1516
+ l([
1517
+ a({ type: Number })
1518
+ ], n.prototype, "columnDefaultMinSize", 2);
1519
+ l([
1520
+ a({ type: Number })
1521
+ ], n.prototype, "columnDefaultMaxSize", 2);
1522
+ l([
1523
+ a({ type: String })
1524
+ ], n.prototype, "columnGroupedColor", 2);
1525
+ l([
1526
+ a({ type: String })
1527
+ ], n.prototype, "rowAggregationColor", 2);
1528
+ l([
1529
+ a({ type: Boolean })
1530
+ ], n.prototype, "enableRowVirtualization", 2);
1531
+ l([
1532
+ a({ type: Boolean })
1533
+ ], n.prototype, "enableColumnVirtualization", 2);
1534
+ l([
1535
+ a({ type: Boolean })
1536
+ ], n.prototype, "enableColumnPinning", 2);
1537
+ l([
1538
+ a({ type: Boolean })
1539
+ ], n.prototype, "enableColumnOrdering", 2);
1540
+ l([
1541
+ a({ type: Boolean })
1542
+ ], n.prototype, "enableGrouping", 2);
1543
+ l([
1544
+ a({ type: Boolean })
1545
+ ], n.prototype, "enablePinning", 2);
1546
+ l([
1547
+ a({ type: Boolean })
1548
+ ], n.prototype, "exportData", 2);
1549
+ l([
1550
+ a({ type: Boolean })
1551
+ ], n.prototype, "actionButtonsInMenu", 2);
1552
+ l([
1553
+ a({ type: String })
1554
+ ], n.prototype, "id", 2);
1555
+ l([
1556
+ a({ type: Array })
1557
+ ], n.prototype, "initialGroups", 2);
1558
+ l([
1559
+ a({ type: Array })
1560
+ ], n.prototype, "initialSorting", 2);
1561
+ l([
1562
+ a({ type: Object })
1563
+ ], n.prototype, "initialColumnVisibility", 2);
1564
+ l([
1565
+ a({ type: Object })
1566
+ ], n.prototype, "initialRowExpanded", 2);
1567
+ l([
1568
+ a({ type: Object })
1569
+ ], n.prototype, "columnSizing", 2);
1570
+ l([
1571
+ a({ type: Array })
1572
+ ], n.prototype, "leftPinnedColumns", 2);
1573
+ l([
1574
+ a({ type: Array })
1575
+ ], n.prototype, "rightPinnedColumns", 2);
1576
+ l([
1577
+ a({ type: Boolean })
1578
+ ], n.prototype, "enableFiltering", 2);
1579
+ l([
1580
+ a({ type: Boolean })
1581
+ ], n.prototype, "enableSorting", 2);
1582
+ l([
1583
+ a({ type: String })
1584
+ ], n.prototype, "userLang", 2);
1585
+ l([
1586
+ a({ type: String })
1587
+ ], n.prototype, "dateFormat", 2);
1588
+ l([
1589
+ a({ type: Boolean })
1590
+ ], n.prototype, "isLoading", 2);
1591
+ l([
1592
+ a({ type: Boolean })
1593
+ ], n.prototype, "enableRowSelection", 2);
1594
+ l([
1595
+ a({ type: Array })
1596
+ ], n.prototype, "initialFiltering", 2);
1597
+ l([
1598
+ a({ type: Boolean })
1599
+ ], n.prototype, "server", 2);
1600
+ l([
1601
+ a({ type: Number })
1602
+ ], n.prototype, "scrollEndThreshold", 2);
1603
+ l([
1604
+ a({ type: String })
1605
+ ], n.prototype, "rowDensity", 2);
1606
+ l([
1607
+ a({ type: Boolean })
1608
+ ], n.prototype, "enableMultiRowSelection", 2);
1609
+ l([
1610
+ a({ type: Number })
1611
+ ], n.prototype, "totalNumberRows", 2);
1612
+ l([
1613
+ a({ type: Number })
1614
+ ], n.prototype, "minFilterCharacters", 2);
1615
+ l([
1616
+ a({ type: Boolean })
1617
+ ], n.prototype, "localizeDate", 2);
1618
+ l([
1619
+ a({ type: Boolean })
1620
+ ], n.prototype, "rowsSelected", 2);
1621
+ l([
1622
+ a({ type: Boolean })
1623
+ ], n.prototype, "enableSettings", 2);
1624
+ l([
1625
+ a({ attribute: !1 })
1626
+ ], n.prototype, "onSettingsChanged", 2);
1627
+ l([
1628
+ a({ type: Function })
1629
+ ], n.prototype, "onRowClick", 2);
1630
+ l([
1631
+ a({ type: Function })
1632
+ ], n.prototype, "onRowsScrollEnd", 2);
1633
+ l([
1634
+ a({ type: Function })
1635
+ ], n.prototype, "onRowDoubleClick", 2);
1636
+ l([
1637
+ a({ type: Function })
1638
+ ], n.prototype, "rowDensityChange", 2);
1639
+ l([
1640
+ a({ type: Function })
1641
+ ], n.prototype, "exportExcelFn", 2);
1642
+ l([
1643
+ a({ type: Function })
1644
+ ], n.prototype, "exportCsvFn", 2);
1645
+ l([
1646
+ a({ type: Function })
1647
+ ], n.prototype, "getTotalNumberFn", 2);
1648
+ l([
1649
+ a({ type: Function })
1650
+ ], n.prototype, "onCellKeyDown", 2);
1651
+ l([
1652
+ a({ type: Function })
1653
+ ], n.prototype, "getRowId", 2);
1654
+ l([
1655
+ a({ type: Function })
1656
+ ], n.prototype, "onColumnResize", 2);
1657
+ l([
1658
+ a({ type: Boolean })
1659
+ ], n.prototype, "onColumnFiltersChanged", 2);
1660
+ l([
1661
+ a({ type: Boolean })
1662
+ ], n.prototype, "onColumnSortChanged", 2);
1663
+ l([
1664
+ a({ type: Function })
1665
+ ], n.prototype, "onRowSelectionChanged", 2);
1666
+ l([
1667
+ a({ type: Function })
1668
+ ], n.prototype, "onColumnOrderChanged", 2);
1669
+ l([
1670
+ a({ type: Boolean })
1671
+ ], n.prototype, "hideFooter", 2);
1672
+ l([
1673
+ a({ type: Object })
1674
+ ], n.prototype, "columnVisibility", 2);
1675
+ l([
1676
+ a({ type: Function })
1677
+ ], n.prototype, "onColumnVisibilityChanged", 2);
1678
+ l([
1679
+ a({ type: Function })
1680
+ ], n.prototype, "onMouseDown", 2);
1681
+ l([
1682
+ a({ type: Function })
1683
+ ], n.prototype, "onRowFocusChanged", 2);
1684
+ l([
1685
+ a({ type: Number })
1686
+ ], n.prototype, "focusedRowIndex", 2);
1687
+ l([
1688
+ a({ type: Boolean })
1689
+ ], n.prototype, "autoFocus", 2);
1690
+ l([
1691
+ z()
1692
+ ], n.prototype, "rowsCount", 2);
1693
+ l([
1694
+ z()
1695
+ ], n.prototype, "isScrollable", 2);
1696
+ l([
1697
+ z()
1698
+ ], n.prototype, "disableScrollLeft", 2);
1699
+ l([
1700
+ z()
1701
+ ], n.prototype, "disableScrollRight", 2);
1702
+ l([
1703
+ z()
1704
+ ], n.prototype, "columnOrder", 2);
1705
+ l([
1706
+ z()
1707
+ ], n.prototype, "table", 2);
1708
+ l([
1709
+ z()
1710
+ ], n.prototype, "isOpen", 2);
1711
+ l([
1712
+ z()
1713
+ ], n.prototype, "filterText", 2);
1714
+ l([
1715
+ z()
1716
+ ], n.prototype, "isOpenModal", 2);
1717
+ l([
1718
+ Q("tbody")
1719
+ ], n.prototype, "tableBody", 2);
1720
+ l([
1721
+ Q(".grid")
1722
+ ], n.prototype, "_container", 2);
1723
+ n = l([
1724
+ nt("lit-data-grid-tanstack")
1725
+ ], n);
1726
+ export {
1727
+ n as LitDataGridTanstack
1728
+ };