@sankhyalabs/ezui 5.14.0-rc.3 → 5.14.0-rc.4

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 (27) hide show
  1. package/dist/cjs/ez-form.cjs.entry.js +2 -1
  2. package/dist/cjs/ez-grid.cjs.entry.js +71 -4
  3. package/dist/cjs/ez-multi-selection-list.cjs.entry.js +2 -2
  4. package/dist/collection/components/ez-grid/interfaces/IColumnFilter.js +1 -0
  5. package/dist/collection/components/ez-grid/interfaces/index.js +1 -0
  6. package/dist/collection/components/ez-grid/utils/ColumnFilterManager.js +58 -0
  7. package/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource.js +15 -5
  8. package/dist/collection/components/ez-grid/utils/index.js +1 -0
  9. package/dist/collection/components/ez-multi-selection-list/ez-multi-selection-list.js +2 -2
  10. package/dist/collection/utils/form/DataBinder.js +2 -1
  11. package/dist/custom-elements/index.js +76 -8
  12. package/dist/esm/ez-form.entry.js +2 -1
  13. package/dist/esm/ez-grid.entry.js +72 -5
  14. package/dist/esm/ez-multi-selection-list.entry.js +2 -2
  15. package/dist/ezui/ezui.esm.js +1 -1
  16. package/dist/ezui/p-22208198.entry.js +1 -0
  17. package/dist/ezui/{p-40cf4952.entry.js → p-3662b961.entry.js} +2 -2
  18. package/dist/ezui/p-978d09d0.entry.js +1 -0
  19. package/dist/types/components/ez-grid/interfaces/IColumnFilter.d.ts +4 -0
  20. package/dist/types/components/ez-grid/interfaces/index.d.ts +1 -0
  21. package/dist/types/components/ez-grid/utils/ColumnFilterManager.d.ts +9 -0
  22. package/dist/types/components/ez-grid/utils/InMemoryFilterColumnDataSource.d.ts +2 -0
  23. package/dist/types/components/ez-grid/utils/index.d.ts +1 -0
  24. package/dist/types/components/ez-multi-selection-list/interfaces/IMultiSelectionListDataSource.d.ts +1 -0
  25. package/package.json +3 -3
  26. package/dist/ezui/p-83bd4eae.entry.js +0 -1
  27. package/dist/ezui/p-b12b31a7.entry.js +0 -1
@@ -346,7 +346,8 @@ class DataBinder {
346
346
  this._dataUnit.addRecord();
347
347
  }
348
348
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
349
- this._dataUnit.setFieldValue(fieldName, newValue);
349
+ const record = this._dataUnit.getSelectedRecord();
350
+ this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
350
351
  if (this._dataUnit.waitingForChange(fieldName)) {
351
352
  const bind = this._fields.get(fieldName);
352
353
  if (bind) {
@@ -120450,6 +120450,64 @@ function getElementID(sufix) {
120450
120450
  };
120451
120451
  }
120452
120452
 
120453
+ const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
120454
+ class ColumnFilterManager {
120455
+ static getColumnFilters(filters) {
120456
+ const columnFilters = new Map();
120457
+ if (filters == undefined || filters.length == 0) {
120458
+ return columnFilters;
120459
+ }
120460
+ filters.forEach(filter => {
120461
+ const match = COLUMN_FILTER_PATTERN.exec(filter.name);
120462
+ if (match) {
120463
+ columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
120464
+ }
120465
+ });
120466
+ return columnFilters;
120467
+ }
120468
+ static getFilterFunction(dataUnit, filters) {
120469
+ if (filters != undefined && filters.length > 0) {
120470
+ return record => {
120471
+ for (const filter of filters) {
120472
+ if (!ColumnFilterManager.recordMatchesFilter(dataUnit, record, filter)) {
120473
+ return false;
120474
+ }
120475
+ }
120476
+ return true;
120477
+ };
120478
+ }
120479
+ return undefined;
120480
+ }
120481
+ static recordMatchesFilter(dataUnit, record, columnFilter) {
120482
+ const fieldValue = record[columnFilter.columnName];
120483
+ for (let param of columnFilter.params) {
120484
+ const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
120485
+ if (core.FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
120486
+ return true;
120487
+ }
120488
+ }
120489
+ return false;
120490
+ }
120491
+ static compileDistinct(fieldName, dataUnit) {
120492
+ const request = dataUnit.getLastLoadRequest();
120493
+ let list = dataUnit.records;
120494
+ if (request != undefined) {
120495
+ const columnFilters = Array.from(ColumnFilterManager.getColumnFilters(request.filters).values());
120496
+ const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, columnFilters);
120497
+ if (filterFunciton != undefined) {
120498
+ list = list.filter(filterFunciton);
120499
+ }
120500
+ }
120501
+ return list.map(record => {
120502
+ const fieldValue = record[fieldName];
120503
+ if (fieldValue == undefined) {
120504
+ return { label: null, value: null, check: true };
120505
+ }
120506
+ return { label: dataUnit.getFormattedValue(fieldName, fieldValue), value: fieldValue, check: true };
120507
+ });
120508
+ }
120509
+ }
120510
+
120453
120511
  class InMemoryFilterColumnDataSource {
120454
120512
  constructor(dataUnit) {
120455
120513
  var _a;
@@ -120463,10 +120521,7 @@ class InMemoryFilterColumnDataSource {
120463
120521
  this.dataUnit.subscribe(this.onDataUnitAction);
120464
120522
  }
120465
120523
  getStaticOptions(fieldName) {
120466
- return new Promise(resolve => {
120467
- const options = this.originalRecords.map(item => this.buildFieldOption(item, fieldName));
120468
- resolve(this.removeDuplicatedOptions(options));
120469
- });
120524
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, this.dataUnit));
120470
120525
  }
120471
120526
  fetchData(filterTerm, fieldName) {
120472
120527
  return new Promise(resolve => {
@@ -120475,6 +120530,9 @@ class InMemoryFilterColumnDataSource {
120475
120530
  resolve(this.removeDuplicatedOptions(options));
120476
120531
  });
120477
120532
  }
120533
+ sortItems(fieldName, items) {
120534
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this.dataUnit, fieldName, items);
120535
+ }
120478
120536
  buildFieldOption(item, fieldName) {
120479
120537
  return {
120480
120538
  value: this.buildValue(item, fieldName),
@@ -120532,6 +120590,15 @@ class InMemoryFilterColumnDataSource {
120532
120590
  }
120533
120591
  return (_b = this.dataUnit.getFormattedValue(fieldName, value)) === null || _b === void 0 ? void 0 : _b.toString();
120534
120592
  }
120593
+ static defaultSorterMultSelectionOption(dataUnit, fieldName, items) {
120594
+ const fieldDescriptor = dataUnit.getField(fieldName);
120595
+ if (fieldDescriptor == undefined) {
120596
+ return core.ArrayUtils.sortAlphabetically(items);
120597
+ }
120598
+ return items.sort((itemA, itemB) => {
120599
+ return core.FieldComparator.compareValues(fieldDescriptor, itemA.value, itemB.value);
120600
+ });
120601
+ }
120535
120602
  }
