@sankhyalabs/sankhyablocks 8.8.0-rc.9 → 8.8.0

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 (78) hide show
  1. package/dist/cjs/{ConfigStorage-908ce5bc.js → ConfigStorage-c15716fd.js} +3 -0
  2. package/dist/cjs/PreloadManager-e26d237f.js +224 -0
  3. package/dist/cjs/{SnkFormConfigManager-793ade39.js → SnkFormConfigManager-29101e20.js} +1 -1
  4. package/dist/cjs/{SnkMultiSelectionListDataSource-f000a53f.js → SnkMultiSelectionListDataSource-d74d2336.js} +10 -6
  5. package/dist/cjs/{dataunit-fetcher-e86cba8a.js → dataunit-fetcher-66c0b7af.js} +10 -267
  6. package/dist/cjs/snk-actions-button.cjs.entry.js +3 -1
  7. package/dist/cjs/snk-application.cjs.entry.js +4 -2
  8. package/dist/cjs/snk-attach.cjs.entry.js +3 -1
  9. package/dist/cjs/snk-crud.cjs.entry.js +3 -1
  10. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -4
  11. package/dist/cjs/snk-filter-bar.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-form.cjs.entry.js +2 -2
  14. package/dist/cjs/snk-grid-config.cjs.entry.js +1 -1
  15. package/dist/cjs/snk-grid.cjs.entry.js +5 -5
  16. package/dist/cjs/{snk-guides-viewer-22e180b5.js → snk-guides-viewer-b173ce35.js} +3 -2
  17. package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -4
  18. package/dist/cjs/snk-personalized-filter.cjs.entry.js +1 -1
  19. package/dist/cjs/snk-simple-crud.cjs.entry.js +5 -2
  20. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +5 -5
  21. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +15 -54
  22. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +3 -0
  23. package/dist/components/ConfigStorage.js +3 -0
  24. package/dist/components/SnkMultiSelectionListDataSource.js +5 -5
  25. package/dist/components/dataunit-fetcher.js +15 -53
  26. package/dist/esm/{ConfigStorage-48648d45.js → ConfigStorage-79c81f36.js} +3 -0
  27. package/dist/esm/PreloadManager-8826b96a.js +222 -0
  28. package/dist/esm/{SnkFormConfigManager-3c15f319.js → SnkFormConfigManager-7723f3ec.js} +1 -1
  29. package/dist/esm/{SnkMultiSelectionListDataSource-922f0941.js → SnkMultiSelectionListDataSource-27572f47.js} +6 -6
  30. package/dist/esm/{dataunit-fetcher-ec40608e.js → dataunit-fetcher-831feb12.js} +3 -259
  31. package/dist/esm/snk-actions-button.entry.js +3 -1
  32. package/dist/esm/snk-application.entry.js +4 -2
  33. package/dist/esm/snk-attach.entry.js +3 -1
  34. package/dist/esm/snk-crud.entry.js +3 -1
  35. package/dist/esm/snk-detail-view.entry.js +6 -4
  36. package/dist/esm/snk-filter-bar.entry.js +1 -1
  37. package/dist/esm/snk-filter-modal-item.entry.js +1 -1
  38. package/dist/esm/snk-form.entry.js +2 -2
  39. package/dist/esm/snk-grid-config.entry.js +1 -1
  40. package/dist/esm/snk-grid.entry.js +5 -5
  41. package/dist/esm/{snk-guides-viewer-f5f50062.js → snk-guides-viewer-e62e0edc.js} +3 -2
  42. package/dist/esm/snk-guides-viewer.entry.js +6 -4
  43. package/dist/esm/snk-personalized-filter.entry.js +1 -1
  44. package/dist/esm/snk-simple-crud.entry.js +5 -2
  45. package/dist/sankhyablocks/{p-abff11ef.entry.js → p-06e76ed2.entry.js} +1 -1
  46. package/dist/sankhyablocks/p-29176742.js +56 -0
  47. package/dist/sankhyablocks/{p-8015cbfb.js → p-2e6f1666.js} +1 -1
  48. package/dist/sankhyablocks/{p-2ecd9a19.entry.js → p-3bf4df20.entry.js} +1 -1
  49. package/dist/sankhyablocks/p-3c4f0354.js +1 -0
  50. package/dist/sankhyablocks/p-3ccb321d.entry.js +1 -0
  51. package/dist/sankhyablocks/{p-afacdce6.entry.js → p-47e4b6c9.entry.js} +1 -1
  52. package/dist/sankhyablocks/{p-395567f3.entry.js → p-4f5b995d.entry.js} +1 -1
  53. package/dist/sankhyablocks/p-5f6113c8.js +60 -0
  54. package/dist/sankhyablocks/{p-3c884841.entry.js → p-72b32e25.entry.js} +2 -2
  55. package/dist/sankhyablocks/p-77756526.js +1 -0
  56. package/dist/sankhyablocks/{p-f07a5363.entry.js → p-848b2e3b.entry.js} +1 -1
  57. package/dist/sankhyablocks/p-862e5bf6.entry.js +1 -0
  58. package/dist/sankhyablocks/p-95b05e58.entry.js +1 -0
  59. package/dist/sankhyablocks/p-a1cce4f5.entry.js +1 -0
  60. package/dist/sankhyablocks/p-d32fe25e.js +1 -0
  61. package/dist/sankhyablocks/p-eb1561bf.entry.js +1 -0
  62. package/dist/sankhyablocks/p-f1743d68.entry.js +1 -0
  63. package/dist/sankhyablocks/p-f2e798f1.entry.js +1 -0
  64. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  65. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
  66. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +3 -6
  67. package/package.json +4 -4
  68. package/dist/sankhyablocks/p-2b39abbc.js +0 -56
  69. package/dist/sankhyablocks/p-3307f385.entry.js +0 -1
  70. package/dist/sankhyablocks/p-3fd5b4c1.entry.js +0 -1
  71. package/dist/sankhyablocks/p-43cbd6ba.js +0 -1
  72. package/dist/sankhyablocks/p-5b4b85a9.entry.js +0 -1
  73. package/dist/sankhyablocks/p-63784e83.js +0 -1
  74. package/dist/sankhyablocks/p-9713c75c.js +0 -60
  75. package/dist/sankhyablocks/p-c0c48f19.entry.js +0 -1
  76. package/dist/sankhyablocks/p-e040c626.entry.js +0 -1
  77. package/dist/sankhyablocks/p-ea573860.entry.js +0 -1
  78. package/dist/sankhyablocks/p-efc9b851.entry.js +0 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-793ade39.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
