@sankhyalabs/sankhyablocks 4.4.0-hotfix-ga-SKA-99999.1 → 4.5.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 (123) hide show
  1. package/dist/cjs/{ConfigStorage-05b9b162.js → ConfigStorage-bc7d1d9b.js} +1 -1
  2. package/dist/cjs/{DataFetcher-451b3e68.js → DataFetcher-6acfc3a8.js} +3 -3
  3. package/dist/cjs/{SnkFormConfigManager-18ed80a5.js → SnkFormConfigManager-5230e010.js} +2 -2
  4. package/dist/cjs/{SnkMessageBuilder-0a6f6459.js → SnkMessageBuilder-d147f088.js} +8 -1
  5. package/dist/cjs/{constants-3d09ebea.js → constants-73803daf.js} +5 -0
  6. package/dist/cjs/{form-config-fetcher-a93d6334.js → form-config-fetcher-4a952a50.js} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  9. package/dist/cjs/snk-application.cjs.entry.js +4 -4
  10. package/dist/cjs/snk-config-options.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-configurator.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-crud.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-data-exporter.cjs.entry.js +4 -4
  14. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -6
  16. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
  18. package/dist/cjs/snk-filter-field-search.cjs.entry.js +185 -0
  19. package/dist/cjs/snk-form-config.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  21. package/dist/cjs/snk-grid-config.cjs.entry.js +4 -4
  22. package/dist/cjs/snk-grid.cjs.entry.js +3 -3
  23. package/dist/cjs/{snk-guides-viewer-618e5c1d.js → snk-guides-viewer-5d3dca5d.js} +3 -3
  24. package/dist/cjs/snk-guides-viewer.cjs.entry.js +6 -6
  25. package/dist/cjs/snk-select-box.cjs.entry.js +1 -1
  26. package/dist/cjs/snk-simple-crud.cjs.entry.js +252 -0
  27. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  28. package/dist/collection/collection-manifest.json +2 -0
  29. package/dist/collection/components/snk-filter-field-search/interfaces/index.js +5 -0
  30. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.css +41 -0
  31. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +297 -0
  32. package/dist/collection/components/snk-filter-field-search/subcomponents/index.js +1 -0
  33. package/dist/collection/components/snk-filter-field-search/subcomponents/list-item.js +24 -0
  34. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +27 -0
  35. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +343 -0
  36. package/dist/collection/lib/dataUnit/InMemoryLoader.js +112 -0
  37. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +3 -3
  38. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +1 -1
  39. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/personalized-reports-fetcher.js +1 -1
  40. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  41. package/dist/collection/lib/message/resources/snk-filter-field-search.msg.js +5 -0
  42. package/dist/collection/lib/utils/constants.js +5 -0
  43. package/dist/components/DataFetcher.js +3 -3
  44. package/dist/components/SnkMessageBuilder.js +8 -1
  45. package/dist/components/constants.js +6 -1
  46. package/dist/components/index.d.ts +2 -0
  47. package/dist/components/index.js +2 -0
  48. package/dist/components/snk-data-exporter2.js +2 -2
  49. package/dist/components/snk-detail-view2.js +2 -1
  50. package/dist/components/snk-filter-field-search.d.ts +11 -0
  51. package/dist/components/snk-filter-field-search.js +205 -0
  52. package/dist/components/snk-grid2.js +2 -47
  53. package/dist/components/snk-simple-crud.d.ts +11 -0
  54. package/dist/components/snk-simple-crud.js +297 -0
  55. package/dist/components/taskbar-processor.js +47 -0
  56. package/dist/esm/{ConfigStorage-34caac5c.js → ConfigStorage-1b64cd96.js} +1 -1
  57. package/dist/esm/{DataFetcher-00309101.js → DataFetcher-5e99fa75.js} +3 -3
  58. package/dist/esm/{SnkFormConfigManager-d3a8aaf4.js → SnkFormConfigManager-0d9752c3.js} +2 -2
  59. package/dist/esm/{SnkMessageBuilder-9473ae03.js → SnkMessageBuilder-0e1ffd61.js} +8 -1
  60. package/dist/esm/{constants-fb9721cc.js → constants-9560e54f.js} +6 -1
  61. package/dist/esm/{form-config-fetcher-e58fc104.js → form-config-fetcher-677f86dd.js} +1 -1
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/sankhyablocks.js +1 -1
  64. package/dist/esm/snk-application.entry.js +4 -4
  65. package/dist/esm/snk-config-options.entry.js +1 -1
  66. package/dist/esm/snk-configurator.entry.js +1 -1
  67. package/dist/esm/snk-crud.entry.js +2 -2
  68. package/dist/esm/snk-data-exporter.entry.js +4 -4
  69. package/dist/esm/snk-data-unit.entry.js +2 -2
  70. package/dist/esm/snk-detail-view.entry.js +6 -6
  71. package/dist/esm/snk-field-config.entry.js +1 -1
  72. package/dist/esm/snk-filter-bar.entry.js +3 -3
  73. package/dist/esm/snk-filter-field-search.entry.js +181 -0
  74. package/dist/esm/snk-form-config.entry.js +3 -3
  75. package/dist/esm/snk-form.entry.js +4 -4
  76. package/dist/esm/snk-grid-config.entry.js +4 -4
  77. package/dist/esm/snk-grid.entry.js +3 -3
  78. package/dist/esm/{snk-guides-viewer-7c32399d.js → snk-guides-viewer-6bb54367.js} +3 -3
  79. package/dist/esm/snk-guides-viewer.entry.js +6 -6
  80. package/dist/esm/snk-select-box.entry.js +1 -1
  81. package/dist/esm/snk-simple-crud.entry.js +248 -0
  82. package/dist/esm/snk-tab-config.entry.js +1 -1
  83. package/dist/sankhyablocks/{p-9cff8df2.js → p-0c11c980.js} +1 -1
  84. package/dist/sankhyablocks/{p-52989652.entry.js → p-268ab84f.entry.js} +1 -1
  85. package/dist/sankhyablocks/{p-0fe01a57.entry.js → p-2a3996b0.entry.js} +1 -1
  86. package/dist/sankhyablocks/p-330813ff.entry.js +1 -0
  87. package/dist/sankhyablocks/{p-25341d65.js → p-3c4823fc.js} +1 -1
  88. package/dist/sankhyablocks/{p-44c23eb1.entry.js → p-4bd183ba.entry.js} +1 -1
  89. package/dist/sankhyablocks/{p-c4483cb2.js → p-5518d572.js} +1 -1
  90. package/dist/sankhyablocks/{p-e0416591.entry.js → p-7889d481.entry.js} +1 -1
  91. package/dist/sankhyablocks/p-79d22df0.entry.js +1 -0
  92. package/dist/sankhyablocks/{p-fc86a31e.entry.js → p-869d6616.entry.js} +1 -1
  93. package/dist/sankhyablocks/{p-99742169.entry.js → p-86efa17d.entry.js} +1 -1
  94. package/dist/sankhyablocks/{p-2980936b.entry.js → p-8b0e8deb.entry.js} +1 -1
  95. package/dist/sankhyablocks/{p-ca72cc38.js → p-9bf0319f.js} +1 -1
  96. package/dist/sankhyablocks/{p-83ddac9f.entry.js → p-9f00c061.entry.js} +1 -1
  97. package/dist/sankhyablocks/{p-43d8d388.entry.js → p-9f2306ba.entry.js} +1 -1
  98. package/dist/sankhyablocks/{p-9d4a25d2.js → p-9f98fc3c.js} +1 -1
  99. package/dist/sankhyablocks/{p-840494aa.entry.js → p-a056d61f.entry.js} +1 -1
  100. package/dist/sankhyablocks/{p-70037212.js → p-a6258eed.js} +1 -1
  101. package/dist/sankhyablocks/{p-de1ee26c.entry.js → p-b318cec6.entry.js} +1 -1
  102. package/dist/sankhyablocks/p-c0bfafcb.entry.js +1 -0
  103. package/dist/sankhyablocks/p-cf9d1b55.entry.js +1 -0
  104. package/dist/sankhyablocks/{p-8899a7ea.entry.js → p-d3199c18.entry.js} +1 -1
  105. package/dist/sankhyablocks/{p-9d62bbca.entry.js → p-dbeac5db.entry.js} +1 -1
  106. package/dist/sankhyablocks/{p-f5d3ecb3.js → p-ecbfbb4a.js} +1 -1
  107. package/dist/sankhyablocks/{p-6e6ef989.entry.js → p-f83e3219.entry.js} +1 -1
  108. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  109. package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +35 -0
  110. package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +58 -0
  111. package/dist/types/components/snk-filter-field-search/subcomponents/index.d.ts +1 -0
  112. package/dist/types/components/snk-filter-field-search/subcomponents/list-item.d.ts +2 -0
  113. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +41 -0
  114. package/dist/types/components.d.ts +81 -2
  115. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +21 -0
  116. package/dist/types/lib/message/resources/snk-filter-field-search.msg.d.ts +1 -0
  117. package/dist/types/lib/utils/constants.d.ts +4 -0
  118. package/package.json +2 -2
  119. package/react/components.d.ts +2 -0
  120. package/react/components.js +2 -0
  121. package/react/components.js.map +1 -1
  122. package/dist/sankhyablocks/p-4de78929.entry.js +0 -1
  123. package/dist/sankhyablocks/p-e7cc6e62.entry.js +0 -1
