@zeedhi/teknisa-components-vuetify 1.117.1 → 3.0.1

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 (92) hide show
  1. package/.package.json +49 -0
  2. package/dist/teknisa-vuetify.css +1 -0
  3. package/dist/teknisa-vuetify.js +3882 -0
  4. package/environments.json +16 -0
  5. package/package.json +18 -17
  6. package/src/components/index.ts +38 -0
  7. package/src/components/public.ts +41 -0
  8. package/src/components/tek-breadcrumb-header/TekBreadcrumbHeader.ts +34 -0
  9. package/src/components/tek-breadcrumb-header/TekBreadcrumbHeader.vue +75 -0
  10. package/src/components/tek-grid/TekGrid.ts +318 -0
  11. package/src/components/tek-grid/TekGrid.vue +235 -0
  12. package/src/components/tek-grid/column-filter/TekGridColumnFilter.ts +244 -0
  13. package/src/components/tek-grid/column-filter/TekGridColumnFilter.vue +93 -0
  14. package/src/components/tek-grid/column-header/TekGridHeaderRow.ts +147 -0
  15. package/src/components/tek-grid/column-header/TekGridHeaderRow.vue +78 -0
  16. package/src/components/tek-grid/columns-button/TekGridColumnsButton.ts +96 -0
  17. package/src/components/tek-grid/columns-button/TekGridColumnsButton.vue +273 -0
  18. package/src/components/tek-grid/columns-button/TekGridColumnsOptionsController.ts +470 -0
  19. package/src/components/tek-grid/columns-button/TekGridColumnsOptionsModal.ts +513 -0
  20. package/src/components/tek-grid/filter-button/TekGridFilterButton.ts +47 -0
  21. package/src/components/tek-grid/filter-button/TekGridFilterButton.vue +28 -0
  22. package/src/components/tek-grid/indentation/TekGridIndentation.ts +21 -0
  23. package/src/components/tek-grid/indentation/TekGridIndentation.vue +33 -0
  24. package/src/components/tek-grid/layout-options/TekGridLayoutOptions.ts +119 -0
  25. package/src/components/tek-grid/layout-options/TekGridLayoutOptions.vue +172 -0
  26. package/src/components/tek-grid/row/TekGridFooterRow.ts +62 -0
  27. package/src/components/tek-grid/row/TekGridFooterRow.vue +64 -0
  28. package/src/components/tek-grid/row/TekGridGroupRow.ts +65 -0
  29. package/src/components/tek-grid/row/TekGridGroupRow.vue +65 -0
  30. package/src/components/tek-user-info/TekUserInfo.ts +51 -0
  31. package/src/components/tek-user-info/TekUserInfo.vue +53 -0
  32. package/src/components/tek-user-info/TekUserInfoList.ts +39 -0
  33. package/src/components/tek-user-info/TekUserInfoList.vue +12 -0
  34. package/src/composables/useTableLayout.ts +290 -0
  35. package/src/index.ts +29 -0
  36. package/src/shims-vue.d.ts +6 -0
  37. package/src/styles/index.scss +0 -0
  38. package/src/utils/isArrayOperation.ts +5 -0
  39. package/types/components/index.d.ts +5 -3
  40. package/types/components/public.d.ts +5 -18
  41. package/types/components/tek-breadcrumb-header/TekBreadcrumbHeader.d.ts +1137 -12
  42. package/types/components/tek-breadcrumb-header/TekBreadcrumbHeader.ts.d.ts +1138 -0
  43. package/types/components/tek-grid/TekGrid.d.ts +7208 -86
  44. package/types/components/tek-grid/TekGrid.ts.d.ts +7211 -0
  45. package/types/components/tek-grid/column-filter/TekGridColumnFilter.d.ts +130 -0
  46. package/types/components/tek-grid/column-filter/TekGridColumnFilter.ts.d.ts +130 -0
  47. package/types/components/tek-grid/column-header/TekGridHeaderRow.d.ts +225 -0
  48. package/types/components/tek-grid/column-header/TekGridHeaderRow.ts.d.ts +225 -0
  49. package/types/components/tek-grid/columns-button/TekGridColumnsButton.d.ts +2432 -0
  50. package/types/components/tek-grid/columns-button/TekGridColumnsButton.ts.d.ts +2432 -0
  51. package/types/components/tek-grid/{TekGridColumnsOptionsController.d.ts → columns-button/TekGridColumnsOptionsController.d.ts} +7 -8
  52. package/types/components/tek-grid/{TekGridColumnsOptionsModal.d.ts → columns-button/TekGridColumnsOptionsModal.d.ts} +2 -3
  53. package/types/components/tek-grid/filter-button/TekGridFilterButton.d.ts +2920 -0
  54. package/types/components/tek-grid/filter-button/TekGridFilterButton.ts.d.ts +2920 -0
  55. package/types/components/tek-grid/indentation/TekGridIndentation.d.ts +32 -0
  56. package/types/components/tek-grid/indentation/TekGridIndentation.ts.d.ts +32 -0
  57. package/types/components/tek-grid/layout-options/TekGridLayoutOptions.d.ts +1893 -0
  58. package/types/components/tek-grid/layout-options/TekGridLayoutOptions.ts.d.ts +1893 -0
  59. package/types/components/tek-grid/row/TekGridFooterRow.d.ts +90 -0
  60. package/types/components/tek-grid/row/TekGridFooterRow.ts.d.ts +90 -0
  61. package/types/components/tek-grid/row/TekGridGroupRow.d.ts +87 -0
  62. package/types/components/tek-grid/row/TekGridGroupRow.ts.d.ts +87 -0
  63. package/types/components/tek-user-info/TekUserInfo.d.ts +1937 -10
  64. package/types/components/tek-user-info/TekUserInfo.ts.d.ts +1940 -0
  65. package/types/components/tek-user-info/TekUserInfoList.d.ts +1014 -8
  66. package/types/components/tek-user-info/TekUserInfoList.ts.d.ts +1015 -0
  67. package/types/composables/useTableLayout.d.ts +26 -0
  68. package/types/index.d.ts +2 -2
  69. package/types/utils/isArrayOperation.d.ts +2 -0
  70. package/dist/tek-components-vuetify.esm.js +0 -8924
  71. package/dist/tek-components-vuetify.umd.js +0 -8949
  72. package/types/components/crud/TekCrudAddButton.d.ts +0 -14
  73. package/types/components/crud/TekCrudButton.d.ts +0 -12
  74. package/types/components/crud/TekCrudCancelButton.d.ts +0 -12
  75. package/types/components/crud/TekCrudDeleteButton.d.ts +0 -14
  76. package/types/components/crud/TekCrudForm.d.ts +0 -9
  77. package/types/components/crud/TekCrudSaveButton.d.ts +0 -11
  78. package/types/components/tek-card-title/TekCardTitle.d.ts +0 -16
  79. package/types/components/tek-drag-grid/TekDragGrid.d.ts +0 -20
  80. package/types/components/tek-grid/TekGridColumnsButton.d.ts +0 -16
  81. package/types/components/tek-grid/TekGridFilterButton.d.ts +0 -27
  82. package/types/components/tek-grid/TekGridLayoutOptions.d.ts +0 -19
  83. package/types/components/tek-grid/subcomponents/TekGridCellIdentation.d.ts +0 -9
  84. package/types/components/tek-grid/subcomponents/TekGridColumnFilter.d.ts +0 -16
  85. package/types/components/tek-grid/subcomponents/TekGridHeaderIndentation.d.ts +0 -5
  86. package/types/components/tek-image/TekImage.d.ts +0 -20
  87. package/types/components/tek-iterable-carousel/TekIterableCarousel.d.ts +0 -11
  88. package/types/components/tek-iterable-component-render/TekIterableComponentRender.d.ts +0 -9
  89. package/types/components/tek-loading/TekLoading.d.ts +0 -9
  90. package/types/components/tek-notifications/TekNotifications.d.ts +0 -12
  91. package/types/components/tek-product-card/TekProductCard.d.ts +0 -24
  92. package/types/components/tek-tree-grid/TekTreeGrid.d.ts +0 -72