120536
120603
 
120537
120604
  const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:0 0 16px 0 rgb(0 38 111 / 12%)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF);z-index:var(--visible, 1)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s;z-index:var(--ez-grid__selection-counter--z-index)}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}";
@@ -71,8 +71,8 @@ const EzMuiltiSelectionList = class {
71
71
  }
72
72
  });
73
73
  return (emptyElement == undefined ? [] : [emptyElement])
74
- .concat(core.ArrayUtils.sortAlphabetically(listWithSelectChecked))
75
- .concat(core.ArrayUtils.sortAlphabetically(listWithNotSelectChecked));
74
+ .concat(this.dataSource == undefined ? core.ArrayUtils.sortAlphabetically(listWithSelectChecked) : this.dataSource.sortItems(this.columnName, listWithSelectChecked))
75
+ .concat(this.dataSource == undefined ? core.ArrayUtils.sortAlphabetically(listWithNotSelectChecked) : this.dataSource.sortItems(this.columnName, listWithNotSelectChecked));
76
76
  }
77
77
  changeCheckAllValeuFromFilteredOptions() {
78
78
  var _a, _b, _c, _d;
@@ -1,2 +1,3 @@
1
1
  export * from './ISelection';
2
2
  export * from './ISelectionToastConfig';
3
+ export * from './IColumnFilter';
@@ -0,0 +1,58 @@
1
+ import { FieldComparator } from "@sankhyalabs/core";
2
+ const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
3
+ export class ColumnFilterManager {
4
+ static getColumnFilters(filters) {
5
+ const columnFilters = new Map();
6
+ if (filters == undefined || filters.length == 0) {
7
+ return columnFilters;
8
+ }
9
+ filters.forEach(filter => {
10
+ const match = COLUMN_FILTER_PATTERN.exec(filter.name);
11
+ if (match) {
12
+ columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
13
+ }
14
+ });
15
+ return columnFilters;
16
+ }
17
+ static getFilterFunction(dataUnit, filters) {
18
+ if (filters != undefined && filters.length > 0) {
19
+ return record => {
20
+ for (const filter of filters) {
21
+ if (!ColumnFilterManager.recordMatchesFilter(dataUnit, record, filter)) {
22
+ return false;
23
+ }
24
+ }
25
+ return true;
26
+ };
27
+ }
28
+ return undefined;
29
+ }
30
+ static recordMatchesFilter(dataUnit, record, columnFilter) {
31
+ const fieldValue = record[columnFilter.columnName];
32
+ for (let param of columnFilter.params) {
33
+ const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
34
+ if (FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
35
+ return true;
36
+ }
37
+ }
38
+ return false;
39
+ }
40
+ static compileDistinct(fieldName, dataUnit) {
41
+ const request = dataUnit.getLastLoadRequest();
42
+ let list = dataUnit.records;
43
+ if (request != undefined) {
44
+ const columnFilters = Array.from(ColumnFilterManager.getColumnFilters(request.filters).values());
45
+ const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, columnFilters);
46
+ if (filterFunciton != undefined) {
47
+ list = list.filter(filterFunciton);
48
+ }
49
+ }
50
+ return list.map(record => {
51
+ const fieldValue = record[fieldName];
52
+ if (fieldValue == undefined) {
53
+ return { label: null, value: null, check: true };
54
+ }
55
+ return { label: dataUnit.getFormattedValue(fieldName, fieldValue), value: fieldValue, check: true };
56
+ });
57
+ }
58
+ }
@@ -1,4 +1,5 @@
1
- import { Action, DataType, DateUtils, UserInterface } from '@sankhyalabs/core';
1
+ import { Action, ArrayUtils, DataType, DateUtils, FieldComparator, UserInterface } from '@sankhyalabs/core';
2
+ import { ColumnFilterManager } from './ColumnFilterManager';
2
3
  export default class InMemoryFilterColumnDataSource {
3
4
  constructor(dataUnit) {
4
5
  var _a;
@@ -12,10 +13,7 @@ export default class InMemoryFilterColumnDataSource {
12
13
  this.dataUnit.subscribe(this.onDataUnitAction);
13
14
  }
14
15
  getStaticOptions(fieldName) {
15
- return new Promise(resolve => {
16
- const options = this.originalRecords.map(item => this.buildFieldOption(item, fieldName));
17
- resolve(this.removeDuplicatedOptions(options));
18
- });
16
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, this.dataUnit));
19
17
  }
20
18
  fetchData(filterTerm, fieldName) {
21
19
  return new Promise(resolve => {
@@ -24,6 +22,9 @@ export default class InMemoryFilterColumnDataSource {
24
22
  resolve(this.removeDuplicatedOptions(options));
25
23
  });
26
24
  }
25
+ sortItems(fieldName, items) {
26
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this.dataUnit, fieldName, items);
27
+ }
27
28
  buildFieldOption(item, fieldName) {
28
29
  return {
29
30
  value: this.buildValue(item, fieldName),
@@ -81,4 +82,13 @@ export default class InMemoryFilterColumnDataSource {
81
82
  }
82
83
  return (_b = this.dataUnit.getFormattedValue(fieldName, value)) === null || _b === void 0 ? void 0 : _b.toString();
83
84
  }
85
+ static defaultSorterMultSelectionOption(dataUnit, fieldName, items) {
86
+ const fieldDescriptor = dataUnit.getField(fieldName);
87
+ if (fieldDescriptor == undefined) {
88
+ return ArrayUtils.sortAlphabetically(items);
89
+ }
90
+ return items.sort((itemA, itemB) => {
91
+ return FieldComparator.compareValues(fieldDescriptor, itemA.value, itemB.value);
92
+ });
93
+ }
84
94
  }
@@ -0,0 +1 @@
1
+ export * from './ColumnFilterManager';
@@ -62,8 +62,8 @@ export class EzMuiltiSelectionList {
62
62
  }
63
63
  });
64
64
  return (emptyElement == undefined ? [] : [emptyElement])
65
- .concat(ArrayUtils.sortAlphabetically(listWithSelectChecked))
66
- .concat(ArrayUtils.sortAlphabetically(listWithNotSelectChecked));
65
+ .concat(this.dataSource == undefined ? ArrayUtils.sortAlphabetically(listWithSelectChecked) : this.dataSource.sortItems(this.columnName, listWithSelectChecked))
66
+ .concat(this.dataSource == undefined ? ArrayUtils.sortAlphabetically(listWithNotSelectChecked) : this.dataSource.sortItems(this.columnName, listWithNotSelectChecked));
67
67
  }