@@ -8,7 +8,7 @@ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { SnkMessageBuilder } from "./lib/message/SnkMessageBuilder";
9
9
  import { AutorizationType } from "./lib/http/data-fetcher/fetchers/auth-fetcher";
10
10
  import { IAppletCallerParams } from "./lib/applet-caller/applet-caller";
11
- import { DataUnit, Filter, Record } from "@sankhyalabs/core";
11
+ import { DataUnit, Filter, Record, UnitMetadata } from "@sankhyalabs/core";
12
12
  import { IClientEventResponse } from "./lib/http/data-fetcher/interfaces/IClientEventResponse";
13
13
  import { IDataFetcherRecaller } from "./lib/http/data-fetcher/recaller/IDataFetcherRecaller";
14
14
  import { DialogType, MessageOptions } from "@sankhyalabs/ezui/dist/collection/utils";
@@ -16,7 +16,7 @@ import { EzGridColumn, IGridConfig, IStatusResolver } from "@sankhyalabs/ezui/di
16
16
  import { IOption, ISearchArgument } from "@sankhyalabs/ezui/dist/types/components/ez-combo-box/ez-combo-box";
17
17
  import { SearchCriteria } from "./lib/http/data-fetcher/fetchers/pesquisa-fetcher";
18
18
  import { IFieldConfig, IFormCardConfig, IFormConfig, IRecordValidator, ISummaryField } from "@sankhyalabs/ezui/dist/types/utils/form/interfaces";
19
- import { VIEW_MODE } from "./lib/utils/constants";
19
+ import { SIMPLE_CRUD_MODE, VIEW_MODE } from "./lib/utils/constants";
20
20
  import { Action, TaskbarManager } from "./components/snk-taskbar/snk-taskbar";
21
21
  import { PresentationMode } from "./lib";