8
8
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
9
9
  require('./DataFetcher-713f0749.js');
10
10
  require('./pesquisa-fetcher-34922b83.js');
@@ -12,17 +12,19 @@ const index$1 = require('./index-0e663819.js');
12
12
  require('./ISave-d68ce3cd.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- require('./dataunit-fetcher-e86cba8a.js');
15
+ require('./dataunit-fetcher-66c0b7af.js');
16
+ require('./PreloadManager-e26d237f.js');
16
17
  require('./filter-item-type.enum-aa823a00.js');
17
18
  require('./form-config-fetcher-17775a75.js');
18
19
  const taskbarElements = require('./taskbar-elements-39949c7a.js');
19
20
  const constants = require('./constants-d187e03e.js');
20
- const snkGuidesViewer = require('./snk-guides-viewer-22e180b5.js');
21
+ const snkGuidesViewer = require('./snk-guides-viewer-b173ce35.js');
21
22
  const SnkMessageBuilder = require('./SnkMessageBuilder-dbc8d14e.js');
22
- require('./ConfigStorage-908ce5bc.js');
23
+ require('./ConfigStorage-c15716fd.js');
23
24
  require('./_commonjsHelpers-537d719a.js');
24
25
  require('./PrintUtils-bcaeb82f.js');
25
26
  require('./ResourceIDUtils-5ff86aa7.js');
27
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
26
28
  require('./index-102ba62d.js');
27
29
  require('./taskbar-processor-bce3f499.js');
28
30
  require('@sankhyalabs/core/dist/dataunit/DataUnit');
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index$1 = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const EzScrollDirection = require('@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection');
8
- const ConfigStorage = require('./ConfigStorage-908ce5bc.js');
8
+ const ConfigStorage = require('./ConfigStorage-c15716fd.js');
9
9
  const DataType = require('@sankhyalabs/core/dist/dataunit/metadata/DataType');
10
10
  const filterItemType_enum = require('./filter-item-type.enum-aa823a00.js');
11
11
  const index = require('./index-c5771aba.js');
@@ -6,7 +6,7 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const filterItemType_enum = require('./filter-item-type.enum-aa823a00.js');
8
8
  const presentationMode = require('./presentationMode-52ec3bdd.js');
9
- const ConfigStorage = require('./ConfigStorage-908ce5bc.js');
9
+ const ConfigStorage = require('./ConfigStorage-c15716fd.js');
10
10
  const filterType_enum = require('./filter-type.enum-b14ce507.js');
11
11
  require('./form-config-fetcher-17775a75.js');
12
12
  require('./DataFetcher-713f0749.js');
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const SnkFormConfigManager = require('./SnkFormConfigManager-793ade39.js');
7
+ const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
8
8
  const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
- require('./ConfigStorage-908ce5bc.js');
9
+ require('./ConfigStorage-c15716fd.js');
10
10
  require('./form-config-fetcher-17775a75.js');
11
11
  require('./DataFetcher-713f0749.js');
12
12
  require('./_commonjsHelpers-537d719a.js');
@@ -6,7 +6,7 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
8
8
  const CheckMode = require('@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode');
9
- const ConfigStorage = require('./ConfigStorage-908ce5bc.js');
9
+ const ConfigStorage = require('./ConfigStorage-c15716fd.js');
10
10
  const constants = require('./constants-d187e03e.js');
11
11
  require('./form-config-fetcher-17775a75.js');
12
12
  require('./DataFetcher-713f0749.js');
@@ -6,20 +6,20 @@ const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
8
8
  const taskbarElements = require('./taskbar-elements-39949c7a.js');
9
- const ConfigStorage = require('./ConfigStorage-908ce5bc.js');
9
+ const ConfigStorage = require('./ConfigStorage-c15716fd.js');
10
10
  const index$1 = require('./index-0e663819.js');
11
11
  const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
12
12
  const index$2 = require('./index-102ba62d.js');
13
- const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-f000a53f.js');
13
+ const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-d74d2336.js');
14
14
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
15
15
  require('./form-config-fetcher-17775a75.js');
16
16
  require('./DataFetcher-713f0749.js');
17
17
  require('./_commonjsHelpers-537d719a.js');
18
18
  require('./PrintUtils-bcaeb82f.js');
19
19
  require('./filter-item-type.enum-aa823a00.js');
20
- require('./dataunit-fetcher-e86cba8a.js');
21
- require('@sankhyalabs/ezui/dist/collection/utils/constants');
22
- require('./ResourceIDUtils-5ff86aa7.js');
20
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
21
+ require('./PreloadManager-e26d237f.js');
22
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
23
23
 
24
24
  const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
25
25
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  const index = require('./index-f9e81701.js');
4
4
  const core = require('@sankhyalabs/core');
5
- const SnkFormConfigManager = require('./SnkFormConfigManager-793ade39.js');
5
+ const SnkFormConfigManager = require('./SnkFormConfigManager-29101e20.js');
6
6
  const form = require('@sankhyalabs/ezui/dist/collection/utils/form');
7
7
  const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
8
8
  const taskbarElements = require('./taskbar-elements-39949c7a.js');
@@ -13,7 +13,8 @@ const index$1 = require('./index-0e663819.js');
13
13
  require('./ISave-d68ce3cd.js');
14
14
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
15
15
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
16
- require('./dataunit-fetcher-e86cba8a.js');
16
+ require('./dataunit-fetcher-66c0b7af.js');
17
+ require('./PreloadManager-e26d237f.js');
17
18
  require('./filter-item-type.enum-aa823a00.js');
18
19
  require('./form-config-fetcher-17775a75.js');
19
20
  const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-22e180b5.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-b173ce35.js');
6
6
  require('./index-f9e81701.js');
7
7
  require('@sankhyalabs/core');
8
- require('./SnkFormConfigManager-793ade39.js');
9
- require('./ConfigStorage-908ce5bc.js');
8
+ require('./SnkFormConfigManager-29101e20.js');
9
+ require('./ConfigStorage-c15716fd.js');
10
10
  require('./form-config-fetcher-17775a75.js');
11
11
  require('./DataFetcher-713f0749.js');
12
12
  require('./_commonjsHelpers-537d719a.js');
@@ -22,7 +22,9 @@ require('./constants-d187e03e.js');
22
22
  require('./pesquisa-fetcher-34922b83.js');
23
23
  require('./ISave-d68ce3cd.js');
24
24
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
25
- require('./dataunit-fetcher-e86cba8a.js');
25
+ require('./dataunit-fetcher-66c0b7af.js');
26
+ require('./PreloadManager-e26d237f.js');
27
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
26
28
  require('./ResourceIDUtils-5ff86aa7.js');
27
29
  require('@sankhyalabs/core/dist/dataunit/DataUnit');
28
30
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-f9e81701.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const PersonalizedFilterUtils = require('./PersonalizedFilterUtils-1aeb625d.js');
8
- const ConfigStorage = require('./ConfigStorage-908ce5bc.js');
8
+ const ConfigStorage = require('./ConfigStorage-c15716fd.js');
9
9
  const utils = require('@sankhyalabs/ezui/dist/collection/utils');
10
10
  const index$1 = require('./index-c5771aba.js');
11
11
  const index$2 = require('./index-102ba62d.js');
@@ -12,15 +12,18 @@ const index$1 = require('./index-0e663819.js');
12
12
  require('./ISave-d68ce3cd.js');
13
13
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
14
14
  require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
15
- const dataunitFetcher = require('./dataunit-fetcher-e86cba8a.js');
15
+ const dataunitFetcher = require('./dataunit-fetcher-66c0b7af.js');
16
+ require('./PreloadManager-e26d237f.js');
16
17
  require('./filter-item-type.enum-aa823a00.js');
17
18
  require('./form-config-fetcher-17775a75.js');
18
19
  const taskbarProcessor = require('./taskbar-processor-bce3f499.js');
19
- const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-f000a53f.js');
20
+ const SnkMultiSelectionListDataSource = require('./SnkMultiSelectionListDataSource-d74d2336.js');
20
21
  require('./index-102ba62d.js');
21
22
  require('./_commonjsHelpers-537d719a.js');
22
23
  require('./PrintUtils-bcaeb82f.js');
23
24
  require('./ResourceIDUtils-5ff86aa7.js');
25
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
26
+ require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource');
24
27
 
25
28
  const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:max-content;row-gap:12px;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";
26
29
 
@@ -1,4 +1,5 @@
1
1
  import { DateUtils, UserInterface } from '@sankhyalabs/core';
2
+ import { default as InMemoryFilterColumnDataSource } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
2
3
  import PreloadManager from '../../../lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager';
3
4
  export default class SnkMultiSelectionListDataSource {
4
5
  setDataUnit(dataUnit) {
@@ -18,11 +19,7 @@ export default class SnkMultiSelectionListDataSource {
18
19
  if (fieldName == undefined) {
19
20
  return Promise.resolve(undefined);
20
21
  }
21
- const result = await PreloadManager.getDistinct(this._dataUnit, fieldName);
22
- if (result == undefined) {
23
- return Promise.resolve(undefined);
24
- }
25
- return Promise.resolve(Array.from(result.entries()).map(([label, value]) => ({ label: String(label), value, check: true })));
22
+ return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
26
23
  }
27
24
  fetchData(filterTerm, fieldName) {
28
25
  return new Promise(resolve => {
@@ -37,4 +34,7 @@ export default class SnkMultiSelectionListDataSource {
37
34
  });
38
35
  });
39
36
  }
37
+ sortItems(fieldName, items) {
38
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this._dataUnit, fieldName, items);
39
+ }
40
40
  }