68
68
  changeCheckAllValeuFromFilteredOptions() {
69
69
  var _a, _b, _c, _d;
@@ -163,7 +163,8 @@ export default class DataBinder {
163
163
  this._dataUnit.addRecord();
164
164
  }
165
165
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
166
- this._dataUnit.setFieldValue(fieldName, newValue);
166
+ const record = this._dataUnit.getSelectedRecord();
167
+ this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
167
168
  if (this._dataUnit.waitingForChange(fieldName)) {
168
169
  const bind = this._fields.get(fieldName);
169
170
  if (bind) {
@@ -1,6 +1,6 @@
1
1
  import { HTMLElement as HTMLElement$1, createEvent, h, Host, forceUpdate, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
2
2
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
3
- import { UserInterface, DateUtils as DateUtils$1, Action, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, TimeFormatter, DataUnit, HTMLBuilder, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, ArrayUtils as ArrayUtils$1 } from '@sankhyalabs/core';
3
+ import { UserInterface, DateUtils as DateUtils$1, Action, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, TimeFormatter, DataUnit, HTMLBuilder, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, FieldComparator, ArrayUtils as ArrayUtils$1 } from '@sankhyalabs/core';
4
4
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
5
5
 
6
6
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
@@ -709,7 +709,8 @@ class DataBinder {
709
709
  this._dataUnit.addRecord();
710
710
  }
711
711
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
712
- this._dataUnit.setFieldValue(fieldName, newValue);
712
+ const record = this._dataUnit.getSelectedRecord();
713
+ this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
713
714
  if (this._dataUnit.waitingForChange(fieldName)) {
714
715
  const bind = this._fields.get(fieldName);
715
716
  if (bind) {
@@ -125205,6 +125206,64 @@ function getElementID(sufix) {
125205
125206
  };
125206
125207
  }
125207
125208
 
125209
+ const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
125210
+ class ColumnFilterManager {
125211
+ static getColumnFilters(filters) {
125212
+ const columnFilters = new Map();
125213
+ if (filters == undefined || filters.length == 0) {
125214
+ return columnFilters;
125215
+ }
125216
+ filters.forEach(filter => {
125217
+ const match = COLUMN_FILTER_PATTERN.exec(filter.name);
125218
+ if (match) {
125219
+ columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
125220
+ }
125221
+ });
125222
+ return columnFilters;
125223
+ }
125224
+ static getFilterFunction(dataUnit, filters) {
125225
+ if (filters != undefined && filters.length > 0) {
125226
+ return record => {
125227
+ for (const filter of filters) {
125228
+ if (!ColumnFilterManager.recordMatchesFilter(dataUnit, record, filter)) {
125229
+ return false;
125230
+ }
125231
+ }
125232
+ return true;
125233
+ };
125234
+ }
125235
+ return undefined;
125236
+ }
125237
+ static recordMatchesFilter(dataUnit, record, columnFilter) {
125238
+ const fieldValue = record[columnFilter.columnName];
125239
+ for (let param of columnFilter.params) {
125240
+ const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
125241
+ if (FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
125242
+ return true;
125243
+ }
125244
+ }
125245
+ return false;
125246
+ }
125247
+ static compileDistinct(fieldName, dataUnit) {
125248
+ const request = dataUnit.getLastLoadRequest();
125249
+ let list = dataUnit.records;
125250
+ if (request != undefined) {
125251
+ const columnFilters = Array.from(ColumnFilterManager.getColumnFilters(request.filters).values());
125252
+ const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, columnFilters);
125253
+ if (filterFunciton != undefined) {
125254
+ list = list.filter(filterFunciton);
125255
+ }
125256
+ }
125257
+ return list.map(record => {
125258
+ const fieldValue = record[fieldName];
125259
+ if (fieldValue == undefined) {
125260
+ return { label: null, value: null, check: true };
125261
+ }
125262
+ return { label: dataUnit.getFormattedValue(fieldName, fieldValue), value: fieldValue, check: true };
125263
+ });
125264
+ }
125265
+ }
125266
+
125208
125267
  class InMemoryFilterColumnDataSource {
125209
125268
  constructor(dataUnit) {
125210
125269
  var _a;
@@ -125218,10 +125277,7 @@ class InMemoryFilterColumnDataSource {
125218
125277
  this.dataUnit.subscribe(this.onDataUnitAction);
125219
125278
  }
125220
125279
  getStaticOptions(fieldName) {
125221
- return new Promise(resolve => {
125222
- const options = this.originalRecords.map(item => this.buildFieldOption(item, fieldName));
125223
- resolve(this.removeDuplicatedOptions(options));
125224
- });
125280
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, this.dataUnit));
125225
125281
  }
125226
125282
  fetchData(filterTerm, fieldName) {
125227
125283
  return new Promise(resolve => {
@@ -125230,6 +125286,9 @@ class InMemoryFilterColumnDataSource {
125230
125286
  resolve(this.removeDuplicatedOptions(options));
125231
125287
  });
125232
125288
  }
125289
+ sortItems(fieldName, items) {
125290
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this.dataUnit, fieldName, items);
125291
+ }
125233
125292
  buildFieldOption(item, fieldName) {
125234
125293
  return {
125235
125294
  value: this.buildValue(item, fieldName),
@@ -125287,6 +125346,15 @@ class InMemoryFilterColumnDataSource {
125287
125346
  }
125288
125347
  return (_b = this.dataUnit.getFormattedValue(fieldName, value)) === null || _b === void 0 ? void 0 : _b.toString();
125289
125348
  }
125349
+ static defaultSorterMultSelectionOption(dataUnit, fieldName, items) {
125350
+ const fieldDescriptor = dataUnit.getField(fieldName);
125351
+ if (fieldDescriptor == undefined) {
125352
+ return ArrayUtils$1.sortAlphabetically(items);
125353
+ }
125354
+ return items.sort((itemA, itemB) => {
125355
+ return FieldComparator.compareValues(fieldDescriptor, itemA.value, itemB.value);
125356
+ });
125357
+ }
125290
125358
  }
125291
125359
 
125292
125360
  const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:0 0 16px 0 rgb(0 38 111 / 12%)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF);z-index:var(--visible, 1)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s;z-index:var(--ez-grid__selection-counter--z-index)}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}";
@@ -126517,8 +126585,8 @@ const EzMuiltiSelectionList = class extends HTMLElement$1 {
126517
126585
  }
126518
126586
  });
126519
126587
  return (emptyElement == undefined ? [] : [emptyElement])
126520
- .concat(ArrayUtils$1.sortAlphabetically(listWithSelectChecked))
126521
- .concat(ArrayUtils$1.sortAlphabetically(listWithNotSelectChecked));
126588
+ .concat(this.dataSource == undefined ? ArrayUtils$1.sortAlphabetically(listWithSelectChecked) : this.dataSource.sortItems(this.columnName, listWithSelectChecked))
126589
+ .concat(this.dataSource == undefined ? ArrayUtils$1.sortAlphabetically(listWithNotSelectChecked) : this.dataSource.sortItems(this.columnName, listWithNotSelectChecked));
126522
126590
  }