22
22
  import { IExporterProvider } from "./components/snk-data-exporter/interfaces/IExporterProvider";
@@ -28,6 +28,7 @@ import { DataState as DataState1 } from "./components/snk-data-unit/snk-data-uni
28
28
  import { IExportResult } from "./components/snk-data-exporter/data/export-result";
29
29
  import { IExportConfig } from "./components/snk-data-exporter/data/export-config";
30
30
  import { SnkFilterItemConfig } from "./components/snk-filter-bar/filter-item/snk-filter-item";
31
+ import { DataFetcher, IFilterField, IFilterLink } from "./components/snk-filter-field-search/interfaces";
31
32
  import { SnkFilterItemConfig as SnkFilterItemConfig1 } from "./components/snk-filter-bar/filter-item/snk-filter-item";
32
33
  import { ListItem } from "./components/snk-filter-bar/filter-list/snk-filter-list";
33
34
  import { ModalItem } from "./components/snk-filter-bar/filter-modal/snk-filter-modal";
@@ -432,6 +433,26 @@ export namespace Components {
432
433
  */
433
434
  "show": () => Promise<void>;
434
435
  }
436
+ interface SnkFilterFieldSearch {
437
+ /**
438
+ * Filtra a fonte de dados do componente.
439
+ * @param filterText - Texto para filtrar a fonte de dados.
440
+ * @throws {Error} - Quando o componente estiver com a propriedade searchable como true.
441
+ */
442
+ "filterDataSource": (filterText: string) => Promise<void>;
443
+ /**
444
+ * Define se o componente irá possuir um campo de pesquisa.
445
+ */
446
+ "searchable": boolean;
447
+ /**
448
+ * Define a fonte de dados do componente.
449
+ * @param currentLink - Link atual da entidade.
450
+ * @param fetchData - callback que executa a busca de dados.
451
+ * @throws {Error} - Quando os metadados não forem válidos.
452
+ * @throws {Error} - Quando o link atual não for do tipo link.
453
+ */
454
+ "setDataSource": (currentLink: IFilterLink, fetchData: DataFetcher) => Promise<void>;
455
+ }
435
456
  interface SnkFilterItem {
436
457
  /**
437
458
  * Define as configurações do componente snk-filter-item.
@@ -825,6 +846,22 @@ export namespace Components {
825
846
  */
826
847
  "selectedOption": IOption | string;
827
848
  }
849
+ interface SnkSimpleCrud {
850
+ "dataState": DataState1;
851
+ "dataUnit": DataUnit;
852
+ "getRecords": () => Promise<Array<Record>>;
853
+ /**
854
+ * Usado para alternar a visão entre GRID e FORM externamente.
855
+ */
856
+ "goToView": (view: VIEW_MODE) => Promise<void>;
857
+ "mode": SIMPLE_CRUD_MODE;
858
+ "setMetadata": (metadata: UnitMetadata) => Promise<void>;
859
+ "setRecords": (records: Array<Record>) => Promise<void>;
860
+ /**
861
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
862
+ */
863
+ "taskbarManager": TaskbarManager;
864
+ }
828
865
  interface SnkTabConfig {
829
866
  /**
830
867
  * Define o index da aba selecionada.
@@ -908,6 +945,10 @@ export interface SnkFilterDetailCustomEvent<T> extends CustomEvent<T> {
908
945
  detail: T;
909
946
  target: HTMLSnkFilterDetailElement;
910
947
  }
948
+ export interface SnkFilterFieldSearchCustomEvent<T> extends CustomEvent<T> {
949
+ detail: T;
950
+ target: HTMLSnkFilterFieldSearchElement;
951
+ }
911
952
  export interface SnkFilterItemCustomEvent<T> extends CustomEvent<T> {
912
953
  detail: T;
913
954
  target: HTMLSnkFilterItemElement;
@@ -1025,6 +1066,12 @@ declare global {
1025
1066
  prototype: HTMLSnkFilterDetailElement;
1026
1067
  new (): HTMLSnkFilterDetailElement;
1027
1068
  };
1069
+ interface HTMLSnkFilterFieldSearchElement extends Components.SnkFilterFieldSearch, HTMLStencilElement {
1070
+ }
1071
+ var HTMLSnkFilterFieldSearchElement: {
1072
+ prototype: HTMLSnkFilterFieldSearchElement;
1073
+ new (): HTMLSnkFilterFieldSearchElement;
1074
+ };
1028
1075
  interface HTMLSnkFilterItemElement extends Components.SnkFilterItem, HTMLStencilElement {
1029
1076
  }
1030
1077
  var HTMLSnkFilterItemElement: {
@@ -1139,6 +1186,12 @@ declare global {
1139
1186
  prototype: HTMLSnkSelectBoxElement;
1140
1187
  new (): HTMLSnkSelectBoxElement;
1141
1188
  };
1189
+ interface HTMLSnkSimpleCrudElement extends Components.SnkSimpleCrud, HTMLStencilElement {
1190
+ }
1191
+ var HTMLSnkSimpleCrudElement: {
1192
+ prototype: HTMLSnkSimpleCrudElement;
1193
+ new (): HTMLSnkSimpleCrudElement;
1194
+ };
1142
1195
  interface HTMLSnkTabConfigElement extends Components.SnkTabConfig, HTMLStencilElement {
1143
1196
  }
1144
1197
  var HTMLSnkTabConfigElement: {
@@ -1170,6 +1223,7 @@ declare global {
1170
1223
  "snk-filter-bar": HTMLSnkFilterBarElement;
1171
1224
  "snk-filter-binary-select": HTMLSnkFilterBinarySelectElement;
1172
1225
  "snk-filter-detail": HTMLSnkFilterDetailElement;
1226
+ "snk-filter-field-search": HTMLSnkFilterFieldSearchElement;
1173
1227
  "snk-filter-item": HTMLSnkFilterItemElement;
1174
1228
  "snk-filter-list": HTMLSnkFilterListElement;
1175
1229
  "snk-filter-modal": HTMLSnkFilterModalElement;
@@ -1189,6 +1243,7 @@ declare global {
1189
1243
  "snk-guides-viewer": HTMLSnkGuidesViewerElement;
1190
1244
  "snk-pesquisa": HTMLSnkPesquisaElement;
1191
1245
  "snk-select-box": HTMLSnkSelectBoxElement;
1246
+ "snk-simple-crud": HTMLSnkSimpleCrudElement;
1192
1247
  "snk-tab-config": HTMLSnkTabConfigElement;
1193
1248
  "snk-taskbar": HTMLSnkTaskbarElement;
1194
1249
  "teste-pesquisa": HTMLTestePesquisaElement;
@@ -1440,6 +1495,17 @@ declare namespace LocalJSX {
1440
1495
  */
1441
1496
  "onFilterChange"?: (event: SnkFilterDetailCustomEvent<SnkFilterItemConfig>) => void;
1442
1497
  }