@@ -0,0 +1,513 @@
1
+ import { IModal, Modal, ModalService } from '@zeedhi/common';
2
+ import { TekGridColumnsButton } from '@zeedhi/teknisa-components-common';
3
+ import { Loader } from '@zeedhi/core';
4
+ import { UnwrapNestedRefs } from 'vue';
5
+ import TekGridColumnsOptionsController from './TekGridColumnsOptionsController';
6
+
7
+ export default class TekGridColumnsOptionsModal {
8
+ private static controllerName = `TekGridColumnsOptionsController_${new Date().getTime()}`;
9
+
10
+ private static modalDef: IModal = {
11
+ name: 'tekGridColumnsOptionsModal',
12
+ title: '',
13
+ persistent: true,
14
+ grid: {
15
+ sm: 11,
16
+ md: 9,
17
+ },
18
+ children: [
19
+ {
20
+ name: 'tekGridColumnsOptionsCloseButtonContainer',
21
+ component: 'ZdContainer',
22
+ cssClass: 'zd-pa-0 zd-mb-6 zd-display-flex',
23
+ children: [
24
+ {
25
+ name: 'tekGridColumnsOptionsTitleText',
26
+ component: 'ZdText',
27
+ text: 'TEKGRID_COLUMNS_OPTIONS',
28
+ cssClass: 'zd-theme-font-title',
29
+ },
30
+ {
31
+ name: 'tekGridColumnsOptionsFilterSpacer',
32
+ component: 'VSpacer',
33
+ },
34
+ {
35
+ name: 'tekGridColumnsOptionsCloseModalButton',
36
+ component: 'ZdModalCloseButton',
37
+ small: true,
38
+ modalName: 'tekGridColumnsOptionsModal',
39
+ },
40
+ ],
41
+ },
42
+ {
43
+ name: 'tekGridColumnsOptionsSearchRow',
44
+ component: 'ZdRow',
45
+ children: [
46
+ {
47
+ name: 'tekGridColumnsOptionsSearchCol',
48
+ component: 'ZdCol',
49
+ cols: 12,
50
+ children: [
51
+ {
52
+ name: 'tekGridColumnsOptionsSearchInput',
53
+ component: 'ZdTextInput',
54
+ showLabel: false,
55
+ showHelper: false,
56
+ placeholder: 'SEARCH',
57
+ appendIcon: 'magnify',
58
+ value: `{{${TekGridColumnsOptionsModal.controllerName}.searchValue}}`,
59
+ },
60
+ ],
61
+ },
62
+ ],
63
+ },
64
+ {
65
+ name: 'tekGridColumnsOptionsFixedRow',
66
+ component: 'ZdRow',
67
+ children: [
68
+ {
69
+ name: 'tekGridColumnsOptionsFixedCol',
70
+ component: 'ZdCol',
71
+ cols: 12,
72
+ cssClass: 'tek-grid-column-option-container-col',
73
+ children: [
74
+ {
75
+ name: 'tekGridColumnsOptionsFixedLabel',
76
+ component: 'ZdText',
77
+ text: 'TEKGRID_FIXED_COLUMNS',
78
+ cssClass: 'tek-grid-column-option-label',
79
+ },
80
+ {
81
+ name: 'tekGridColumnsOptionsFixedSelectAll',
82
+ component: 'ZdText',
83
+ text: 'TEKGRID_SELECT_ALL',
84
+ cssClass: 'tek-grid-column-option-select-all',
85
+ events: {
86
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.selectAll}}`,
87
+ },
88
+ },
89
+ {
90
+ name: 'tekGridColumnsOptionsFixedDropHere',
91
+ component: 'ZdText',
92
+ text: 'TEKGRID_DROP_COLUMNS',
93
+ cssClass: 'tek-grid-column-option-drop-here',
94
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoFixedColumns}}`,
95
+ },
96
+ {
97
+ name: 'tekGridColumnsOptionsFixedColumns',
98
+ component: 'TekIterableComponentRender',
99
+ id: 'tekGridColumnsOptionsFixedColumns',
100
+ cssClass: 'tek-grid-column-option-container',
101
+ datasource: {
102
+ uniqueKey: 'name',
103
+ data: `{{${TekGridColumnsOptionsModal.controllerName}.fixedColumnData}}`,
104
+ },
105
+ noDataSlot: [],
106
+ events: {
107
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.columnContainerMounted}}`,
108
+ },
109
+ componentMetadata: {
110
+ name: 'tekGridColumnsOptionsFixedColumn_<<row.name>>',
111
+ component: 'ZdTag',
112
+ columnName: '<<row.name>>',
113
+ cssClass:
114
+ 'tek-grid-column-option-box zd-elevation-1 ' + 'tek-grid-column-option-selected-<<row.selected>>',
115
+ tag: 'div',
116
+ children: [
117
+ {
118
+ name: 'tekGridColumnsOptionsFixedColumnText_<<row.name>>',
119
+ columnName: '<<row.name>>',
120
+ component: 'ZdText',
121
+ text: '<<row.label>><<row.aggregationText>>',
122
+ },
123
+ {
124
+ name: 'tekGridColumnsOptionsFixedColumnRemove_<<row.name>>',
125
+ columnName: '<<row.name>>',
126
+ component: 'ZdIcon',
127
+ iconName: 'close',
128
+ events: {
129
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnFixedRemoveClick}}`,
130
+ },
131
+ },
132
+ ],
133
+ events: {
134
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnClick}}`,
135
+ },
136
+ },
137
+ },
138
+ ],
139
+ },
140
+ ],
141
+ },
142
+ {
143
+ name: 'tekGridColumnsOptionsVisibleRow',
144
+ component: 'ZdRow',
145
+ children: [
146
+ {
147
+ name: 'tekGridColumnsOptionsVisibleCol',
148
+ component: 'ZdCol',
149
+ cols: 12,
150
+ cssClass: 'tek-grid-column-option-container-col',
151
+ children: [
152
+ {
153
+ name: 'tekGridColumnsOptionsVisibleLabel',
154
+ component: 'ZdText',
155
+ text: 'TEKGRID_VISIBLE_COLUMNS',
156
+ cssClass: 'tek-grid-column-option-label',
157
+ },
158
+ {
159
+ name: 'tekGridColumnsOptionsVisibleSelectAll',
160
+ component: 'ZdText',
161
+ text: 'TEKGRID_SELECT_ALL',
162
+ cssClass: 'tek-grid-column-option-select-all',
163
+ events: {
164
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.selectAll}}`,
165
+ },
166
+ },
167
+ {
168
+ name: 'tekGridColumnsOptionsVisibleDropHere',
169
+ component: 'ZdText',
170
+ text: 'TEKGRID_DROP_COLUMNS',
171
+ cssClass: 'tek-grid-column-option-drop-here',
172
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoVisibleColumns}}`,
173
+ },
174
+ {
175
+ name: 'tekGridColumnsOptionsVisibleColumns',
176
+ component: 'TekIterableComponentRender',
177
+ id: 'tekGridColumnsOptionsVisibleColumns',
178
+ cssClass: 'tek-grid-column-option-container',
179
+ datasource: {
180
+ uniqueKey: 'name',
181
+ data: `{{${TekGridColumnsOptionsModal.controllerName}.visibleColumnData}}`,
182
+ },
183
+ noDataSlot: [],
184
+ events: {
185
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.columnContainerMounted}}`,
186
+ },
187
+ componentMetadata: {
188
+ name: 'tekGridColumnsOptionsVisibleColumn_<<row.name>>',
189
+ component: 'ZdTag',
190
+ columnName: '<<row.name>>',
191
+ cssClass:
192
+ 'tek-grid-column-option-box zd-elevation-1 ' + 'tek-grid-column-option-selected-<<row.selected>>',
193
+ tag: 'div',
194
+ children: [
195
+ {
196
+ name: 'tekGridColumnsOptionsVisibleColumnText_<<row.name>>',
197
+ columnName: '<<row.name>>',
198
+ component: 'ZdText',
199
+ text: '<<row.label>><<row.aggregationText>>',
200
+ },
201
+ {
202
+ name: 'tekGridColumnsOptionsVisibleColumnRemove_<<row.name>>',
203
+ columnName: '<<row.name>>',
204
+ component: 'ZdIcon',
205
+ iconName: 'close',
206
+ events: {
207
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnVisibleRemoveClick}}`,
208
+ },
209
+ },
210
+ ],
211
+ events: {
212
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnClick}}`,
213
+ },
214
+ },
215
+ },
216
+ ],
217
+ },
218
+ ],
219
+ },
220
+ {
221
+ name: 'tekGridColumnsOptionsGroupedRow',
222
+ component: 'ZdRow',
223
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.showGroups}}`,
224
+ children: [
225
+ {
226
+ name: 'tekGridColumnsOptionsGroupedCol',
227
+ component: 'ZdCol',
228
+ cssClass: 'tek-grid-column-option-container-col',
229
+ cols: 12,
230
+ children: [
231
+ {
232
+ name: 'tekGridColumnsOptionsGroupedLabel',
233
+ component: 'ZdText',
234
+ text: 'TEKGRID_GROUPED_COLUMNS',
235
+ cssClass: 'tek-grid-column-option-label',
236
+ },
237
+ {
238
+ name: 'tekGridColumnsOptionsGroupedSelectAll',
239
+ component: 'ZdText',
240
+ text: 'TEKGRID_SELECT_ALL',
241
+ cssClass: 'tek-grid-column-option-select-all',
242
+ events: {
243
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.selectAll}}`,
244
+ },
245
+ },
246
+ {
247
+ name: 'tekGridColumnsOptionsGroupedDropHere',
248
+ component: 'ZdText',
249
+ text: 'TEKGRID_DROP_COLUMNS',
250
+ cssClass: 'tek-grid-column-option-drop-here',
251
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoGroupedColumns}}`,
252
+ },
253
+ {
254
+ name: 'tekGridColumnsOptionsGroupedColumns',
255
+ component: 'TekIterableComponentRender',
256
+ id: 'tekGridColumnsOptionsGroupedColumns',
257
+ cssClass: 'tek-grid-column-option-container',
258
+ datasource: {
259
+ uniqueKey: 'name',
260
+ data: `{{${TekGridColumnsOptionsModal.controllerName}.groupedColumnData}}`,
261
+ },
262
+ noDataSlot: [],
263
+ events: {
264
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.columnContainerMounted}}`,
265
+ },
266
+ componentMetadata: {
267
+ name: 'tekGridColumnsOptionsGroupedColumn_<<row.name>>',
268
+ component: 'ZdTag',
269
+ columnName: '<<row.name>>',
270
+ cssClass:
271
+ 'tek-grid-column-option-box zd-elevation-1 ' + 'tek-grid-column-option-selected-<<row.selected>>',
272
+ tag: 'div',
273
+ children: [
274
+ {
275
+ name: 'tekGridColumnsOptionsGroupedColumnText_<<row.name>>',
276
+ columnName: '<<row.name>>',
277
+ component: 'ZdText',
278
+ text: '<<row.label>><<row.aggregationText>>',
279
+ },
280
+ {
281
+ name: 'tekGridColumnsOptionsGroupedColumnRemove_<<row.name>>',
282
+ columnName: '<<row.name>>',
283
+ component: 'ZdIcon',
284
+ iconName: 'close',
285
+ events: {
286
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnGroupedRemoveClick}}`,
287
+ },
288
+ },
289
+ ],
290
+ events: {
291
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnClick}}`,
292
+ },
293
+ },
294
+ },
295
+ ],
296
+ },
297
+ ],
298
+ },
299
+ {
300
+ name: 'tekGridColumnsOptionsOtherRow',
301
+ component: 'ZdRow',
302
+ children: [
303
+ {
304
+ name: 'tekGridColumnsOptionsOtherCol',
305
+ component: 'ZdCol',
306
+ cssClass: 'tek-grid-column-option-container-col',
307
+ cols: 12,
308
+ children: [
309
+ {
310
+ name: 'tekGridColumnsOptionsOtherLabel',
311
+ component: 'ZdText',
312
+ text: 'TEKGRID_OTHER_COLUMNS',
313
+ cssClass: 'tek-grid-column-option-label',
314
+ },
315
+ {
316
+ name: 'tekGridColumnsOptionsOtherSelectAll',
317
+ component: 'ZdText',
318
+ text: 'TEKGRID_SELECT_ALL',
319
+ cssClass: 'tek-grid-column-option-select-all',
320
+ events: {
321
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.selectAll}}`,
322
+ },
323
+ },
324
+ {
325
+ name: 'tekGridColumnsOptionsOtherDropHere',
326
+ component: 'ZdText',
327
+ text: 'TEKGRID_DROP_COLUMNS',
328
+ cssClass: 'tek-grid-column-option-drop-here',
329
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoOtherColumns}}`,
330
+ },
331
+ {
332
+ name: 'tekGridColumnsOptionsOtherColumns',
333
+ component: 'TekIterableComponentRender',
334
+ id: 'tekGridColumnsOptionsOtherColumns',
335
+ cssClass: 'tek-grid-column-option-container',
336
+ datasource: {
337
+ uniqueKey: 'name',
338
+ data: `{{${TekGridColumnsOptionsModal.controllerName}.otherColumnData}}`,
339
+ },
340
+ noDataSlot: [],
341
+ events: {
342
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.columnContainerMounted}}`,
343
+ },
344
+ componentMetadata: {
345
+ name: 'tekGridColumnsOptionsOtherColumn_<<row.name>>',
346
+ component: 'ZdText',
347
+ columnName: '<<row.name>>',
348
+ text: '<<row.label>><<row.aggregationText>>',
349
+ cssClass:
350
+ 'tek-grid-column-option-box zd-elevation-1 ' + 'tek-grid-column-option-selected-<<row.selected>>',
351
+ events: {
352
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.columnClick}}`,
353
+ },
354
+ },
355
+ },
356
+ ],
357
+ },
358
+ ],
359
+ },
360
+ {
361
+ name: 'tekGridColumnsOptionsDetailColumnName',
362
+ component: 'ZdText',
363
+ cssClass: 'tek-grid-column-option-detail-name',
364
+ text: `{{${TekGridColumnsOptionsModal.controllerName}.detailColumnName}}`,
365
+ grid: {
366
+ xs: 12,
367
+ },
368
+ },
369
+ {
370
+ name: 'tekGridColumnsOptionsDetailRow',
371
+ component: 'ZdRow',
372
+ children: [
373
+ {
374
+ name: 'tekGridColumnsOptionsDetailCol',
375
+ component: 'ZdCol',
376
+ cols: 12,
377
+ children: [
378
+ {
379
+ name: 'tekGridColumnsOptionsDetailForm',
380
+ component: 'ZdForm',
381
+ cssClass: 'tek-grid-column-option-detail-form',
382
+ children: [
383
+ {
384
+ name: 'tekGridColumnsOptionsColumnLabel',
385
+ component: 'ZdTextInput',
386
+ label: 'TEKGRID_COLUMN_LABEL',
387
+ showHelper: false,
388
+ clearable: false,
389
+ disabled: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoSingleSelection}}`,
390
+ value: `{{${TekGridColumnsOptionsModal.controllerName}.selectedColumnLabel}}`,
391
+ grid: {
392
+ xs: 12,
393
+ md: 5,
394
+ },
395
+ },
396
+ {
397
+ name: 'tekGridColumnsOptionsColumnAlignment',
398
+ component: 'ZdSelect',
399
+ autocomplete: false,
400
+ label: 'TEKGRID_COLUMN_ALIGNMENT',
401
+ disabled: `{{${TekGridColumnsOptionsModal.controllerName}.hasNoSelectedColumn}}`,
402
+ showHelper: false,
403
+ clearable: false,
404
+ grid: {
405
+ xs: 6,
406
+ md: 2,
407
+ },
408
+ dataText: 'text',
409
+ dataValue: 'value',
410
+ datasource: {
411
+ data: [
412
+ { text: 'TEKGRID_LEFT', value: 'left' },
413
+ { text: 'TEKGRID_CENTER', value: 'center' },
414
+ { text: 'TEKGRID_RIGHT', value: 'right' },
415
+ ],
416
+ translate: 'text',
417
+ },
418
+ events: {
419
+ change: `{{${TekGridColumnsOptionsModal.controllerName}.selectChange}}`,
420
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.selectMounted}}`,
421
+ },
422
+ },
423
+ {
424
+ name: 'tekGridColumnsOptionsColumnAggregation',
425
+ component: 'ZdSelect',
426
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.showGroups}}`,
427
+ autocomplete: false,
428
+ label: 'TEKGRID_COLUMN_AGGREGATION',
429
+ showHelper: false,
430
+ disabled: `{{${TekGridColumnsOptionsModal.controllerName}.groupInSelection}}`,
431
+ dataText: 'text',
432
+ dataValue: 'value',
433
+ grid: {
434
+ xs: 6,
435
+ md: 2,
436
+ },
437
+ datasource: {
438
+ data: `{{${TekGridColumnsOptionsModal.controllerName}.aggregationData}}`,
439
+ },
440
+ events: {
441
+ change: `{{${TekGridColumnsOptionsModal.controllerName}.selectChange}}`,
442
+ onMounted: `{{${TekGridColumnsOptionsModal.controllerName}.selectMounted}}`,
443
+ },
444
+ },
445
+ {
446
+ name: 'tekGridColumnsOptionsColumnGroupOpened',
447
+ component: 'ZdCheckbox',
448
+ isVisible: `{{${TekGridColumnsOptionsModal.controllerName}.showGroups}}`,
449
+ cssClass: 'zd-form-input-align',
450
+ disabled: `{{${TekGridColumnsOptionsModal.controllerName}.notGroupInSelection}}`,
451
+ label: 'TEKGRID_COLUMN_GROUP_OPENED',
452
+ value: `{{${TekGridColumnsOptionsModal.controllerName}.selectedColumnGroupOpened}}`,
453
+ grid: {
454
+ xs: 6,
455
+ md: 3,
456
+ },
457
+ },
458
+ ],
459
+ },
460
+ ],
461
+ },
462
+ ],
463
+ },
464
+ {
465
+ name: 'tekGridColumnsOptionsDetailFooter',
466
+ component: 'ZdFooter',
467
+ padless: true,
468
+ color: 'transparent',
469
+ cssClass: 'zd-mt-6',
470
+ rightSlot: [
471
+ {
472
+ name: 'tekGridColumnsOptionsDetailCancel',
473
+ component: 'ZdButton',
474
+ outline: true,
475
+ label: 'TEKGRID_CANCEL',
476
+ events: {
477
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.cancelChanges}}`,
478
+ },
479
+ },
480
+ {
481
+ name: 'tekGridColumnsOptionsDetailApply',
482
+ component: 'ZdButton',
483
+ label: 'TEKGRID_APPLY',
484
+ events: {
485
+ click: `{{${TekGridColumnsOptionsModal.controllerName}.applyChanges}}`,
486
+ },
487
+ },
488
+ ],
489
+ },
490
+ ],
491
+ };
492
+
493
+ private static modal: Modal;
494
+
495
+ public static show(instance: UnwrapNestedRefs<TekGridColumnsButton>) {
496
+ if (!TekGridColumnsOptionsModal.modal) {
497
+ TekGridColumnsOptionsModal.modal = ModalService.create(TekGridColumnsOptionsModal.modalDef);
498
+ Loader.addController(TekGridColumnsOptionsModal.controllerName, TekGridColumnsOptionsController, [
499
+ TekGridColumnsOptionsModal.modal,
500
+ ]);
501
+ }
502
+
503
+ const controller = Loader.getInstance(TekGridColumnsOptionsModal.controllerName);
504
+ controller.instance = instance;
505
+ TekGridColumnsOptionsModal.modal.show();
506
+ }
507
+
508
+ public static hide() {
509
+ if (TekGridColumnsOptionsModal.modal) {
510
+ TekGridColumnsOptionsModal.modal.hide();
511
+ }
512
+ }
513
+ }
@@ -0,0 +1,47 @@
1
+ import { Button } from '@zeedhi/common';
2
+ import { TekGridFilterButton } from '@zeedhi/teknisa-components-common';
3
+ import { IEventParam } from '@zeedhi/core';
4
+ import { ComponentPublicInstance, defineComponent } from 'vue';
5
+ import { ZdButtonProps, useButtonInstance, useCreateInstance } from '@zeedhi/vuetify';
6
+
7
+ export const TekGridFilterButtonProps = {
8
+ ...ZdButtonProps,
9
+ gridName: {
10
+ type: String,
11
+ default: '',
12
+ },
13
+ grid: {
14
+ type: [Object, String],
15
+ default: () => {},
16
+ },
17
+ showCheckboxAll: {
18
+ type: [Boolean, String],
19
+ default: false,
20
+ },
21
+ };
22
+
23
+ const tekGridFilterButtonComponent = defineComponent({
24
+ props: TekGridFilterButtonProps,
25
+ inheritAttrs: false,
26
+ setup(props, ctx) {
27
+ const { instance, root } = useCreateInstance<TekGridFilterButton, ComponentPublicInstance>(
28
+ props,
29
+ ctx,
30
+ TekGridFilterButton,
31
+ );
32
+ const buttonScope = useButtonInstance({ instance, root });
33
+
34
+ const filterClick = ({ event }: IEventParam<Button>) => {
35
+ instance.click(event);
36
+ };
37
+
38
+ return {
39
+ ...buttonScope,
40
+ instance,
41
+ root,
42
+ filterClick,
43
+ };
44
+ },
45
+ });
46
+
47
+ export default tekGridFilterButtonComponent;
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <zd-button
3
+ :id="`instance.name`"
4
+ :name="`${instance.name}_name`"
5
+ v-bind="{
6
+ icon: true,
7
+ cssClass: 'tek-grid-filter-button',
8
+ iconName: 'mdi-filter',
9
+ isVisible: instance.grid.filterButton,
10
+ events: {
11
+ click: filterClick,
12
+ },
13
+ }"
14
+ />
15
+ </template>
16
+
17
+ <script lang="ts" src="./TekGridFilterButton.ts"></script>
18
+
19
+ <style lang="scss">
20
+ .zd-container.tek-grid-filter-content-container {
21
+ position: relative;
22
+ left: calc(var(--zd-default-padding) * -1) !important;
23
+ padding-left: var(--zd-default-padding) !important;
24
+ width: calc(100% + var(--zd-default-padding) * 2) !important;
25
+ padding-right: var(--zd-default-padding) !important;
26
+ max-width: none !important;
27
+ }
28
+ </style>
@@ -0,0 +1,21 @@
1
+ import { defineComponent } from 'vue';
2
+
3
+ export default defineComponent({
4
+ props: {
5
+ showDivider: {
6
+ type: Boolean,
7
+ default: true,
8
+ },
9
+ level: {
10
+ type: Number,
11
+ default: 0,
12
+ },
13
+ footer: {
14
+ type: Boolean,
15
+ default: false,
16
+ },
17
+ },
18
+ setup() {
19
+ return {};
20
+ },
21
+ });
@@ -0,0 +1,33 @@
1
+ <template>
2
+ <span
3
+ v-for="n in level"
4
+ :key="n"
5
+ :class="[
6
+ 'tek-grid-indentation',
7
+ {
8
+ 'tek-grid-indentation--corner': footer && n === level,
9
+ 'tek-grid-indentation--divider': showDivider,
10
+ }
11
+ ]"
12
+ ></span>
13
+ </template>
14
+
15
+ <script lang="ts" src="./TekGridIndentation"></script>
16
+
17
+ <style lang="scss">
18
+ .tek-grid-indentation {
19
+ display: flex;
20
+ width: 8px;
21
+ margin-left: 10px;
22
+ height: 100%;
23
+
24
+ &--divider {
25
+ border-left: solid 1px #ccc;
26
+ }
27
+
28
+ &--corner {
29
+ height: 60%;
30
+ border-bottom: 1px solid #ccc;
31
+ }
32
+ }
33
+ </style>