126523
126591
  changeCheckAllValeuFromFilteredOptions() {
126524
126592
  var _a, _b, _c, _d;
@@ -342,7 +342,8 @@ class DataBinder {
342
342
  this._dataUnit.addRecord();
343
343
  }
344
344
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
345
- this._dataUnit.setFieldValue(fieldName, newValue);
345
+ const record = this._dataUnit.getSelectedRecord();
346
+ this._dataUnit.setFieldValue(fieldName, newValue, record ? [record.__record__id__] : undefined);
346
347
  if (this._dataUnit.waitingForChange(fieldName)) {
347
348
  const bind = this._fields.get(fieldName);
348
349
  if (bind) {
@@ -1,5 +1,5 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-296b8458.js';
2
- import { Action, ObjectUtils as ObjectUtils$1, HTMLBuilder, ApplicationContext, UserInterface, StringUtils as StringUtils$1, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, ElementIDUtils, DateUtils as DateUtils$1, JSUtils } from '@sankhyalabs/core';
2
+ import { Action, ObjectUtils as ObjectUtils$1, HTMLBuilder, ApplicationContext, UserInterface, StringUtils as StringUtils$1, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, ElementIDUtils, FieldComparator, DateUtils as DateUtils$1, ArrayUtils as ArrayUtils$1, JSUtils } from '@sankhyalabs/core';
3
3
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
4
4
  import { E as EZ_GRID_LOADING_SOURCE, D as DISTINCT_FILTER_NAME_PREFIX } from './constants-4e0d35b7.js';
5
5
  import { b as buildFieldMetadata, R as RecordValidationProcessor } from './RecordValidationProcessor-03a15fd0.js';
@@ -120446,6 +120446,64 @@ function getElementID(sufix) {
120446
120446
  };
120447
120447
  }
120448
120448
 
120449
+ const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
120450
+ class ColumnFilterManager {
120451
+ static getColumnFilters(filters) {
120452
+ const columnFilters = new Map();
120453
+ if (filters == undefined || filters.length == 0) {
120454
+ return columnFilters;
120455
+ }
120456
+ filters.forEach(filter => {
120457
+ const match = COLUMN_FILTER_PATTERN.exec(filter.name);
120458
+ if (match) {
120459
+ columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
120460
+ }
120461
+ });
120462
+ return columnFilters;
120463
+ }
120464
+ static getFilterFunction(dataUnit, filters) {
120465
+ if (filters != undefined && filters.length > 0) {
120466
+ return record => {
120467
+ for (const filter of filters) {
120468
+ if (!ColumnFilterManager.recordMatchesFilter(dataUnit, record, filter)) {
120469
+ return false;
120470
+ }
120471
+ }
120472
+ return true;
120473
+ };
120474
+ }
120475
+ return undefined;
120476
+ }
120477
+ static recordMatchesFilter(dataUnit, record, columnFilter) {
120478
+ const fieldValue = record[columnFilter.columnName];
120479
+ for (let param of columnFilter.params) {
120480
+ const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
120481
+ if (FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
120482
+ return true;
120483
+ }
120484
+ }
120485
+ return false;
120486
+ }
120487
+ static compileDistinct(fieldName, dataUnit) {
120488
+ const request = dataUnit.getLastLoadRequest();
120489
+ let list = dataUnit.records;
120490
+ if (request != undefined) {
120491
+ const columnFilters = Array.from(ColumnFilterManager.getColumnFilters(request.filters).values());
120492
+ const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, columnFilters);
120493
+ if (filterFunciton != undefined) {
120494
+ list = list.filter(filterFunciton);
120495
+ }
120496
+ }
120497
+ return list.map(record => {
120498
+ const fieldValue = record[fieldName];
120499
+ if (fieldValue == undefined) {
120500
+ return { label: null, value: null, check: true };
120501
+ }
120502
+ return { label: dataUnit.getFormattedValue(fieldName, fieldValue), value: fieldValue, check: true };
120503
+ });
120504
+ }
120505
+ }
120506
+
120449
120507
  class InMemoryFilterColumnDataSource {
120450
120508
  constructor(dataUnit) {
120451
120509
  var _a;
@@ -120459,10 +120517,7 @@ class InMemoryFilterColumnDataSource {
120459
120517
  this.dataUnit.subscribe(this.onDataUnitAction);
120460
120518
  }
120461
120519
  getStaticOptions(fieldName) {
120462
- return new Promise(resolve => {
120463
- const options = this.originalRecords.map(item => this.buildFieldOption(item, fieldName));
120464
- resolve(this.removeDuplicatedOptions(options));
120465
- });
120520
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, this.dataUnit));
120466
120521
  }
120467
120522
  fetchData(filterTerm, fieldName) {
120468
120523
  return new Promise(resolve => {
@@ -120471,6 +120526,9 @@ class InMemoryFilterColumnDataSource {
120471
120526
  resolve(this.removeDuplicatedOptions(options));
120472
120527
  });
120473
120528
  }
120529
+ sortItems(fieldName, items) {
120530
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this.dataUnit, fieldName, items);
120531
+ }
120474
120532
  buildFieldOption(item, fieldName) {
120475
120533
  return {
120476
120534
  value: this.buildValue(item, fieldName),
@@ -120528,6 +120586,15 @@ class InMemoryFilterColumnDataSource {
120528
120586
  }
120529
120587
  return (_b = this.dataUnit.getFormattedValue(fieldName, value)) === null || _b === void 0 ? void 0 : _b.toString();
120530
120588
  }
120589
+ static defaultSorterMultSelectionOption(dataUnit, fieldName, items) {
120590
+ const fieldDescriptor = dataUnit.getField(fieldName);
120591
+ if (fieldDescriptor == undefined) {
120592
+ return ArrayUtils$1.sortAlphabetically(items);
120593
+ }
120594
+ return items.sort((itemA, itemB) => {
120595
+ return FieldComparator.compareValues(fieldDescriptor, itemA.value, itemB.value);
120596
+ });
120597
+ }
120531
120598
  }
120532
120599
 
120533
120600
  const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:0 0 16px 0 rgb(0 38 111 / 12%)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF);z-index:var(--visible, 1)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s;z-index:var(--ez-grid__selection-counter--z-index)}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}";
@@ -67,8 +67,8 @@ const EzMuiltiSelectionList = class {
67
67
  }
68
68
  });
69
69
  return (emptyElement == undefined ? [] : [emptyElement])
70
- .concat(ArrayUtils.sortAlphabetically(listWithSelectChecked))
71
- .concat(ArrayUtils.sortAlphabetically(listWithNotSelectChecked));
70
+ .concat(this.dataSource == undefined ? ArrayUtils.sortAlphabetically(listWithSelectChecked) : this.dataSource.sortItems(this.columnName, listWithSelectChecked))
71
+ .concat(this.dataSource == undefined ? ArrayUtils.sortAlphabetically(listWithNotSelectChecked) : this.dataSource.sortItems(this.columnName, listWithNotSelectChecked));
72
72
  }