@@ -1,21 +1,12 @@
1
1
  import { DataUnit, FieldComparator, SortMode } from "@sankhyalabs/core";
2
- import DataUnitFetcher from "../dataunit-fetcher";
3
2
  import { ArrayRepository } from "./ArrayRepository";
4
- const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
3
+ import { ColumnFilterManager } from "@sankhyalabs/ezui/dist/collection/components/ez-grid/utils";
5
4
  export default class PreloadManager {
6
5
  static setLoadingStatus(dataUnit, loadingInProgress) {
7
6
  this._loadingStatus.set(dataUnit.name, loadingInProgress);
8
7
  }
9
- static isCacheEnabled(dataUnit) {
10
- const dataUnitResourceId = PreloadManager.getResourceId(dataUnit.name);
11
- if (dataUnitResourceId !== this.applicationResourceID) {
12
- return false;
13
- }
14
- return this.getRepository(dataUnit).isOperating();
15
- }
16
- static getResourceId(dataUnitName) {
17
- const dataUnitNameInfo = DataUnitFetcher.parseDataUnitName(dataUnitName);
18
- return dataUnitNameInfo == undefined ? undefined : dataUnitNameInfo.resourceID;
8
+ static isCacheEnabled(_dataUnit) {
9
+ return true;
19
10
  }
20
11
  static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
21
12
  PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
@@ -43,13 +34,13 @@ export default class PreloadManager {
43
34
  }
44
35
  static async getDistinct(dataUnit, fieldName) {
45
36
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
46
- return Promise.resolve(undefined);
37
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
47
38
  }
48
39
  let filterFunction;
49
40
  const request = dataUnit.getLastLoadRequest();
50
41
  if (request != undefined) {
51
- const columnFilters = PreloadManager.getColumnFilters(request.filters);
52
- filterFunction = PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
42
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
43
+ filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
53
44
  }
54
45
  return new Promise((accept, reject) => {
55
46
  PreloadManager.getRepository(dataUnit).distict(record => {
@@ -63,7 +54,13 @@ export default class PreloadManager {
63
54
  const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
64
55
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
65
56
  })
66
- .then(result => accept(result))
57
+ .then(result => {
58
+ if (result == undefined) {
59
+ accept(undefined);
60
+ return;
61
+ }
62
+ accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
63
+ })
67
64
  .catch(reason => reject(reason));
68
65
  });
69
66
  }
@@ -115,35 +112,12 @@ export default class PreloadManager {
115
112
  }
116
113
  return PreloadManager._repositories.get(name);
117
114
  }
118
- static getFilterFunction(dataUnit, filters) {
119
- if (filters != undefined && filters.length > 0) {
120
- return record => {
121
- for (const filter of filters) {
122
- if (!PreloadManager.recordMatchesFilter(dataUnit, record, filter)) {
123
- return false;
124
- }
125
- }
126
- return true;
127
- };
128
- }
129
- return undefined;
130
- }
131
- static recordMatchesFilter(dataUnit, record, columnFilter) {
132
- const fieldValue = record[columnFilter.columnName];
133
- for (let param of columnFilter.params) {
134
- const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
135
- if (FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
136
- return true;
137
- }
138
- }
139
- return false;
140
- }
141
115
  static async loadFromCache(dataUnit, request) {
142
116
  return new Promise((accept, reject) => {
143
- const columnFilters = PreloadManager.getColumnFilters(request.filters);
117
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
144
118
  const { limit, offset, sort } = request;
145
119
  PreloadManager.getRepository(dataUnit)
146
- .load(PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
120
+ .load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
147
121
  .then(loadResult => {
148
122
  const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
149
123
  const { count, result: records } = loadResult;
@@ -160,19 +134,6 @@ export default class PreloadManager {
160
134
  .catch(reason => reject(reason));
161
135
  });
162
136
  }
163
- static getColumnFilters(filters) {
164
- const columnFilters = new Map();
165
- if (filters == undefined || filters.length == 0) {
166
- return columnFilters;
167
- }
168
- filters.forEach(filter => {
169
- const match = COLUMN_FILTER_PATTERN.exec(filter.name);
170
- if (match) {
171
- columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
172
- }
173
- });
174
- return columnFilters;
175
- }
176
137
  }
177
138
  PreloadManager._repositories = new Map();
178
139
  PreloadManager._loadingStatus = new Map();
@@ -91,6 +91,9 @@ export default class PersonalizedFilterFetcher {
91
91
  });
92
92
  }
93
93
  async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
94
+ if (!personalizedFilter || Object.keys(personalizedFilter).length == 0) {
95
+ return Promise.reject(new Error("personalizedFilter não pode ser vazio"));
96
+ }
94
97
  let personalizedFilterParsed = JSON.parse(JSON.stringify(personalizedFilter));
95
98
  personalizedFilterParsed.assistent = JSON.stringify(personalizedFilterParsed.assistent);
96
99
  return new Promise((resolve, reject) => {
@@ -271,6 +271,9 @@ class PersonalizedFilterFetcher {
271
271
  });
272
272
  }
273
273
  async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
274
+ if (!personalizedFilter || Object.keys(personalizedFilter).length == 0) {
275
+ return Promise.reject(new Error("personalizedFilter não pode ser vazio"));
276
+ }
274
277
  let personalizedFilterParsed = JSON.parse(JSON.stringify(personalizedFilter));
275
278
  personalizedFilterParsed.assistent = JSON.stringify(personalizedFilterParsed.assistent);
276
279
  return new Promise((resolve, reject) => {
@@ -1,4 +1,5 @@
1
1
  import { UserInterface, DateUtils } from '@sankhyalabs/core';
2
+ import InMemoryFilterColumnDataSource from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils/InMemoryFilterColumnDataSource';
2
3
  import { a as PreloadManager } from './dataunit-fetcher.js';
3
4
 
4
5
  class TaskbarProcessor {
@@ -65,11 +66,7 @@ class SnkMultiSelectionListDataSource {
65
66
  if (fieldName == undefined) {
66
67
  return Promise.resolve(undefined);
67
68
  }
68
- const result = await PreloadManager.getDistinct(this._dataUnit, fieldName);
69
- if (result == undefined) {
70
- return Promise.resolve(undefined);
71
- }
72
- return Promise.resolve(Array.from(result.entries()).map(([label, value]) => ({ label: String(label), value, check: true })));
69
+ return Promise.resolve(await PreloadManager.getDistinct(this._dataUnit, fieldName));
73
70
  }
74
71
  fetchData(filterTerm, fieldName) {
75
72
  return new Promise(resolve => {
@@ -84,6 +81,9 @@ class SnkMultiSelectionListDataSource {
84
81
  });
85
82
  });
86
83
  }
84
+ sortItems(fieldName, items) {
85
+ return InMemoryFilterColumnDataSource.defaultSorterMultSelectionOption(this._dataUnit, fieldName, items);
86
+ }
87
87
  }
88
88
 
89
89
  export { SnkMultiSelectionListDataSource as S, TaskbarProcessor as T };
@@ -2,6 +2,7 @@ import { DataType, FieldComparator, SortMode, DataUnit, defaultDataLoader, DateU
2
2
  import { d as dist, D as DataFetcher } from './DataFetcher.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
+ import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
5
6
  import { R as ResourceIDUtils } from './ResourceIDUtils.js';
6
7
 
7
8
  class PesquisaFetcher {
@@ -246,21 +247,12 @@ class ArrayRepository {
246
247
  }
247
248
  }
248
249
 
249
- const COLUMN_FILTER_PATTERN = /FILTRO_COLUNA_(.+)/;
250
250
  class PreloadManager {
251
251
  static setLoadingStatus(dataUnit, loadingInProgress) {
252
252
  this._loadingStatus.set(dataUnit.name, loadingInProgress);
253
253
  }
254
- static isCacheEnabled(dataUnit) {
255
- const dataUnitResourceId = PreloadManager.getResourceId(dataUnit.name);
256
- if (dataUnitResourceId !== this.applicationResourceID) {
257
- return false;
258
- }
259
- return this.getRepository(dataUnit).isOperating();
260
- }
261
- static getResourceId(dataUnitName) {
262
- const dataUnitNameInfo = DataUnitFetcher.parseDataUnitName(dataUnitName);
263
- return dataUnitNameInfo == undefined ? undefined : dataUnitNameInfo.resourceID;
254
+ static isCacheEnabled(_dataUnit) {
255
+ return true;
264
256
  }
265
257
  static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
266
258
  PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
@@ -288,13 +280,13 @@ class PreloadManager {
288
280
  }
289
281
  static async getDistinct(dataUnit, fieldName) {
290
282
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
291
- return Promise.resolve(undefined);
283
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
292
284
  }
293
285
  let filterFunction;
294
286
  const request = dataUnit.getLastLoadRequest();
295
287
  if (request != undefined) {
296
- const columnFilters = PreloadManager.getColumnFilters(request.filters);
297
- filterFunction = PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
288
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
289
+ filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
298
290
  }
299
291
  return new Promise((accept, reject) => {
300
292
  PreloadManager.getRepository(dataUnit).distict(record => {
@@ -308,7 +300,13 @@ class PreloadManager {
308
300
  const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
309
301
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
310
302
  })
311
- .then(result => accept(result))
303
+ .then(result => {
304
+ if (result == undefined) {
305
+ accept(undefined);
306
+ return;
307
+ }
308
+ accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
309
+ })
312
310
  .catch(reason => reject(reason));
313
311
  });
314
312
  }
@@ -360,35 +358,12 @@ class PreloadManager {
360
358
  }
361
359
  return PreloadManager._repositories.get(name);
362
360
  }
363
- static getFilterFunction(dataUnit, filters) {
364
- if (filters != undefined && filters.length > 0) {
365
- return record => {
366
- for (const filter of filters) {
367
- if (!PreloadManager.recordMatchesFilter(dataUnit, record, filter)) {
368
- return false;
369
- }
370
- }
371
- return true;
372
- };
373
- }
374
- return undefined;
375
- }
376
- static recordMatchesFilter(dataUnit, record, columnFilter) {
377
- const fieldValue = record[columnFilter.columnName];
378
- for (let param of columnFilter.params) {
379
- const paramValue = dataUnit.valueFromString(columnFilter.columnName, param.value);
380
- if (FieldComparator.compareValues(dataUnit.getField(columnFilter.columnName), fieldValue, paramValue) === 0) {
381
- return true;
382
- }
383
- }
384
- return false;
385
- }
386
361
  static async loadFromCache(dataUnit, request) {
387
362
  return new Promise((accept, reject) => {
388
- const columnFilters = PreloadManager.getColumnFilters(request.filters);
363
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters);
389
364
  const { limit, offset, sort } = request;
390
365
  PreloadManager.getRepository(dataUnit)
391
- .load(PreloadManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
366
+ .load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
392
367
  .then(loadResult => {
393
368
  const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
394
369
  const { count, result: records } = loadResult;
@@ -405,19 +380,6 @@ class PreloadManager {
405
380
  .catch(reason => reject(reason));
406
381
  });
407
382
  }
408
- static getColumnFilters(filters) {
409
- const columnFilters = new Map();
410
- if (filters == undefined || filters.length == 0) {
411
- return columnFilters;
412
- }
413
- filters.forEach(filter => {
414
- const match = COLUMN_FILTER_PATTERN.exec(filter.name);
415
- if (match) {
416
- columnFilters.set(filter.name, Object.assign({ columnName: match[1] }, filter));
417
- }
418
- });
419
- return columnFilters;
420
- }
421
383
  }
422
384
  PreloadManager._repositories = new Map();
423
385
  PreloadManager._loadingStatus = new Map();
@@ -271,6 +271,9 @@ class PersonalizedFilterFetcher {
271
271
  });
272
272
  }
273
273
  async savePersonalizedFilter(personalizedFilter, resourceID, configName) {
274
+ if (!personalizedFilter || Object.keys(personalizedFilter).length == 0) {
275
+ return Promise.reject(new Error("personalizedFilter não pode ser vazio"));
276
+ }
274
277
  let personalizedFilterParsed = JSON.parse(JSON.stringify(personalizedFilter));
275
278
  personalizedFilterParsed.assistent = JSON.stringify(personalizedFilterParsed.assistent);
276
279
  return new Promise((resolve, reject) => {