1498
+ interface SnkFilterFieldSearch {
1499
+ /**
1500
+ * Emitido sempre que um item da lista for selecionado
1501
+ * @type {EventEmitter<IFilterField | IFilterLink>}
1502
+ */
1503
+ "onEzSelectFilterItem"?: (event: SnkFilterFieldSearchCustomEvent<IFilterField | IFilterLink>) => void;
1504
+ /**
1505
+ * Define se o componente irá possuir um campo de pesquisa.
1506
+ */
1507
+ "searchable"?: boolean;
1508
+ }
1443
1509
  interface SnkFilterItem {
1444
1510
  /**
1445
1511
  * Define as configurações do componente snk-filter-item.
@@ -1833,6 +1899,15 @@ declare namespace LocalJSX {
1833
1899
  */
1834
1900
  "selectedOption"?: IOption | string;
1835
1901
  }
1902
+ interface SnkSimpleCrud {
1903
+ "dataState"?: DataState1;
1904
+ "dataUnit"?: DataUnit;
1905
+ "mode"?: SIMPLE_CRUD_MODE;
1906
+ /**
1907
+ * Gerenciador das barras de tarefas. É possível determinar botões específicos ou mesmo gerenciar o estado dos botões.
1908
+ */
1909
+ "taskbarManager"?: TaskbarManager;
1910
+ }
1836
1911
  interface SnkTabConfig {
1837
1912
  /**
1838
1913
  * Emitido ao ocultar uma aba.
@@ -1924,6 +1999,7 @@ declare namespace LocalJSX {
1924
1999
  "snk-filter-bar": SnkFilterBar;
1925
2000
  "snk-filter-binary-select": SnkFilterBinarySelect;
1926
2001
  "snk-filter-detail": SnkFilterDetail;
2002
+ "snk-filter-field-search": SnkFilterFieldSearch;
1927
2003
  "snk-filter-item": SnkFilterItem;
1928
2004
  "snk-filter-list": SnkFilterList;
1929
2005
  "snk-filter-modal": SnkFilterModal;
@@ -1943,6 +2019,7 @@ declare namespace LocalJSX {
1943
2019
  "snk-guides-viewer": SnkGuidesViewer;
1944
2020
  "snk-pesquisa": SnkPesquisa;
1945
2021
  "snk-select-box": SnkSelectBox;
2022
+ "snk-simple-crud": SnkSimpleCrud;
1946
2023
  "snk-tab-config": SnkTabConfig;
1947
2024
  "snk-taskbar": SnkTaskbar;
1948
2025
  "teste-pesquisa": TestePesquisa;
@@ -1964,6 +2041,7 @@ declare module "@stencil/core" {
1964
2041
  "snk-filter-bar": LocalJSX.SnkFilterBar & JSXBase.HTMLAttributes<HTMLSnkFilterBarElement>;
1965
2042
  "snk-filter-binary-select": LocalJSX.SnkFilterBinarySelect & JSXBase.HTMLAttributes<HTMLSnkFilterBinarySelectElement>;
1966
2043
  "snk-filter-detail": LocalJSX.SnkFilterDetail & JSXBase.HTMLAttributes<HTMLSnkFilterDetailElement>;
2044
+ "snk-filter-field-search": LocalJSX.SnkFilterFieldSearch & JSXBase.HTMLAttributes<HTMLSnkFilterFieldSearchElement>;
1967
2045
  "snk-filter-item": LocalJSX.SnkFilterItem & JSXBase.HTMLAttributes<HTMLSnkFilterItemElement>;
1968
2046
  "snk-filter-list": LocalJSX.SnkFilterList & JSXBase.HTMLAttributes<HTMLSnkFilterListElement>;
1969
2047
  "snk-filter-modal": LocalJSX.SnkFilterModal & JSXBase.HTMLAttributes<HTMLSnkFilterModalElement>;
@@ -1983,6 +2061,7 @@ declare module "@stencil/core" {
1983
2061
  "snk-guides-viewer": LocalJSX.SnkGuidesViewer & JSXBase.HTMLAttributes<HTMLSnkGuidesViewerElement>;
1984
2062
  "snk-pesquisa": LocalJSX.SnkPesquisa & JSXBase.HTMLAttributes<HTMLSnkPesquisaElement>;
1985
2063
  "snk-select-box": LocalJSX.SnkSelectBox & JSXBase.HTMLAttributes<HTMLSnkSelectBoxElement>;
2064
+ "snk-simple-crud": LocalJSX.SnkSimpleCrud & JSXBase.HTMLAttributes<HTMLSnkSimpleCrudElement>;
1986
2065
  "snk-tab-config": LocalJSX.SnkTabConfig & JSXBase.HTMLAttributes<HTMLSnkTabConfigElement>;
1987
2066
  "snk-taskbar": LocalJSX.SnkTaskbar & JSXBase.HTMLAttributes<HTMLSnkTaskbarElement>;
1988
2067
  "teste-pesquisa": LocalJSX.TestePesquisa & JSXBase.HTMLAttributes<HTMLTestePesquisaElement>;
@@ -0,0 +1,21 @@
1
+ import { DataUnit, Record, UnitMetadata } from "@sankhyalabs/core";
2
+ export default class InMemoryLoader {
3
+ private _dataUnit;
4
+ private _records;
5
+ private _metadata;
6
+ constructor(metadata?: UnitMetadata, records?: Array<Record>);
7
+ get dataUnit(): DataUnit;
8
+ get records(): Array<Record>;
9
+ set records(records: Array<Record>);
10
+ get metadata(): UnitMetadata;
11
+ set metadata(metadata: UnitMetadata);
12
+ private generateUniqueId;
13
+ private metadaLoader;
14
+ private dataLoader;
15
+ private getSortFn;
16
+ private sortObject;
17
+ private sortNumber;
18
+ private sortDate;
19
+ private saveLoader;
20
+ removeLoader(_dataUnit: DataUnit, recordIds: Array<string>): Promise<Array<string>>;
21
+ }
@@ -0,0 +1 @@
1
+ export declare const snkFilterFieldSearchMessages: object;
@@ -96,3 +96,7 @@ export declare const WEB_CONNECTION: {
96
96
  IMPORT_IMAGE: string;
97
97
  };
98
98
  };
99
+ export declare enum SIMPLE_CRUD_MODE {
100
+ SERVER = 0,
101
+ IN_MEMORY = 1
102
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "4.4.0-hotfix-ga-SKA-99999.1",
3
+ "version": "4.5.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "devDependencies": {
42
42
  "@babel/preset-env": "^7.18.2",
43
- "@sankhyalabs/core": "^4.0.0",
43
+ "@sankhyalabs/core": "^4.3.0",
44
44
  "@sankhyalabs/docscss": "^1.0.4",
45
45
  "@sankhyalabs/ezui": "^4.0.0",
46
46
  "@sankhyalabs/skippeerdeps": "^1.0.2",
@@ -12,6 +12,7 @@ export declare const SnkFieldConfig: import("react").ForwardRefExoticComponent<J
12
12
  export declare const SnkFilterBar: import("react").ForwardRefExoticComponent<JSX.SnkFilterBar & Omit<import("react").HTMLAttributes<HTMLSnkFilterBarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterBarElement>>;
13
13
  export declare const SnkFilterBinarySelect: import("react").ForwardRefExoticComponent<JSX.SnkFilterBinarySelect & Omit<import("react").HTMLAttributes<HTMLSnkFilterBinarySelectElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterBinarySelectElement>>;
14
14
  export declare const SnkFilterDetail: import("react").ForwardRefExoticComponent<JSX.SnkFilterDetail & Omit<import("react").HTMLAttributes<HTMLSnkFilterDetailElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterDetailElement>>;
15
+ export declare const SnkFilterFieldSearch: import("react").ForwardRefExoticComponent<JSX.SnkFilterFieldSearch & Omit<import("react").HTMLAttributes<HTMLSnkFilterFieldSearchElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterFieldSearchElement>>;
15
16
  export declare const SnkFilterItem: import("react").ForwardRefExoticComponent<JSX.SnkFilterItem & Omit<import("react").HTMLAttributes<HTMLSnkFilterItemElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterItemElement>>;
16
17
  export declare const SnkFilterList: import("react").ForwardRefExoticComponent<JSX.SnkFilterList & Omit<import("react").HTMLAttributes<HTMLSnkFilterListElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterListElement>>;
17
18
  export declare const SnkFilterModal: import("react").ForwardRefExoticComponent<JSX.SnkFilterModal & Omit<import("react").HTMLAttributes<HTMLSnkFilterModalElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkFilterModalElement>>;
@@ -31,6 +32,7 @@ export declare const SnkGridConfig: import("react").ForwardRefExoticComponent<JS
31
32
  export declare const SnkGuidesViewer: import("react").ForwardRefExoticComponent<JSX.SnkGuidesViewer & Omit<import("react").HTMLAttributes<HTMLSnkGuidesViewerElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkGuidesViewerElement>>;
32
33
  export declare const SnkPesquisa: import("react").ForwardRefExoticComponent<JSX.SnkPesquisa & Omit<import("react").HTMLAttributes<HTMLSnkPesquisaElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkPesquisaElement>>;
33
34
  export declare const SnkSelectBox: import("react").ForwardRefExoticComponent<JSX.SnkSelectBox & Omit<import("react").HTMLAttributes<HTMLSnkSelectBoxElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkSelectBoxElement>>;
35
+ export declare const SnkSimpleCrud: import("react").ForwardRefExoticComponent<JSX.SnkSimpleCrud & Omit<import("react").HTMLAttributes<HTMLSnkSimpleCrudElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkSimpleCrudElement>>;
34
36
  export declare const SnkTabConfig: import("react").ForwardRefExoticComponent<JSX.SnkTabConfig & Omit<import("react").HTMLAttributes<HTMLSnkTabConfigElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkTabConfigElement>>;
35
37
  export declare const SnkTaskbar: import("react").ForwardRefExoticComponent<JSX.SnkTaskbar & Omit<import("react").HTMLAttributes<HTMLSnkTaskbarElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLSnkTaskbarElement>>;
36
38
  export declare const TestePesquisa: import("react").ForwardRefExoticComponent<JSX.TestePesquisa & Omit<import("react").HTMLAttributes<HTMLTestePesquisaElement>, "style"> & import("./react-component-lib/interfaces").StyleReactProps & import("react").RefAttributes<HTMLTestePesquisaElement>>;
@@ -14,6 +14,7 @@ export const SnkFieldConfig = /*@__PURE__*/ createReactComponent('snk-field-conf
14
14
  export const SnkFilterBar = /*@__PURE__*/ createReactComponent('snk-filter-bar');
15
15
  export const SnkFilterBinarySelect = /*@__PURE__*/ createReactComponent('snk-filter-binary-select');
16
16
  export const SnkFilterDetail = /*@__PURE__*/ createReactComponent('snk-filter-detail');
17
+ export const SnkFilterFieldSearch = /*@__PURE__*/ createReactComponent('snk-filter-field-search');
17
18
  export const SnkFilterItem = /*@__PURE__*/ createReactComponent('snk-filter-item');
18
19
  export const SnkFilterList = /*@__PURE__*/ createReactComponent('snk-filter-list');
19
20
  export const SnkFilterModal = /*@__PURE__*/ createReactComponent('snk-filter-modal');
@@ -33,6 +34,7 @@ export const SnkGridConfig = /*@__PURE__*/ createReactComponent('snk-grid-config
33
34
  export const SnkGuidesViewer = /*@__PURE__*/ createReactComponent('snk-guides-viewer');
34
35
  export const SnkPesquisa = /*@__PURE__*/ createReactComponent('snk-pesquisa');
35
36
  export const SnkSelectBox = /*@__PURE__*/ createReactComponent('snk-select-box');
37
+ export const SnkSimpleCrud = /*@__PURE__*/ createReactComponent('snk-simple-crud');
36
38
  export const SnkTabConfig = /*@__PURE__*/ createReactComponent('snk-tab-config');
37
39
  export const SnkTaskbar = /*@__PURE__*/ createReactComponent('snk-taskbar');
38
40
  export const TestePesquisa = /*@__PURE__*/ createReactComponent('teste-pesquisa');
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export{S as snk_guides_viewer}from"./p-ca72cc38.js";import"./p-b9667fbe.js";import"@sankhyalabs/core";import"./p-70037212.js";import"./p-25341d65.js";import"./p-9d4a25d2.js";import"./p-9cff8df2.js";import"./p-112455b1.js";import"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-5a3e0eb6.js";import"./p-74724fa7.js";import"./p-f132e371.js";import"./p-98f7f796.js";import"./p-f5d3ecb3.js";
@@ -1 +0,0 @@
1
- import{r as t,h as e,H as i,g as s}from"./p-b9667fbe.js";import{ObjectUtils as o,ApplicationContext as r,ElementIDUtils as n}from"@sankhyalabs/core";import{ApplicationUtils as l,DialogType as a}from"@sankhyalabs/ezui/dist/collection/utils";import{D as d,a as h,b as c}from"./p-f132e371.js";import{d as p,W as u,R as m}from"./p-f5d3ecb3.js";import{D as v}from"./p-9cff8df2.js";import"./p-112455b1.js";class x{constructor(t,e){this._selectedNumber=0,this._getMessage=t,this._selectedNumber=e}setExportOption(t,e){const i=this.getExportGroupName();t===d.EXPORT_TO_PDF&&e.push(this.getExportToPDF(i)),t===d.EXPORT_TO_XLS&&e.push(this.getExportToXLS(i)),this.setExportCurrentPage(t,e),this.setExportByEmail(t,e)}setExportCurrentPage(t,e){var i;const s=[d.EXPORT_PAGE_TO_PDF,d.EXPORT_PAGE_TO_XLS];if(t===d.EXPORT_CURRENT_PAGE&&e.push(this.getCurrentPage()),s.includes(t)){let s=e.find((t=>t.id===d.EXPORT_CURRENT_PAGE));null==s&&(e.push(this.getCurrentPage()),s=e.find((t=>t.id===d.EXPORT_CURRENT_PAGE))),(null===(i=null==s?void 0:s.children)||void 0===i?void 0:i.length)||(s.children=[]),t===d.EXPORT_PAGE_TO_PDF&&s.children.push(this.getExportPageToPDF()),t===d.EXPORT_PAGE_TO_XLS&&s.children.push(this.getExportPageToXLS())}}setExportByEmail(t,e){t===d.EXPORT_BY_EMAIL&&e.push(this.getExportByEmail())}getExportToPDF(t){return{id:d.EXPORT_TO_PDF,label:"PDF (.pdf)",group:t}}getExportToXLS(t){return{id:d.EXPORT_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`,group:t}}getCurrentPage(){return{id:d.EXPORT_CURRENT_PAGE,label:this._getMessage("snkDataExporter.label.currentPage"),group:this._getMessage("snkDataExporter.group.custom")}}getExportPageToPDF(){return{id:d.EXPORT_PAGE_TO_PDF,label:"PDF (.pdf)"}}getExportPageToXLS(){return{id:d.EXPORT_PAGE_TO_XLS,label:`${this._getMessage("snkDataExporter.label.spreadsheet")} (.xlsx)`}}getExportByEmail(){return{id:d.EXPORT_BY_EMAIL,label:`${this._getMessage("snkDataExporter.label.sendByEmail")}...`}}getExportGroupName(){return 1===this._selectedNumber?this._getMessage("snkDataExporter.group.export.selectedLine"):this._selectedNumber>1?this._getMessage("snkDataExporter.group.export.multiSelected").replace("{0}",this._selectedNumber.toString()):this._getMessage("snkDataExporter.group.export.default")}}function f(t){var{methodName:e}=t,i=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(s=Object.getOwnPropertySymbols(t);o<s.length;o++)e.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(t,s[o])&&(i[s[o]]=t[s[o]])}return i}(t,["methodName"]);const s=`mgefin-bff@DataExporterSPBean.${e}`,r={serviceName:s,requestBody:i};return new Promise(((t,e)=>{v.get().callServiceBroker(s,o.objectToString(r)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return o.stringToObject(i)}(e)))).catch((t=>e(t)))}))}const E=5e3,b=class{constructor(e){t(this,e),this._selectedNumber=0,this._customPrefix="$custom$",this._items=[],this._showDropdown=!1,this._releasedToExport=[d.EXPORT_TO_PDF,d.EXPORT_TO_XLS,d.EXPORT_BY_EMAIL,d.EXPORT_PDF_TO_EMAIL,d.EXPORT_XLS_TO_EMAIL,d.EXPORT_PAGE_TO_PDF,d.EXPORT_PAGE_TO_XLS],this.provider=null}async exportByEmail(){const t=this._selectedNumber;this._snkEmailSender.open({type:t>0?"selection":"all",selectedRows:t,email:{attachments:[{name:this._appLabel}]},resolver:({type:t,format:e,email:{to:i,subject:s,message:o}})=>{var r;const n=null!==(r=h[null==e?void 0:e.toUpperCase()])&&void 0!==r?r:h.PDF;this.resolveExporter({type:t,methodName:n,to:i,subject:s,message:o,fileName:this._appLabel,titleGrid:this._appLabel},(()=>{this._snkEmailSender.close(),l.info(this.getMessage("snkDataExporter.message.emailSuccess"),{iconName:"check"})}))}})}getMessage(t,e){return this._application.messagesBuilder.getMessage(t,e)}positionDropdown(){var t;const e=null===(t=this._ezButton)||void 0===t?void 0:t.getBoundingClientRect();null!=e&&null!=this._dropdownParent&&(this._dropdownParent.style.top=e.y+e.height+5+"px",this._dropdownParent.style.left=e.x+"px")}closeDropdown(t){const e=null==t?void 0:t.target;null!=e&&(e.closest(".snk-data-exporter")||(this._showDropdown=!1))}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}controlDropdown(){this._showDropdown=!this._showDropdown}resolveExporter(t,e){if(null==this.provider||null==t||null==e)return;const i=this.provider.getFilters(),s=this.provider.getColumnsMetadata(),o=this.provider.getOrders(),r=this.provider.getResourceURI(),n=this.provider.getSelectedIDs(),a=t.exportOption,h=[d.EXPORT_PAGE_TO_PDF,d.EXPORT_PAGE_TO_XLS];delete t.exportOption;let c=Object.assign({filters:i,columns:s,sort:o,resourceURI:r,selectedIDs:n.slice(0,E)},t);if(h.includes(a)||"page"==t.type){const t=this.provider.getOffset(),e=this.provider.getLimit();c=Object.assign(Object.assign({},c),{offset:t,limit:e,selectedIDs:[]})}else"all"==t.type&&(c=Object.assign(Object.assign({},c),{offset:0,limit:E,selectedIDs:[]}));f(c).then((t=>e(t))).catch((t=>l.error(this.getMessage("snkDataExporter.message.exportError"),t?t.statusMessage:this.getMessage("snkDataExporter.message.exportError"))))}getOptionKey(t){return Object.keys(d).find((e=>d[e]===t))}dispatchExporter(t){var e;const i=this.getOptionKey(t),s=null!==(e=c[i])&&void 0!==e?e:c.EXPORT_TO_PDF,o=c[i]===c.EXPORT_TO_XLS;this.resolveExporter({methodName:d[`EXPORT_TO_${s}`],fileName:this._appLabel,titleGrid:this._appLabel,exportOption:t,limit:E},(t=>{!function({fileSessionKey:t,canPrint:e,canExport:i,useAppPrint:s,isDownload:o}){const n=r.getContextValue("__SNK__APPLICATION__");if(s&&!o)return function(t,e,i,s){null==s||s.webConnection(p,u.methods.PDF_VIEWER,{chaveArquivo:t,permiteImprimir:e?"S":"N",permiteExportar:i?"S":"N",contentType:"S"})}(t,e,i,n);window.open(`${window.location.protocol}//${window.location.hostname}:${window.location.port}/mge/visualizadorArquivos.mge?chaveArquivo=${t}${o?"&download=S":""}`),l.info(function(t){var e;return null===(e=null==t?void 0:t.messagesBuilder)||void 0===e?void 0:e.getMessage("fileViewer.message.exportSuccess",void 0)}(n),{iconName:"check"})}(Object.assign(Object.assign({},t),{fileType:s,isDownload:o}))}))}async processExporter(t){var e,i,s,o;const r=null==t?void 0:t.detail,n=[d.EXPORT_PAGE_TO_PDF,d.EXPORT_PAGE_TO_XLS],h=null===(e=null==r?void 0:r.id)||void 0===e?void 0:e.includes(this._customPrefix);if((null==r?void 0:r.id)===d.EXPORT_CURRENT_PAGE)return;const c=null===(i=this.provider)||void 0===i?void 0:i.getSelectedIDs(),p=null===(s=this.provider)||void 0===s?void 0:s.getTotalRecords(),u=null===(o=this.provider)||void 0===o?void 0:o.getLimit();let m=!1;if(n.includes(null==r?void 0:r.id)&&u<=E||h?m=!1:(null==c?void 0:c.length)?m=c.length>E:p>E&&(m=!0),m){const t=E.toLocaleString("pt-BR",{minimumFractionDigits:0}),e={title:this.getMessage("snkDataExporter.limitExceeded.title"),description:`\n ${this.getMessage("snkDataExporter.limitExceeded.description",{limit:t})}\n <br/><br/>\n <b>\n ${this.getMessage("snkDataExporter.limitExceeded.subdescription")}\n </b>\n `,cancel:this.getMessage("snkDataExporter.limitExceeded.cancel"),confirm:this.getMessage("snkDataExporter.limitExceeded.continue")};if(!await l.confirm(e.title,e.description,null,a.WARN,{labelCancel:e.cancel,labelConfirm:e.confirm}))return}if(h)return this.openPersonalizedReports(r.id),void(this._showDropdown=!1);this._releasedToExport.includes(null==r?void 0:r.id)&&(r.id===d.EXPORT_BY_EMAIL?this.exportByEmail():this.dispatchExporter(r.id),this._showDropdown=!1)}loadItems(){const t=[];this._releasedToExport.forEach((e=>{var i;null===(i=this._itemBuilder)||void 0===i||i.setExportOption(e,t)})),this.loadPersonalizedItems(t)}async loadPersonalizedItems(t){var e;const i=null===(e=this.provider)||void 0===e?void 0:e.getRecordID();if(null==i)return void(this._items=t);const s=await function(t){const e="mgefin-bff@DataExporterSPBean.getPersonalizedReports",i={serviceName:e,requestBody:t};return new Promise(((t,s)=>v.get().callServiceBroker(e,o.objectToString(i)).then((e=>t(function(t){var e;const i=null===(e=null==t?void 0:t.json)||void 0===e?void 0:e.$;if(null!=i)return o.stringToObject(i)}(e)))).catch((t=>s(t)))))}({recordID:i});null==s||s.forEach((e=>{t.push({id:`${this._customPrefix}_${e.ID}`,label:e.label,group:this.getMessage("snkDataExporter.group.custom")})})),this._items=t}openPersonalizedReports(t){var e;const i=[],s=(null==t?void 0:t.replace(this._customPrefix,""))||"";null===(e=this.provider)||void 0===e||e.getSelectedIDs().forEach((({name:t,type:e,value:s},o)=>{const r=[],n=[];n.fields=[],0===o&&(i[`PK_${t}`]={type:e,value:s},i.pks=[]),r.push({nome:t,tipo:e,valor:s}),n.fields.push(r),i.pks.push(n)})),this._application.openApp(`${m}${s}`,i)}loadDropdown(){var t,e;this._selectedNumber=(null===(e=null===(t=this.provider)||void 0===t?void 0:t.getSelectedIDs())||void 0===e?void 0:e.length)||0,this._itemBuilder=new x(this.getMessage.bind(this),this._selectedNumber),this.loadItems()}getElementID(t){return{[n.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:n.getInternalIDInfo(t)}}canShowDropdown(){var t;return this._showDropdown&&(null===(t=this._items)||void 0===t?void 0:t.length)>0}componentWillLoad(){var t;this._application=r.getContextValue("__SNK__APPLICATION__"),null===(t=this._application)||void 0===t||t.getAppLabel().then((t=>this._appLabel=t)),this.setEvents()}componentDidLoad(){null!=this._element&&(n.addIDInfo(this._element),this.positionDropdown())}componentWillUpdate(){var t;this._showDropdown&&!(null===(t=this._items)||void 0===t?void 0:t.length)&&this.loadDropdown()}componentDidUpdate(){var t;this._showDropdown?this.positionDropdown():(null===(t=this._items)||void 0===t?void 0:t.length)>0&&(this._items=[])}render(){return e(i,null,e("div",{class:`snk-data-exporter\n ${this.canShowDropdown()?" snk-data-exporter--overlap":""}\n `},e("ez-button",Object.assign({ref:t=>this._ezButton=t,iconName:"file-download",size:"small",mode:"icon",title:this.getMessage("snkDataExporter.group.export.title"),onClick:()=>this.controlDropdown()},this.getElementID("button"))),e("div",Object.assign({ref:t=>this._dropdownParent=t,class:`snk-data-exporter__dropdown\n ${this.canShowDropdown()?"snk-data-exporter__dropdown--show":""}\n `},this.getElementID("dropdown")),this.canShowDropdown()&&e("ez-dropdown",Object.assign({items:this._items,onEzClick:t=>this.processExporter(t)},this.getElementID("dropdown"))))),this.canShowDropdown()&&e("div",Object.assign({class:"ez-scrim ez-scrim--light"},this.getElementID("ezScrim"))),e("snk-exporter-email-sender",Object.assign({ref:t=>this._snkEmailSender=t,getMessage:(t,e)=>this.getMessage(t,e)},this.getElementID("snkExporterEmailSender"))))}get _element(){return s(this)}};b.style=".sc-snk-data-exporter-h{--snk-data-exporter--z-index:var(--most-visible, 3);display:flex;width:fit-content;height:fit-content}.snk-data-exporter.sc-snk-data-exporter{display:flex;width:fit-content;height:fit-content}.snk-data-exporter--overlap.sc-snk-data-exporter{z-index:var(--snk-data-exporter--z-index)}.snk-data-exporter__dropdown.sc-snk-data-exporter{display:none}.snk-data-exporter__dropdown--show.sc-snk-data-exporter{display:flex;flex-direction:column;position:fixed}.snk-data-exporter__dropdown.sc-snk-data-exporter>ez-dropdown.sc-snk-data-exporter{position:relative}";export{b as snk_data_exporter}