73
73
  changeCheckAllValeuFromFilteredOptions() {
74
74
  var _a, _b, _c, _d;
@@ -1 +1 @@
1
- import{p as e,b as o}from"./p-e318d280.js";export{s as setNonce}from"./p-e318d280.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((e=>o(JSON.parse('[["p-40cf4952",[[6,"ez-grid",{"multipleSelection":[4,"multiple-selection"],"config":[1040],"selectionToastConfig":[16],"serverUrl":[1,"server-url"],"dataUnit":[16],"statusResolver":[16],"columnfilterDataSource":[16],"useEnterLikeTab":[4,"use-enter-like-tab"],"recordsValidator":[16],"canEdit":[4,"can-edit"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32],"setColumnsDef":[64],"addColumnMenuItem":[64],"setColumnsState":[64],"setData":[64],"getSelection":[64],"getColumnsState":[64],"getColumns":[64],"quickFilter":[64]},[[0,"ezSelectionChange","onSelectionChange"]]]]],["p-f55d75e7",[[1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32],"disableItem":[64],"openGuideNavidator":[64],"enableItem":[64],"updateItem":[64],"getItem":[64],"getCurrentPath":[64],"selectGuide":[64],"getParent":[64]}]]],["p-d4cfe7cd",[[1,"ez-actions-button",{"enabled":[516],"actions":[1040],"size":[513],"showLabel":[516,"show-label"],"displayIcon":[513,"display-icon"],"checkOption":[516,"check-option"],"value":[513],"isTransparent":[516,"is-transparent"],"arrowActive":[516,"arrow-active"],"_selectedAction":[32],"hideActions":[64],"isOpened":[64]}]]],["p-cd19a6f8",[[1,"ez-breadcrumb",{"items":[1040],"fillMode":[1025,"fill-mode"],"maxItems":[1026,"max-items"],"positionEllipsis":[1026,"position-ellipsis"],"visibleItems":[32],"hiddenItems":[32],"showDropdown":[32],"collapseConfigPosition":[32]}]]],["p-db528b31",[[1,"ez-dialog",{"confirm":[1028],"dialogType":[1025,"dialog-type"],"message":[1025],"opened":[1540],"personalizedIconPath":[1025,"personalized-icon-path"],"ezTitle":[1025,"ez-title"],"beforeClose":[1040],"show":[64]}]]],["p-a01068e1",[[6,"ez-modal-container",{"modalTitle":[1,"modal-title"],"modalSubTitle":[1,"modal-sub-title"],"showTitleBar":[4,"show-title-bar"],"cancelButtonLabel":[1,"cancel-button-label"],"okButtonLabel":[1,"ok-button-label"],"cancelButtonStatus":[1,"cancel-button-status"],"okButtonStatus":[1,"ok-button-status"]}]]],["p-60ba28ea",[[1,"ez-alert",{"alertType":[513,"alert-type"]}]]],["p-c49dbf23",[[1,"ez-badge",{"size":[513],"label":[513],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"position":[1040],"hasSlot":[32]}]]],["p-f4208819",[[1,"ez-chip",{"label":[513],"enabled":[516],"removePosition":[513,"remove-position"],"mode":[513],"value":[1540],"showNativeTooltip":[4,"show-native-tooltip"],"setFocus":[64],"setBlur":[64]}]]],["p-ccb4ccd9",[[1,"ez-file-item",{"canRemove":[4,"can-remove"],"fileName":[1,"file-name"],"iconName":[1,"icon-name"],"fileSize":[2,"file-size"],"progress":[2]}]]],["p-d51aa09b",[[0,"ez-application"]]],["p-47afb974",[[1,"ez-card-item",{"item":[16]}]]],["p-7525e604",[[1,"ez-loading-bar",{"_showLoading":[32],"hide":[64],"show":[64]}]]],["p-5ce6548c",[[1,"ez-modal",{"modalSize":[1,"modal-size"],"align":[1],"heightMode":[1,"height-mode"],"opened":[1028],"closeEsc":[4,"close-esc"],"closeOutsideClick":[4,"close-outside-click"],"scrim":[1]}]]],["p-e7fa0ad6",[[1,"ez-popup",{"size":[1],"opened":[1540],"useHeader":[516,"use-header"],"heightMode":[513,"height-mode"],"ezTitle":[1,"ez-title"]}]]],["p-b11f035c",[[1,"ez-radio-button",{"value":[1544],"options":[1040],"enabled":[516],"label":[513],"direction":[1537]}]]],["p-5d6f2550",[[0,"ez-skeleton",{"count":[2],"variant":[1],"width":[1],"height":[1],"marginBottom":[1,"margin-bottom"],"animation":[1]}]]],["p-fa571a4e",[[1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"],"canClose":[1028,"can-close"],"show":[64]}]]],["p-9b347f04",[[0,"ez-view-stack",{"show":[64],"getSelectedIndex":[64]}]]],["p-7fd54841",[[2,"ez-form-view",{"fields":[16],"showUp":[64]}]]],["p-87e85160",[[0,"multi-selection-box-message",{"message":[1]}],[1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513],"asyncSearch":[516,"async-search"],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"setValue":[64],"endSearch":[64]}]]],["p-b12b31a7",[[2,"ez-multi-selection-list",{"columnName":[1,"column-name"],"dataSource":[16],"useOptions":[1028,"use-options"],"options":[1040],"isTextSearch":[4,"is-text-search"],"filteredOptions":[32],"displayOptions":[32],"viewScenario":[32],"displayOptionToCheckAllItems":[32],"clearFilteredOptions":[64]}]]],["p-a42fe2ce",[[0,"filter-column",{"opened":[4],"columnName":[1,"column-name"],"columnLabel":[1,"column-label"],"gridHeaderHidden":[4,"grid-header-hidden"],"noHeaderTaskBar":[1028,"no-header-task-bar"],"dataSource":[16],"dataUnit":[16],"options":[1040],"selectedItems":[32],"fieldDescriptor":[32],"useOptions":[32],"isTextSearch":[32],"hide":[64],"show":[64]}]]],["p-74049254",[[1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]}]]],["p-83885b21",[[1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32]}]]],["p-f734d469",[[1,"ez-collapsible-box",{"value":[1540],"boxBordered":[4,"box-bordered"],"label":[513],"subtitle":[513],"headerSize":[513,"header-size"],"iconPlacement":[513,"icon-placement"],"headerAlign":[513,"header-align"],"removable":[516],"editable":[516],"conditionalSave":[16],"_activeEditText":[32],"showHide":[64],"applyFocusTextEdit":[64],"cancelEdition":[64]}]]],["p-5cef0264",[[1,"ez-calendar",{"value":[1040],"floating":[516],"time":[516],"showSeconds":[516,"show-seconds"],"show":[64],"fitVertical":[64],"fitHorizontal":[64],"hide":[64]},[[11,"scroll","scrollListener"]]]]],["p-e67d0bd5",[[1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-d43b22f3",[[1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-ce035beb",[[1,"ez-date-time-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-028f264f",[[1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-e2dfd935",[[1,"ez-number-input",{"label":[1],"value":[1538],"enabled":[4],"canShowError":[516,"can-show-error"],"errorMessage":[1537,"error-message"],"precision":[2],"prettyPrecision":[2,"pretty-precision"],"mode":[513],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-2da09f70",[[1,"ez-popover",{"autoClose":[516,"auto-close"],"boxWidth":[513,"box-width"],"opened":[1540],"innerElement":[1537,"inner-element"],"overlayType":[513,"overlay-type"],"updatePosition":[64],"show":[64],"showUnder":[64],"hide":[64]}]]],["p-391de0e4",[[1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"],"appendTextToSelection":[64],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-accc4282",[[1,"ez-upload",{"label":[1],"subtitle":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040],"addFiles":[64],"setFocus":[64],"setBlur":[64]}]]],["p-a68063e8",[[1,"ez-text-edit",{"value":[1],"styled":[16],"_newValue":[32],"applyFocusSelect":[64]}]]],["p-d81917fd",[[1,"ez-tree",{"items":[1040],"value":[1040],"selectedId":[1537,"selected-id"],"iconResolver":[16],"tooltipResolver":[16],"_tree":[32],"_waintingForLoad":[32],"selectItem":[64],"openItem":[64],"disableItem":[64],"enableItem":[64],"addChild":[64],"applyFilter":[64],"updateItem":[64],"getItem":[64],"getCurrentPath":[64],"getParent":[64]},[[2,"keydown","onKeyDownListener"]]],[1,"ez-scroller",{"direction":[1],"locked":[4],"activeShadow":[4,"active-shadow"],"isActive":[32]},[[2,"click","clickListener"],[1,"mousedown","mouseDownHandler"],[1,"mouseup","mouseUpHandler"],[1,"mousemove","mouseMoveHandler"]]],[1,"ez-sidebar-button"]]],["p-244dfe8a",[[1,"ez-list",{"dataSource":[1040],"listMode":[1,"list-mode"],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"itemLeftSlotBuilder":[1040],"hoverFeedback":[1028,"hover-feedback"],"_listItems":[32],"_listGroupItems":[32],"clearHistory":[64],"scrollToTop":[64],"setSelection":[64],"getSelection":[64],"getList":[64],"removeSelection":[64]}]]],["p-16b5126b",[[1,"ez-combo-box",{"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"searchMode":[4,"search-mode"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32],"getValueAsync":[64],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"clearValue":[64]},[[11,"scroll","scrollListener"]]]]],["p-7526f2b6",[[1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"clearValue":[64],"getValueAsync":[64]}]]],["p-95426f93",[[1,"ez-check",{"label":[513],"value":[1540],"enabled":[1540],"indeterminate":[1540],"mode":[513],"compact":[4],"getMode":[64],"setFocus":[64]}]]],["p-1e7c4986",[[1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]]],["p-32b4163f",[[1,"ez-button",{"label":[513],"enabled":[516],"mode":[513],"image":[513],"iconName":[513,"icon-name"],"size":[513],"setFocus":[64],"setBlur":[64]},[[2,"click","clickListener"]]]]],["p-83bd4eae",[[2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"validate":[64]}]]]]'),e)));
1
+ import{p as e,b as o}from"./p-e318d280.js";export{s as setNonce}from"./p-e318d280.js";(()=>{const o=import.meta.url,t={};return""!==o&&(t.resourcesUrl=new URL(".",o).href),e(t)})().then((e=>o(JSON.parse('[["p-3662b961",[[6,"ez-grid",{"multipleSelection":[4,"multiple-selection"],"config":[1040],"selectionToastConfig":[16],"serverUrl":[1,"server-url"],"dataUnit":[16],"statusResolver":[16],"columnfilterDataSource":[16],"useEnterLikeTab":[4,"use-enter-like-tab"],"recordsValidator":[16],"canEdit":[4,"can-edit"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32],"setColumnsDef":[64],"addColumnMenuItem":[64],"setColumnsState":[64],"setData":[64],"getSelection":[64],"getColumnsState":[64],"getColumns":[64],"quickFilter":[64]},[[0,"ezSelectionChange","onSelectionChange"]]]]],["p-f55d75e7",[[1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32],"disableItem":[64],"openGuideNavidator":[64],"enableItem":[64],"updateItem":[64],"getItem":[64],"getCurrentPath":[64],"selectGuide":[64],"getParent":[64]}]]],["p-d4cfe7cd",[[1,"ez-actions-button",{"enabled":[516],"actions":[1040],"size":[513],"showLabel":[516,"show-label"],"displayIcon":[513,"display-icon"],"checkOption":[516,"check-option"],"value":[513],"isTransparent":[516,"is-transparent"],"arrowActive":[516,"arrow-active"],"_selectedAction":[32],"hideActions":[64],"isOpened":[64]}]]],["p-cd19a6f8",[[1,"ez-breadcrumb",{"items":[1040],"fillMode":[1025,"fill-mode"],"maxItems":[1026,"max-items"],"positionEllipsis":[1026,"position-ellipsis"],"visibleItems":[32],"hiddenItems":[32],"showDropdown":[32],"collapseConfigPosition":[32]}]]],["p-db528b31",[[1,"ez-dialog",{"confirm":[1028],"dialogType":[1025,"dialog-type"],"message":[1025],"opened":[1540],"personalizedIconPath":[1025,"personalized-icon-path"],"ezTitle":[1025,"ez-title"],"beforeClose":[1040],"show":[64]}]]],["p-a01068e1",[[6,"ez-modal-container",{"modalTitle":[1,"modal-title"],"modalSubTitle":[1,"modal-sub-title"],"showTitleBar":[4,"show-title-bar"],"cancelButtonLabel":[1,"cancel-button-label"],"okButtonLabel":[1,"ok-button-label"],"cancelButtonStatus":[1,"cancel-button-status"],"okButtonStatus":[1,"ok-button-status"]}]]],["p-60ba28ea",[[1,"ez-alert",{"alertType":[513,"alert-type"]}]]],["p-c49dbf23",[[1,"ez-badge",{"size":[513],"label":[513],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"position":[1040],"hasSlot":[32]}]]],["p-f4208819",[[1,"ez-chip",{"label":[513],"enabled":[516],"removePosition":[513,"remove-position"],"mode":[513],"value":[1540],"showNativeTooltip":[4,"show-native-tooltip"],"setFocus":[64],"setBlur":[64]}]]],["p-ccb4ccd9",[[1,"ez-file-item",{"canRemove":[4,"can-remove"],"fileName":[1,"file-name"],"iconName":[1,"icon-name"],"fileSize":[2,"file-size"],"progress":[2]}]]],["p-d51aa09b",[[0,"ez-application"]]],["p-47afb974",[[1,"ez-card-item",{"item":[16]}]]],["p-7525e604",[[1,"ez-loading-bar",{"_showLoading":[32],"hide":[64],"show":[64]}]]],["p-5ce6548c",[[1,"ez-modal",{"modalSize":[1,"modal-size"],"align":[1],"heightMode":[1,"height-mode"],"opened":[1028],"closeEsc":[4,"close-esc"],"closeOutsideClick":[4,"close-outside-click"],"scrim":[1]}]]],["p-e7fa0ad6",[[1,"ez-popup",{"size":[1],"opened":[1540],"useHeader":[516,"use-header"],"heightMode":[513,"height-mode"],"ezTitle":[1,"ez-title"]}]]],["p-b11f035c",[[1,"ez-radio-button",{"value":[1544],"options":[1040],"enabled":[516],"label":[513],"direction":[1537]}]]],["p-5d6f2550",[[0,"ez-skeleton",{"count":[2],"variant":[1],"width":[1],"height":[1],"marginBottom":[1,"margin-bottom"],"animation":[1]}]]],["p-fa571a4e",[[1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"],"canClose":[1028,"can-close"],"show":[64]}]]],["p-9b347f04",[[0,"ez-view-stack",{"show":[64],"getSelectedIndex":[64]}]]],["p-7fd54841",[[2,"ez-form-view",{"fields":[16],"showUp":[64]}]]],["p-87e85160",[[0,"multi-selection-box-message",{"message":[1]}],[1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513],"asyncSearch":[516,"async-search"],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"setValue":[64],"endSearch":[64]}]]],["p-22208198",[[2,"ez-multi-selection-list",{"columnName":[1,"column-name"],"dataSource":[16],"useOptions":[1028,"use-options"],"options":[1040],"isTextSearch":[4,"is-text-search"],"filteredOptions":[32],"displayOptions":[32],"viewScenario":[32],"displayOptionToCheckAllItems":[32],"clearFilteredOptions":[64]}]]],["p-a42fe2ce",[[0,"filter-column",{"opened":[4],"columnName":[1,"column-name"],"columnLabel":[1,"column-label"],"gridHeaderHidden":[4,"grid-header-hidden"],"noHeaderTaskBar":[1028,"no-header-task-bar"],"dataSource":[16],"dataUnit":[16],"options":[1040],"selectedItems":[32],"fieldDescriptor":[32],"useOptions":[32],"isTextSearch":[32],"hide":[64],"show":[64]}]]],["p-74049254",[[1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]}]]],["p-83885b21",[[1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32]}]]],["p-f734d469",[[1,"ez-collapsible-box",{"value":[1540],"boxBordered":[4,"box-bordered"],"label":[513],"subtitle":[513],"headerSize":[513,"header-size"],"iconPlacement":[513,"icon-placement"],"headerAlign":[513,"header-align"],"removable":[516],"editable":[516],"conditionalSave":[16],"_activeEditText":[32],"showHide":[64],"applyFocusTextEdit":[64],"cancelEdition":[64]}]]],["p-5cef0264",[[1,"ez-calendar",{"value":[1040],"floating":[516],"time":[516],"showSeconds":[516,"show-seconds"],"show":[64],"fitVertical":[64],"fitHorizontal":[64],"hide":[64]},[[11,"scroll","scrollListener"]]]]],["p-e67d0bd5",[[1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-d43b22f3",[[1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-ce035beb",[[1,"ez-date-time-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-028f264f",[[1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-e2dfd935",[[1,"ez-number-input",{"label":[1],"value":[1538],"enabled":[4],"canShowError":[516,"can-show-error"],"errorMessage":[1537,"error-message"],"precision":[2],"prettyPrecision":[2,"pretty-precision"],"mode":[513],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"getValueAsync":[64]}]]],["p-2da09f70",[[1,"ez-popover",{"autoClose":[516,"auto-close"],"boxWidth":[513,"box-width"],"opened":[1540],"innerElement":[1537,"inner-element"],"overlayType":[513,"overlay-type"],"updatePosition":[64],"show":[64],"showUnder":[64],"hide":[64]}]]],["p-391de0e4",[[1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"],"appendTextToSelection":[64],"setFocus":[64],"setBlur":[64],"isInvalid":[64]}]]],["p-accc4282",[[1,"ez-upload",{"label":[1],"subtitle":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040],"addFiles":[64],"setFocus":[64],"setBlur":[64]}]]],["p-a68063e8",[[1,"ez-text-edit",{"value":[1],"styled":[16],"_newValue":[32],"applyFocusSelect":[64]}]]],["p-d81917fd",[[1,"ez-tree",{"items":[1040],"value":[1040],"selectedId":[1537,"selected-id"],"iconResolver":[16],"tooltipResolver":[16],"_tree":[32],"_waintingForLoad":[32],"selectItem":[64],"openItem":[64],"disableItem":[64],"enableItem":[64],"addChild":[64],"applyFilter":[64],"updateItem":[64],"getItem":[64],"getCurrentPath":[64],"getParent":[64]},[[2,"keydown","onKeyDownListener"]]],[1,"ez-scroller",{"direction":[1],"locked":[4],"activeShadow":[4,"active-shadow"],"isActive":[32]},[[2,"click","clickListener"],[1,"mousedown","mouseDownHandler"],[1,"mouseup","mouseUpHandler"],[1,"mousemove","mouseMoveHandler"]]],[1,"ez-sidebar-button"]]],["p-244dfe8a",[[1,"ez-list",{"dataSource":[1040],"listMode":[1,"list-mode"],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"itemLeftSlotBuilder":[1040],"hoverFeedback":[1028,"hover-feedback"],"_listItems":[32],"_listGroupItems":[32],"clearHistory":[64],"scrollToTop":[64],"setSelection":[64],"getSelection":[64],"getList":[64],"removeSelection":[64]}]]],["p-16b5126b",[[1,"ez-combo-box",{"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"searchMode":[4,"search-mode"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32],"getValueAsync":[64],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"clearValue":[64]},[[11,"scroll","scrollListener"]]]]],["p-7526f2b6",[[1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"setFocus":[64],"setBlur":[64],"isInvalid":[64],"clearValue":[64],"getValueAsync":[64]}]]],["p-95426f93",[[1,"ez-check",{"label":[513],"value":[1540],"enabled":[1540],"indeterminate":[1540],"mode":[513],"compact":[4],"getMode":[64],"setFocus":[64]}]]],["p-1e7c4986",[[1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]]],["p-32b4163f",[[1,"ez-button",{"label":[513],"enabled":[516],"mode":[513],"image":[513],"iconName":[513,"icon-name"],"size":[513],"setFocus":[64],"setBlur":[64]},[[2,"click","clickListener"]]]]],["p-978d09d0",[[2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"validate":[64]}]]]]'),e)));
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as s,F as e,H as h}from"./p-e318d280.js";import{ArrayUtils as l}from"@sankhyalabs/core";var o;!function(t){t.DATASOURCE_RESULTS="DATASOURCE_RESULTS",t.DATASOURCE_RESULTS_EMPTY="DATASOURCE_RESULTS_EMPTY",t.DATASOURCE_INIT="DATASOURCE_INIT",t.OPTIONS_EMPTY="OPTIONS_EMPTY",t.OPTIONS="OPTIONS"}(o||(o={}));const n=class{constructor(s){t(this,s),this.changeFilteredOptions=i(this,"changeFilteredOptions",7),this.columnName=void 0,this.dataSource=void 0,this.useOptions=!1,this.options=void 0,this.isTextSearch=!1,this.filteredOptions=void 0,this.displayOptions=void 0,this.viewScenario=void 0,this.displayOptionToCheckAllItems=!0}async clearFilteredOptions(){this.setInitialScenario(),this.filteredOptions=[],this.searchInput&&(this.searchInput.value=""),this.filterInput&&(this.filterInput.value="")}onChangeUseOptions(){this.setInitialScenario()}onChangeOptions(){this.options&&(this.filteredOptions=this.ordenationByCheckStateAndAlphabetically(this.options)),this.checkInput&&this.changeCheckAllValeuFromFilteredOptions(),this.setInitialScenario()}onChangeFilteredOptions(t){this.displayOptions=this.filteredOptions,this.displayOptionToCheckAllItems=this.filteredOptions.length>1,this.checkInput&&this.changeCheckAllValeuFromFilteredOptions(),this.changeFilteredOptions.emit(t)}componentDidRender(){this.changeCheckAllValeuFromFilteredOptions()}ordenationByCheckStateAndAlphabetically(t){const i=[],s=[];let e;return t.forEach((t=>{null==t.value||""===t.label?e=Object.assign(Object.assign({},t),{label:"(Vazio)"}):t.check?i.push(t):s.push(t)})),(null==e?[]:[e]).concat(null==this.dataSource?l.sortAlphabetically(i):this.dataSource.sortItems(this.columnName,i)).concat(null==this.dataSource?l.sortAlphabetically(s):this.dataSource.sortItems(this.columnName,s))}changeCheckAllValeuFromFilteredOptions(){var t,i,s,e;const h=null===(t=this.filteredOptions)||void 0===t?void 0:t.every((t=>!0===t.check)),l=null===(i=this.filteredOptions)||void 0===i?void 0:i.every((t=>!1===t.check)),o=(null===(s=this.filteredOptions)||void 0===s?void 0:s.some((t=>!1===t.check)))&&(null===(e=this.filteredOptions)||void 0===e?void 0:e.some((t=>!0===t.check)))&&(!h||!l);return this.checkInput&&h?(this.checkInput.indeterminate=!1,void(this.checkInput.value=!0)):this.checkInput&&o?(this.checkInput.indeterminate=!0,void(this.checkInput.value=!1)):this.checkInput&&l?(this.checkInput.indeterminate=!1,void(this.checkInput.value=!1)):void 0}setInitialScenario(){if(this.useOptions)return this.viewScenario=o.OPTIONS,void this.changeCheckAllValeuFromFilteredOptions();this.viewScenario=this.options&&this.options.length>0?o.DATASOURCE_RESULTS:o.DATASOURCE_INIT}async searchWithDataSource(t,i){const{argument:s,mode:e}=t;if("PRELOAD"!==e)return this.dataSource.fetchData(s,i)}handleSearchOnDataSource(t){var i;const s=null!==(i=this.filteredOptions)&&void 0!==i?i:[];t.detail&&!s.some((i=>i.value==t.detail.value))&&(this.filteredOptions=this.ordenationByCheckStateAndAlphabetically([...s,t.detail])),this.viewScenario=o.DATASOURCE_RESULTS,this.searchInput.value=""}handleRemoveItemFromOptions(t){this.filteredOptions=this.ordenationByCheckStateAndAlphabetically(this.filteredOptions.filter((i=>i.value!==t.value))),0===this.filteredOptions.length&&(this.viewScenario=o.DATASOURCE_INIT),this.searchInput&&(this.searchInput.value="")}handleSearchOnOption(t){if(t.detail)return this.displayOptions=l.applyStringFilter(t.detail,this.filteredOptions,!0),void(this.viewScenario=0===this.displayOptions.length?o.OPTIONS_EMPTY:o.OPTIONS);this.displayOptions=this.filteredOptions,this.viewScenario=o.OPTIONS}handleChangeSelectAllItems(t){this.filteredOptions=this.ordenationByCheckStateAndAlphabetically([...this.filteredOptions.map((i=>(i.check=!!t.detail,i)))])}handleChangeSelectedItem(t){const{detail:i}=t;this.filteredOptions=this.filteredOptions.map((t=>t.label===i.label?Object.assign(Object.assign({},t),{check:i.check}):t)),this.clearInputs()}clearInputs(){this.filterInput?this.filterInput.value="":this.searchInput.value=""}buildViewList(t){return s(e,null,this.displayOptionToCheckAllItems&&s("ez-check",{ref:t=>this.checkInput=t,label:"Selecionar todos",class:"multi-selection__select-all",onEzChange:this.handleChangeSelectAllItems.bind(this)}),s("ez-list",{class:"multi-selection__list",dataSource:this.displayOptions,listMode:"check",hoverFeedback:!0,onEzCheckChange:this.handleChangeSelectedItem.bind(this),itemSlotBuilder:t?this.buildDeleteIconSlot.bind(this):null}))}buildDeleteIconSlot(t){return s("ez-icon",{style:{cursor:"pointer"},iconName:"delete",onClick:()=>this.handleRemoveItemFromOptions(t)})}buildInitViewWithDataSource(){return s("multi-selection-box-message",{message:"Selecione os valores a serem filtrados através do campo de busca."})}buildViewEmptyResults(){return s("multi-selection-box-message",{message:"Nenhum resultado encontrado."})}scenarioToDisplay(t){const i={[o.DATASOURCE_INIT]:()=>this.buildInitViewWithDataSource(),[o.DATASOURCE_RESULTS]:()=>this.buildViewList(!0),[o.DATASOURCE_RESULTS_EMPTY]:()=>this.buildViewEmptyResults(),[o.OPTIONS_EMPTY]:()=>this.buildViewEmptyResults(),[o.OPTIONS]:()=>this.buildViewList(!1)}[t];return i?i():void 0}render(){return s(h,null,s("div",{class:"multi-selection"},this.useOptions?s("ez-filter-input",{ref:t=>this.filterInput=t,label:"Buscar..",onEzChange:this.handleSearchOnOption.bind(this)}):s("ez-search",{class:"multi-selection__input",label:"Buscar...",ref:t=>this.searchInput=t,suppressEmptyOption:!0,showOptionValue:!1,showSelectedValue:!1,optionLoader:t=>this.searchWithDataSource(t,this.columnName),onEzChange:this.handleSearchOnDataSource.bind(this),isTextSearch:this.isTextSearch}),s("ez-scroll",{class:"multi-selection__content-options"},this.scenarioToDisplay(this.viewScenario))))}static get watchers(){return{useOptions:["onChangeUseOptions"],options:["onChangeOptions"],filteredOptions:["onChangeFilteredOptions"]}}};n.style=".sc-ez-multi-selection-list-h{--ez-check--outter-gap:0px;display:block;width:304px;height:322px;max-height:calc(100vh - 350px)}.multi-selection__input.sc-ez-multi-selection-list{margin-bottom:var(--space--2xs, 8px)}.multi-selection__content-options.sc-ez-multi-selection-list{position:relative;top:-12px;left:-4px}.multi-selection__select-all.sc-ez-multi-selection-list{height:var(--space--xl);margin:0 var(--space--small, 6px)}.multi-selection__list.sc-ez-multi-selection-list{height:235px;max-height:calc(100vh - 435px);overflow-y:auto;overflow-x:clip}.multi-selection__list.sc-ez-multi-selection-list::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}";export{n as ez_multi_selection_list}