@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-kb-85616.0 → 0.0.0-bugfix-dev-KB-81596.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/cjs/{ClientSideExporterProvider-9bd6fa5a.js → ClientSideExporterProvider-5fff8770.js} +20 -25
  2. package/dist/cjs/{ConfigStorage-6b633b10.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-875371e9.js → DataFetcher-1afdb18e.js} +14 -2
  4. package/dist/cjs/{pesquisa-fetcher-30cab386.js → ISave-c76e2c51.js} +35 -3
  5. package/dist/cjs/{SnkFormConfigManager-d680be08.js → SnkFormConfigManager-45a8d7b7.js} +3 -3
  6. package/dist/cjs/{auth-fetcher-24ba4135.js → auth-fetcher-1687ac0a.js} +1 -1
  7. package/dist/cjs/{constants-241934b3.js → constants-77c1b8bd.js} +1 -0
  8. package/dist/cjs/{dataunit-fetcher-b95768e8.js → dataunit-fetcher-4a5d491a.js} +7 -6
  9. package/dist/cjs/{form-config-fetcher-e0a512c3.js → form-config-fetcher-40d3f752.js} +15 -1
  10. package/dist/cjs/index-f9e81701.js +2 -2
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +6 -7
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/{snk-actions-button_5.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +68 -7
  15. package/dist/cjs/snk-application.cjs.entry.js +176 -13
  16. package/dist/cjs/snk-attach.cjs.entry.js +6 -7
  17. package/dist/cjs/snk-config-options_3.cjs.entry.js +10 -8
  18. package/dist/cjs/snk-configurator.cjs.entry.js +9 -2
  19. package/dist/cjs/snk-crud.cjs.entry.js +8 -8
  20. package/dist/cjs/snk-data-exporter.cjs.entry.js +6 -7
  21. package/dist/cjs/{snk-data-unit-33937ffe.js → snk-data-unit-4b510d6e.js} +1 -1
  22. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  23. package/dist/cjs/snk-detail-view.cjs.entry.js +11 -11
  24. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  25. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +3 -3
  26. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  27. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  28. package/dist/cjs/snk-grid.cjs.entry.js +7 -8
  29. package/dist/cjs/{snk-guides-viewer-65964889.js → snk-guides-viewer-e8e5f7b4.js} +7 -8
  30. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -9
  31. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  32. package/dist/cjs/snk-pesquisa.cjs.entry.js +12 -13
  33. package/dist/cjs/snk-simple-crud.cjs.entry.js +10 -10
  34. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  35. package/dist/collection/collection-manifest.json +2 -0
  36. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  37. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  38. package/dist/collection/components/snk-application/snk-application.js +126 -4
  39. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  40. package/dist/collection/components/snk-crud/snk-crud.js +20 -1
  41. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  42. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +25 -1
  43. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  44. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +15 -19
  45. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  46. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  47. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  48. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  49. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  50. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  51. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  52. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +20 -1
  53. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  54. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +14 -2
  55. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +6 -5
  56. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +14 -0
  57. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +26 -2
  58. package/dist/collection/lib/utils/constants.js +1 -0
  59. package/dist/components/ContinuousInsertUtils.js +15 -19
  60. package/dist/components/DataFetcher.js +14 -2
  61. package/dist/components/ISave.js +26 -2
  62. package/dist/components/constants.js +1 -0
  63. package/dist/components/dataunit-fetcher.js +6 -5
  64. package/dist/components/form-config-fetcher.js +14 -0
  65. package/dist/components/index.d.ts +2 -0
  66. package/dist/components/index.js +2 -0
  67. package/dist/components/snk-application2.js +174 -6
  68. package/dist/components/snk-attach2.js +34 -22
  69. package/dist/components/snk-config-options2.js +5 -3
  70. package/dist/components/snk-configurator2.js +22 -2
  71. package/dist/components/snk-crud.js +76 -62
  72. package/dist/components/snk-detail-view2.js +110 -86
  73. package/dist/components/snk-filter-search.js +18 -5
  74. package/dist/components/snk-grid-config2.js +2 -0
  75. package/dist/components/snk-layout-form-config.d.ts +11 -0
  76. package/dist/components/snk-layout-form-config.js +6 -0
  77. package/dist/components/snk-layout-form-config2.js +73 -0
  78. package/dist/components/snk-simple-crud2.js +33 -19
  79. package/dist/components/snk-view-representation.d.ts +11 -0
  80. package/dist/components/snk-view-representation.js +6 -0
  81. package/dist/components/snk-view-representation2.js +41 -0
  82. package/dist/esm/{ClientSideExporterProvider-e42c5a48.js → ClientSideExporterProvider-da9935ed.js} +20 -25
  83. package/dist/esm/{ConfigStorage-e5c1f4c0.js → ConfigStorage-71e6766f.js} +2 -2
  84. package/dist/esm/{DataFetcher-ecf5f903.js → DataFetcher-88e56266.js} +14 -2
  85. package/dist/esm/{pesquisa-fetcher-e26c3295.js → ISave-5efafc97.js} +36 -4
  86. package/dist/esm/{SnkFormConfigManager-1efd102b.js → SnkFormConfigManager-be490a33.js} +3 -3
  87. package/dist/esm/{auth-fetcher-9987c66e.js → auth-fetcher-3510520e.js} +1 -1
  88. package/dist/esm/{constants-75abb876.js → constants-7db1128a.js} +1 -0
  89. package/dist/esm/{dataunit-fetcher-ed6e65ef.js → dataunit-fetcher-1d02ecfc.js} +7 -6
  90. package/dist/esm/{form-config-fetcher-34becd23.js → form-config-fetcher-fa208a6c.js} +15 -1
  91. package/dist/esm/index-a7d3d3f1.js +2 -2
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/pesquisa-grid_2.entry.js +5 -6
  94. package/dist/esm/sankhyablocks.js +1 -1
  95. package/dist/esm/{snk-actions-button_5.entry.js → snk-actions-button_7.entry.js} +68 -9
  96. package/dist/esm/snk-application.entry.js +176 -13
  97. package/dist/esm/snk-attach.entry.js +6 -7
  98. package/dist/esm/snk-config-options_3.entry.js +10 -8
  99. package/dist/esm/snk-configurator.entry.js +9 -2
  100. package/dist/esm/snk-crud.entry.js +8 -8
  101. package/dist/esm/snk-data-exporter.entry.js +6 -7
  102. package/dist/esm/{snk-data-unit-6258b8ae.js → snk-data-unit-7d0ce406.js} +1 -1
  103. package/dist/esm/snk-data-unit.entry.js +3 -3
  104. package/dist/esm/snk-detail-view.entry.js +11 -11
  105. package/dist/esm/snk-field-config.entry.js +1 -1
  106. package/dist/esm/snk-filter-bar_4.entry.js +3 -3
  107. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  108. package/dist/esm/snk-filter-search.entry.js +18 -5
  109. package/dist/esm/snk-grid.entry.js +7 -8
  110. package/dist/esm/{snk-guides-viewer-9e43d0ca.js → snk-guides-viewer-c44b3839.js} +7 -8
  111. package/dist/esm/snk-guides-viewer.entry.js +8 -9
  112. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  113. package/dist/esm/snk-pesquisa.entry.js +5 -6
  114. package/dist/esm/snk-simple-crud.entry.js +10 -10
  115. package/dist/esm/snk-tab-config.entry.js +1 -1
  116. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  117. package/dist/sankhyablocks/{p-3fcb90d6.js → p-03b68a74.js} +1 -1
  118. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  119. package/dist/sankhyablocks/{p-d3b9b377.entry.js → p-165cde3b.entry.js} +1 -1
  120. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  121. package/dist/sankhyablocks/{p-2953c481.entry.js → p-3749dffb.entry.js} +1 -1
  122. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  123. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  124. package/dist/sankhyablocks/{p-6c43fcde.entry.js → p-490b75b5.entry.js} +1 -1
  125. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  126. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  127. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  128. package/dist/sankhyablocks/{p-e66bcb5c.entry.js → p-5ffa0493.entry.js} +1 -1
  129. package/dist/sankhyablocks/{p-6c9d1be4.entry.js → p-60137b7a.entry.js} +1 -1
  130. package/dist/sankhyablocks/p-601b252b.js +26 -0
  131. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  132. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  133. package/dist/sankhyablocks/{p-abd9681c.js → p-6e0a5314.js} +1 -1
  134. package/dist/sankhyablocks/{p-a77bdadc.js → p-73285a8a.js} +1 -1
  135. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  136. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  137. package/dist/sankhyablocks/{p-1d19a5b0.js → p-9261d8a0.js} +1 -1
  138. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  139. package/dist/sankhyablocks/{p-7e0a0aae.js → p-a8be1d67.js} +1 -1
  140. package/dist/sankhyablocks/{p-2746d606.entry.js → p-b2a2a83e.entry.js} +1 -1
  141. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  142. package/dist/sankhyablocks/{p-23cd6abf.entry.js → p-c0eb761b.entry.js} +1 -1
  143. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  144. package/dist/sankhyablocks/{p-3ce68be5.js → p-ebdb9d89.js} +1 -1
  145. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  146. package/dist/sankhyablocks/{p-5a7e18f4.js → p-fbba7e3d.js} +1 -1
  147. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  148. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  149. package/dist/types/components/snk-application/snk-application.d.ts +17 -2
  150. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  151. package/dist/types/components/snk-crud/snk-crud.d.ts +4 -0
  152. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  153. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  154. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  155. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  156. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  157. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  158. package/dist/types/components.d.ts +83 -1
  159. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  160. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +6 -0
  161. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +4 -1
  162. package/dist/types/lib/utils/constants.d.ts +1 -0
  163. package/package.json +1 -1
  164. package/react/components.d.ts +2 -0
  165. package/react/components.js +2 -0
  166. package/react/components.js.map +1 -1
  167. package/dist/cjs/ISave-e91b70a7.js +0 -9
  168. package/dist/esm/ISave-d8c8bc59.js +0 -9
  169. package/dist/sankhyablocks/p-04acdc3a.entry.js +0 -1
  170. package/dist/sankhyablocks/p-05fda408.entry.js +0 -1
  171. package/dist/sankhyablocks/p-1a8295af.entry.js +0 -1
  172. package/dist/sankhyablocks/p-1e48864c.js +0 -1
  173. package/dist/sankhyablocks/p-21749402.js +0 -1
  174. package/dist/sankhyablocks/p-22ddc147.js +0 -26
  175. package/dist/sankhyablocks/p-27d12f8f.entry.js +0 -1
  176. package/dist/sankhyablocks/p-3bab7e9c.entry.js +0 -1
  177. package/dist/sankhyablocks/p-3d424ae9.entry.js +0 -1
  178. package/dist/sankhyablocks/p-4b01cbad.entry.js +0 -11
  179. package/dist/sankhyablocks/p-4c9adf1c.entry.js +0 -1
  180. package/dist/sankhyablocks/p-6b898a51.entry.js +0 -1
  181. package/dist/sankhyablocks/p-9523fc40.entry.js +0 -1
  182. package/dist/sankhyablocks/p-a18de25e.js +0 -1
  183. package/dist/sankhyablocks/p-be2e5f36.entry.js +0 -1
  184. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  185. package/dist/sankhyablocks/p-d571e243.entry.js +0 -1
  186. package/dist/sankhyablocks/p-ef076eea.js +0 -6
@@ -1,15 +1,16 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
- import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, WarningException, ErrorException, KeyboardManager, OnboardingUtils, DependencyType, ArrayUtils, SearchUtils, ElementIDUtils, ApplicationContext, DataType, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
2
+ import { DateUtils, StringUtils, ObjectUtils, WaitingChangeException, SilentException, WarningException, ErrorException, ElementIDUtils, SearchUtils, ArrayUtils, KeyboardManager, OnboardingUtils, DependencyType, ApplicationContext, DataType, ErrorTracking, UserAgentUtils, LockManager, LockManagerOperation } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { C as ConfigStorage } from './ConfigStorage-e5c1f4c0.js';
5
- import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher-ecf5f903.js';
6
- import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher-9987c66e.js';
7
- import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher-ed6e65ef.js';
8
- import { P as PesquisaFetcher } from './pesquisa-fetcher-e26c3295.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-71e6766f.js';
5
+ import { d as dist, D as DataFetcher, U as UrlUtils } from './DataFetcher-88e56266.js';
6
+ import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher-3510520e.js';
7
+ import { P as PreloadManager, D as DataUnitFetcher } from './dataunit-fetcher-1d02ecfc.js';
8
+ import { P as PesquisaFetcher } from './ISave-5efafc97.js';
9
9
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
10
- import { T as TEMPLATES_SKELETON } from './constants-75abb876.js';
11
- import './form-config-fetcher-34becd23.js';
10
+ import { T as TEMPLATES_SKELETON } from './constants-7db1128a.js';
11
+ import './index-b40568ff.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
13
+ import { F as FormConfigFetcher } from './form-config-fetcher-fa208a6c.js';
13
14
  import './PrintUtils-3e4ff0f5.js';
14
15
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
15
16
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
@@ -262,7 +263,10 @@ class SnkErrorHandler {
262
263
  if (exception.errorCode) {
263
264
  exception.message += this.buildErrorCodeHTML(exception.errorCode);
264
265
  }
265
- if (exception instanceof WaitingChangeException) {
266
+ if (exception instanceof SilentException) {
267
+ console.warn("SilentException ignorada", exception);
268
+ }
269
+ else if (exception instanceof WaitingChangeException) {
266
270
  this._app.alert(exception.title, exception.message);
267
271
  }
268
272
  else if (exception instanceof WarningException) {
@@ -382,6 +386,136 @@ class RequestListenerFactory {
382
386
  }
383
387
  }
384
388
 
389
+ const QTD_DETAIL_FIELDS_PREDICTIVE_SEARCH = 6;
390
+ const INVALID_CONTENT_PATTERNS = ['<img', '<svg'];
391
+ const executePreparedSearchPlus = async (mode, argument, options, app, pesquisaFetcher) => {
392
+ var _a;
393
+ const mdByName = {};
394
+ const { entity, entityDescription, criteria, searchOptions, isHierarchyEntity, allowsNonAnalytic } = options;
395
+ if (mode === "ADVANCED") {
396
+ return new Promise((accept, reject) => {
397
+ const pesquisaContent = document.createElement("snk-pesquisa");
398
+ pesquisaContent[ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME] = `entity_${entity}`;
399
+ pesquisaContent.entityName = entity;
400
+ pesquisaContent.argument = argument;
401
+ pesquisaContent.searchLoader = (text) => pesquisaFetcher.loadAdvancedSearch(entity, text, criteria, searchOptions);
402
+ pesquisaContent.isHierarchyEntity = isHierarchyEntity;
403
+ if (isHierarchyEntity) {
404
+ pesquisaContent.treeLoader = (text) => pesquisaFetcher.loadTree(entity, text, criteria, searchOptions);
405
+ pesquisaContent.allowsNonAnalytic = allowsNonAnalytic;
406
+ }
407
+ pesquisaContent.selectItem = (option) => {
408
+ accept(option);
409
+ app.clearPopUpTitle();
410
+ app.closePopUp();
411
+ };
412
+ app.setPopUpTitle(entityDescription);
413
+ app.showPopUp(pesquisaContent, undefined, undefined, reject);
414
+ });
415
+ }
416
+ else if (mode === "LOAD_DESCRIPTION") {
417
+ let result = await pesquisaFetcher.loadByCode(entity, argument, criteria, searchOptions);
418
+ result = ObjectUtils.stringToObject(result.json.$);
419
+ let descriptionField = result.descriptionField;
420
+ const option = (_a = result.data) === null || _a === void 0 ? void 0 : _a[0];
421
+ if (!option) {
422
+ return {
423
+ value: argument,
424
+ label: ""
425
+ };
426
+ }
427
+ return {
428
+ value: argument,
429
+ label: option[descriptionField]
430
+ };
431
+ }
432
+ else {
433
+ let codeValue;
434
+ let result = await pesquisaFetcher.loadAdvancedSearch(entity, argument, criteria, searchOptions, codeValue);
435
+ result = ObjectUtils.stringToObject(result.json.$);
436
+ let descriptionField = result.descriptionField;
437
+ let pkField = result.pkField;
438
+ const list = result.data.map((item) => {
439
+ let fieldsMetadata = filterInvalidFields(result, item, mdByName);
440
+ let fields = filterMathFields(item['__matchFields'], fieldsMetadata, QTD_DETAIL_FIELDS_PREDICTIVE_SEARCH, mdByName);
441
+ return buildOptionItem(argument, item, fields, descriptionField, pkField);
442
+ });
443
+ return list;
444
+ }
445
+ };
446
+ const buildOptionItem = (argument, item, fields, descriptionField, pkField) => {
447
+ var _a;
448
+ const matchFields = item['__matchFields'];
449
+ const descriptionValue = (_a = item[descriptionField]) !== null && _a !== void 0 ? _a : "";
450
+ const pkValue = item[pkField];
451
+ let searchOption = {
452
+ value: pkValue,
453
+ label: descriptionValue,
454
+ presentationValue: StringUtils.highlightValue(argument, matchFields, pkValue, fields, true),
455
+ presentationLabel: descriptionField ? StringUtils.highlightValue(argument, matchFields, descriptionValue, fields, true) : "",
456
+ details: SearchUtils.buildDetails(argument, fields, item)
457
+ };
458
+ return searchOption;
459
+ };
460
+ const filterInvalidFields = (resp, item, mdByName) => {
461
+ let fieldsMetadata = resp.fieldsMetadata.filter((field) => {
462
+ let accept = !StringUtils.isEmpty(item[field.fieldName]) &&
463
+ field.visible !== false &&
464
+ field.type !== 'B' &&
465
+ resp.pkField !== field.fieldName &&
466
+ resp.descriptionField !== field.fieldName &&
467
+ (field.isPrimaryKey || !field.isLinkField) &&
468
+ !(field.type === 'S' && field.presentationType === 'H');
469
+ if (accept) {
470
+ mdByName[field.fieldName] = field;
471
+ }
472
+ //Condição que trata o problema de trazer imagem no entityCard na pesquisa de registros
473
+ if (typeof item[field.fieldName] === 'string' && INVALID_CONTENT_PATTERNS.some(pattern => item[field.fieldName].includes(pattern))) {
474
+ return false;
475
+ }
476
+ return accept;
477
+ });
478
+ return fieldsMetadata;
479
+ };
480
+ const filterMathFields = (matchFields, fields, qtyFields, mdByName) => {
481
+ if (matchFields && Array.isArray(matchFields)) {
482
+ matchFields.forEach((matchField) => {
483
+ let fieldMD = ArrayUtils.removeReference(fields, mdByName[matchField]);
484
+ if (fieldMD) {
485
+ fields.unshift(fieldMD);
486
+ }
487
+ });
488
+ }
489
+ fields = fields.slice(0, qtyFields);
490
+ return fields;
491
+ };
492
+
493
+ class LayoutFormConfig {
494
+ constructor() {
495
+ this._config = null;
496
+ this.listeners = [];
497
+ }
498
+ static getInstance() {
499
+ if (!LayoutFormConfig.instance) {
500
+ LayoutFormConfig.instance = new LayoutFormConfig();
501
+ }
502
+ return LayoutFormConfig.instance;
503
+ }
504
+ get config() {
505
+ return this._config;
506
+ }
507
+ setConfig(newConfig) {
508
+ this._config = newConfig;
509
+ this.notifyListeners();
510
+ }
511
+ onConfigChange(listener) {
512
+ this.listeners.push(listener);
513
+ }
514
+ notifyListeners() {
515
+ this.listeners.forEach(listener => listener(this._config));
516
+ }
517
+ }
518
+
385
519
  const snkApplicationCss = ".sc-snk-application-h{--scrim-z-index:var(--elevation--100, 100);display:flex;flex-direction:column;height:100%}.sc-snk-application-h>.loading-hidden.sc-snk-application{display:none;pointer-events:none}.skeleton-content-left.sc-snk-application{width:300px;padding-right:5px}.skeleton-content.sc-snk-application{height:calc(100vh - 310px)}.spinner.sc-snk-application{height:100vh;gap:10px}.spinner.sc-snk-application>.spin.sc-snk-application{animation-name:spin;animation-duration:5000ms;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}";
386
520
 
387
521
  const SnkApplication = class {
@@ -401,6 +535,8 @@ const SnkApplication = class {
401
535
  this._pendingActions = new Map;
402
536
  this._loadPkParameter = null;
403
537
  this._isLoadedByPk = false;
538
+ this._formConfigFetcher = new FormConfigFetcher();
539
+ this._LayoutFormConfigSingleton = LayoutFormConfig.getInstance();
404
540
  this._applicationReady = false;
405
541
  this._templateSkeleton = TEMPLATES_SKELETON.GRID;
406
542
  this._activeScrimWindow = false;
@@ -475,6 +611,14 @@ const SnkApplication = class {
475
611
  async getKeyboardManager() {
476
612
  return Promise.resolve(this._keyboardManager);
477
613
  }
614
+ /**
615
+ * Obtém o notificador de Layout de formulario.
616
+ *
617
+ * @return {LayoutFormConfig} the Configurador de Layout do Formulario
618
+ */
619
+ async getLayoutFormConfig() {
620
+ return Promise.resolve(this._LayoutFormConfigSingleton);
621
+ }
478
622
  /**
479
623
  * Obtém `true` caso o usuário logado seja o SUP.
480
624
  */
@@ -1005,7 +1149,7 @@ const SnkApplication = class {
1005
1149
  searchOptions,
1006
1150
  allowsNonAnalytic
1007
1151
  };
1008
- return this.executePreparedSearch(mode, argument, options);
1152
+ return (ctxOptions === null || ctxOptions === void 0 ? void 0 : ctxOptions.useSearchPlus) ? this.executePreparedSearchPlus(mode, argument, options) : this.executePreparedSearch(mode, argument, options);
1009
1153
  }
1010
1154
  }
1011
1155
  filterInvalidFields(resp, item, mdByName) {
@@ -1049,13 +1193,23 @@ const SnkApplication = class {
1049
1193
  };
1050
1194
  return exibitionItem;
1051
1195
  }
1196
+ /**
1197
+ * Realiza a pesquisa de registros
1198
+ * Ex.: snk-config-options
1199
+ */
1200
+ async executePreparedSearchPlus(mode, argument, options) {
1201
+ return await this.executePreparedSearch(mode, argument, Object.assign(Object.assign({}, options), { useSearchPlus: true }));
1202
+ }
1052
1203
  /**
1053
1204
  * Obtém as opções em componentes de pesquisa
1054
1205
  * Ex.: snk-config-options
1055
1206
  */
1056
1207
  async executePreparedSearch(mode, argument, options) {
1057
1208
  const mdByName = {};
1058
- const { entity, entityDescription, criteria, searchOptions, isHierarchyEntity, allowsNonAnalytic } = options;
1209
+ const { entity, entityDescription, criteria, searchOptions, isHierarchyEntity, allowsNonAnalytic, useSearchPlus } = options;
1210
+ if (useSearchPlus) {
1211
+ return executePreparedSearchPlus(mode, argument, options, this, this.pesquisaFetcher);
1212
+ }
1059
1213
  if (mode === "ADVANCED") {
1060
1214
  return new Promise((accept, reject) => {
1061
1215
  const pesquisaContent = document.createElement("snk-pesquisa");
@@ -1205,10 +1359,10 @@ const SnkApplication = class {
1205
1359
  });
1206
1360
  }
1207
1361
  }
1208
- clearPopUpTitle() {
1362
+ async clearPopUpTitle() {
1209
1363
  this._popUp.ezTitle = "";
1210
1364
  }
1211
- setPopUpTitle(title) {
1365
+ async setPopUpTitle(title) {
1212
1366
  this._popUp.ezTitle = title;
1213
1367
  }
1214
1368
  async pkChangeListener() {
@@ -1378,6 +1532,9 @@ const SnkApplication = class {
1378
1532
  ApplicationContext.setContextValue("__EZUI__SEARCH__OPTION__LOADER__", (searchArgument, fieldName, dataUnit, ctxOptions) => {
1379
1533
  return this.executeSearch(searchArgument, fieldName, dataUnit, ctxOptions);
1380
1534
  });
1535
+ ApplicationContext.setContextValue("__EZUI__SEARCH__PLUS__OPTION__LOADER__", (searchArgument, fieldName, dataUnit, ctxOptions) => {
1536
+ return this.executeSearch(searchArgument, fieldName, dataUnit, Object.assign(Object.assign({}, ctxOptions), { useSearchPlus: true }));
1537
+ });
1381
1538
  ApplicationContext.setContextValue("__EZUI__GRID_LICENSE__", agGridLicense);
1382
1539
  this.registerPkChangeListener();
1383
1540
  ErrorTracking.init();
@@ -1388,6 +1545,12 @@ const SnkApplication = class {
1388
1545
  ConfigStorage.preload(this.applicationResourceID, this.configName, legacyConfig);
1389
1546
  document.addEventListener("click", () => Workspace.applicationClick());
1390
1547
  this._waitingAppReady.forEach(resolve => resolve());
1548
+ this.setLayoutFormConfig();
1549
+ }
1550
+ async setLayoutFormConfig() {
1551
+ const response = await this._formConfigFetcher.fetchLayoutFormConfig('formColCfg.' + this.applicationResourceID);
1552
+ const config = isNaN(Number(response === null || response === void 0 ? void 0 : response.config)) ? null : Number(response === null || response === void 0 ? void 0 : response.config);
1553
+ this._LayoutFormConfigSingleton.setConfig(config);
1391
1554
  }
1392
1555
  connectedCallback() {
1393
1556
  this._isBrowserTypeElectron = UserAgentUtils.isElectron();
@@ -1,14 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-a7d3d3f1.js';
2
2
  import { ApplicationContext, DataType, Action, UserInterface, StringUtils, DataUnitLoaderUtils, DataUnit } from '@sankhyalabs/core';
3
- import { D as DataFetcher } from './DataFetcher-ecf5f903.js';
4
- import './pesquisa-fetcher-e26c3295.js';
3
+ import { D as DataFetcher } from './DataFetcher-88e56266.js';
4
+ import { S as SaveErrorsEnum } from './ISave-5efafc97.js';
5
5
  import './index-b40568ff.js';
6
- import { S as SaveErrorsEnum } from './ISave-d8c8bc59.js';
7
- import { P as PreloadManager, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher-ed6e65ef.js';
6
+ import { P as PreloadManager, D as DataUnitFetcher, I as InMemoryLoader } from './dataunit-fetcher-1d02ecfc.js';
8
7
  import './filter-item-type.enum-d45e026f.js';
9
- import './form-config-fetcher-34becd23.js';
10
- import { V as VIEW_MODE } from './constants-75abb876.js';
11
- import { A as AutorizationType } from './auth-fetcher-9987c66e.js';
8
+ import './form-config-fetcher-fa208a6c.js';
9
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
10
+ import { A as AutorizationType } from './auth-fetcher-3510520e.js';
12
11
  import { T as TaskbarElement } from './taskbar-elements-d2353c64.js';
13
12
  import './PrintUtils-3e4ff0f5.js';
14
13
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
@@ -2,15 +2,15 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { UserInterface, ObjectUtils, StringUtils, ApplicationContext, ElementIDUtils, ArrayUtils } from '@sankhyalabs/core';
3
3
  import { DataType, getConvertedValue } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
4
4
  import { CheckMode, ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
- import { d as VARS_BY_TYPE, D as DEFAULT_TYPE, e as TAGS_BY_TYPE, C as CONFIG_EVENTS, a as CONFIG_SORTABLE_EVENTS, c as TAB_NAMES, A as ACTION_CONFIG } from './constants-75abb876.js';
6
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-1efd102b.js';
5
+ import { d as VARS_BY_TYPE, D as DEFAULT_TYPE, e as TAGS_BY_TYPE, C as CONFIG_EVENTS, a as CONFIG_SORTABLE_EVENTS, c as TAB_NAMES, A as ACTION_CONFIG } from './constants-7db1128a.js';
6
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-be490a33.js';
7
7
  import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
8
8
  import { S as Sortable } from './Sortable-83960219.js';
9
- import { U as UserConfigType } from './form-config-fetcher-34becd23.js';
9
+ import { U as UserConfigType } from './form-config-fetcher-fa208a6c.js';
10
10
  import { buildFormConfigFromDataUnit } from '@sankhyalabs/ezui/dist/collection/utils/form';
11
- import './ConfigStorage-e5c1f4c0.js';
11
+ import './ConfigStorage-71e6766f.js';
12
12
  import './filter-item-type.enum-d45e026f.js';
13
- import './DataFetcher-ecf5f903.js';
13
+ import './DataFetcher-88e56266.js';
14
14
  import './PrintUtils-3e4ff0f5.js';
15
15
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
16
16
 
@@ -151,11 +151,13 @@ const SnkConfigOptions = class {
151
151
  return h(TagName, Object.assign({ value: value, enabled: enabled, label: label, "data-field-name": name, key: name, onEzChange: (evt) => this.onChange(evt === null || evt === void 0 ? void 0 : evt.detail) }, (this.getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode))));
152
152
  }
153
153
  getConditionalAttributes(userInterface, required, options, precision, prettyPrecision, mode) {
154
+ const useSearchPlus = userInterface == UserInterface.SEARCHPLUS;
154
155
  switch (userInterface) {
155
156
  case UserInterface.SEARCH:
157
+ case UserInterface.SEARCHPLUS:
156
158
  return {
157
159
  suppressEmptyOption: required,
158
- optionLoader: (searchArgument) => this.onSearch(searchArgument)
160
+ optionLoader: (searchArgument) => this.onSearch(searchArgument, { useSearchPlus })
159
161
  };
160
162
  case UserInterface.OPTIONSELECTOR:
161
163
  return {
@@ -188,9 +190,9 @@ const SnkConfigOptions = class {
188
190
  this.fieldConfig.defaultValue.value = this.getValidatedValue(fieldValue);
189
191
  this.configOptionsChanged.emit(this.fieldConfig);
190
192
  }
191
- onSearch(searchArgument) {
193
+ onSearch(searchArgument, ctxOptions) {
192
194
  if (this._application != undefined && this.fieldConfig != undefined) {
193
- return this._application.executeSearch(searchArgument, this.fieldConfig.name, this.dataUnit);
195
+ return this._application.executeSearch(searchArgument, this.fieldConfig.name, this.dataUnit, ctxOptions);
194
196
  }
195
197
  }
196
198
  buildField(descriptor, config) {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ApplicationContext } from '@sankhyalabs/core';
3
- import { V as VIEW_MODE } from './constants-75abb876.js';
3
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
5
5
 
6
6
  const snkConfiguratorCss = ".sc-snk-configurator-h{--snk-configurator__button-close--padding-left:var(--space--medium, 12px);--snk-configurator__title--color:var(--title--primary, #2B3A54);--snk-configurator__title--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__title--font-size:var(--title--large, 20px);--snk-configurator__title--font-weight:var(--text-weight--extra-large, 700);--snk-configurator__subtitle--color:var(--title--primary, #2B3A54);--snk-configurator__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-configurator__subtitle--font-size:var(--text--medium, 14px);--snk-configurator__subtitle--font-weight:var(--text-weight--large, 600);--snk-configurator__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-configurator__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-configurator__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-configurator__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-configurator__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-configurator__scrollbar--width:var(--space--small, 6px)}.snk-configurator.sc-snk-configurator{display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.snk-configurator__collsable-box-action.sc-snk-configurator{width:100%}.snk-configurator__action-buttons.sc-snk-configurator{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--space--medium)}.snk-configurator__outline.sc-snk-configurator{display:flex;flex-direction:column;gap:var(--space--small);margin-top:var(--space--small);margin-bottom:var(--space--large)}@media screen and (min-width: 480px){.snk-configurator.sc-snk-configurator{width:359px;max-width:359px}}.snk-configurator__button-config.sc-snk-configurator{--ez-button--min-width:100%}.snk-configurator__header.sc-snk-configurator{display:flex;justify-content:space-between;align-items:center;width:100%}.snk-configurator__title.sc-snk-configurator{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-configurator__title--color);font-size:var(--snk-configurator__title--font-size);font-family:var(--snk-configurator__title--font-family);font-weight:var(--snk-configurator__title--font-weight)}.snk-configurator__subtitle.sc-snk-configurator{display:flex;margin:0;padding-top:var(--space--medium);padding-bottom:var(--space--small);color:var(--snk-configurator__subtitle--color);font-size:var(--snk-configurator__subtitle--font-size);font-family:var(--snk-configurator__subtitle--font-family);font-weight:var(--snk-configurator__subtitle--font-weight)}.snk-configurator__button-close.sc-snk-configurator{padding-left:var(--snk-configurator__button-close--padding-left)}.snk-configurator__main.sc-snk-configurator{overflow-y:auto;scrollbar-width:thin;margin:var(--space--medium) 0;scrollbar-color:var(--snk-configurator__scrollbar--color-clicked) var(--snk-configurator__scrollbar--color-background)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar{background-color:var(--snk-configurator__scrollbar--color-background);width:var(--snk-configurator__scrollbar--width);max-width:var(--snk-configurator__scrollbar--width);min-width:var(--snk-configurator__scrollbar--width)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-track{background-color:var(--snk-configurator__scrollbar--color-background);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb{background-color:var(--snk-configurator__scrollbar--color-default);border-radius:var(--snk-configurator__scrollbar--border-radius)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:hover,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-configurator__scrollbar--color-hover)}.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:vertical:active,.snk-configurator__main.sc-snk-configurator::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-configurator__scrollbar--color-clicked)}";
@@ -19,6 +19,7 @@ const SnkConfigurator = class {
19
19
  this.resourceID = undefined;
20
20
  this.viewMode = VIEW_MODE.GRID;
21
21
  this.customContainerId = undefined;
22
+ this.layoutFormConfig = false;
22
23
  this.messagesBuilder = undefined;
23
24
  }
24
25
  /**
@@ -79,6 +80,12 @@ const SnkConfigurator = class {
79
80
  var _a;
80
81
  return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {});
81
82
  }
83
+ handleSave() {
84
+ if (this.layoutFormConfig) {
85
+ this._snkLayoutFormConfig.save();
86
+ }
87
+ this.save.emit();
88
+ }
82
89
  componentWillLoad() {
83
90
  this._application = ApplicationContext.getContextValue('__SNK__APPLICATION__');
84
91
  if (this._application) {
@@ -102,7 +109,7 @@ const SnkConfigurator = class {
102
109
  insideCustomElementsContainer === null || insideCustomElementsContainer === void 0 ? void 0 : insideCustomElementsContainer.appendChild(configuratorCustomElement);
103
110
  }
104
111
  render() {
105
- return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light" }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: "Modo de visualiza\u00E7\u00E3o ", headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: "Cancelar", onClick: () => this.cancel.emit() }), h("ez-button", { label: "Salvar", onClick: () => this.save.emit(), class: "ez-button--primary" }))))));
112
+ return (h("ez-modal", { ref: (element) => (this.modal = element), opened: this._opened, "close-esc": false, "close-outside-click": false, "modal-size": "small", scrim: "light" }, h("div", { class: "snk-configurator" }, h("div", { class: "snk-configurator__header" }, h("label", { class: "snk-configurator__title" }, this.getMessage('snkConfigurator.titleConfigurations')), h("div", { class: "snk-configurator__button-close" }, h("ez-button", { mode: "icon", iconName: "close", size: "medium", onClick: () => this.closeConfig() }))), h("div", { class: "snk-configurator__main" }, h("ez-collapsible-box", { boxBordered: true, label: "Modo de visualiza\u00E7\u00E3o ", headerSize: "medium", class: "snk-configurator__collapsable-box" }, h("ez-radio-button", { value: this.getViewModeValue().toString(), onEzChange: (evt) => this.onViewModeChanged(evt), enabled: this.enableModeConfig() }, h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelGrid'), value: VIEW_MODE.GRID }), h("ez-radio-button-option", { label: this.getMessage('snkConfigurator.labelForm'), value: VIEW_MODE.FORM })), h("div", { class: "snk-configurator__collsable-box-action" }, h("ez-button", { label: this.viewMode === VIEW_MODE.GRID ? this.getMessage('snkConfigurator.labelConfigGrid') : this.getMessage('snkConfigurator.labelConfigForm'), class: "snk-configurator__button-config ez-button--secondary", onClick: () => this.onClickOpenConfig(), id: "openConfigurator" }))), this.layoutFormConfig && h("ez-collapsible-box", { boxBordered: true, value: true, label: "Layout do formul\u00E1rio", headerSize: "medium", class: "snk-configurator__collapsable-box ez-margin-top--medium" }, h("div", { class: 'ez-flex ez-flex--column ez-size-width--full' }, h("snk-layout-form-config", { ref: (ref) => this._snkLayoutFormConfig = ref }))), h("div", { id: "slotContainer", class: "snk-configurator__outline" })), this.showActionButtons && (h("div", { class: "snk-configurator__action-buttons" }, h("ez-button", { label: "Cancelar", onClick: () => this.cancel.emit() }), h("ez-button", { label: "Salvar", onClick: () => this.handleSave(), class: "ez-button--primary" }))))));
106
113
  }
107
114
  get _element() { return getElement(this); }
108
115
  };
@@ -1,17 +1,16 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { StringUtils, ElementIDUtils, ApplicationContext, JSUtils, FloatingManager } from '@sankhyalabs/core';
3
3
  import { T as TaskbarElement } from './taskbar-elements-d2353c64.js';
4
- import './DataFetcher-ecf5f903.js';
5
- import './pesquisa-fetcher-e26c3295.js';
4
+ import './DataFetcher-88e56266.js';
5
+ import './ISave-5efafc97.js';
6
6
  import { P as PresentationMode, E as ExporterStrategy } from './index-b40568ff.js';
7
- import './ISave-d8c8bc59.js';
8
7
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
9
8
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
- import './dataunit-fetcher-ed6e65ef.js';
9
+ import './dataunit-fetcher-1d02ecfc.js';
11
10
  import './filter-item-type.enum-d45e026f.js';
12
- import './form-config-fetcher-34becd23.js';
13
- import { V as VIEW_MODE } from './constants-75abb876.js';
14
- import { A as AutorizationType } from './auth-fetcher-9987c66e.js';
11
+ import './form-config-fetcher-fa208a6c.js';
12
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
13
+ import { A as AutorizationType } from './auth-fetcher-3510520e.js';
15
14
  import './index-bdf75557.js';
16
15
  import './PrintUtils-3e4ff0f5.js';
17
16
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -63,6 +62,7 @@ const SnkCrud = class {
63
62
  this.ignoreReadOnlyFormFields = undefined;
64
63
  this.setCustomFormTitle = undefined;
65
64
  this.strategyExporter = ExporterStrategy.SERVER_SIDE;
65
+ this.layoutFormConfig = false;
66
66
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
67
67
  }
68
68
  /**
@@ -397,7 +397,7 @@ const SnkCrud = class {
397
397
  return;
398
398
  }
399
399
  this._snkDataUnit.ignoreSaveMessage = (this._currentViewMode === VIEW_MODE.GRID && !this.enableGridInsert);
400
- return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
400
+ return (h(Host, null, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", { class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full ez-padding--medium' }, h("snk-grid", { ref: (ref) => this._snkGrid = ref, class: 'ez-flex ez-flex--column ez-size-height--full ez-size-width--full', filterBarTitle: this.filterBarTitle, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), messagesBuilder: this.messagesBuilder, actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode, recordsValidator: this.recordsValidator, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit, resourceID: this._resourceID, disablePersonalizedFilter: this.disablePersonalizedFilter, gridLegacyConfigName: this.gridLegacyConfigName, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, strategyExporter: this.strategyExporter }, h("slot", { name: "GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkGridHeader" }), h("slot", { name: "SnkGridFooter" }), h("slot", { name: "SnkGridTaskBar" }))), h("stack-item", null, h("snk-guides-viewer", { ref: ref => this._guidesViewer = ref, entityPath: this._snkDataUnit.entityName, messagesBuilder: this.messagesBuilder, onExit: () => this.setViewMode(VIEW_MODE.GRID), dataState: this._dataState, dataUnit: this._dataUnit, actionsList: this.actionsList, taskbarManager: this.taskbarManager, configName: this.configName, onActionClick: evt => this.executeAction(evt.detail), presentationMode: this.presentationMode, "data-element-id": "crud_form", canEdit: this._canEdit, recordsValidator: this.recordsValidator, resourceID: this._resourceID, detailTaskbarCustomContainerId: this.customContainerId, formLegacyConfigName: this.formLegacyConfigName, enableGridInsert: this.enableGridInsert, getCustomTitle: this.setCustomFormTitle, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }, h("slot", { name: "GUIDES_VIEWER_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "SnkFormTaskBar" }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this._snkDataUnit.entityName, onBack: this.backView.bind(this) })), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showActionButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this._resourceID, customContainerId: this.customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this.customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }), h("slot", { name: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS" }), h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }))));
401
401
  }
402
402
  get _element() { return getElement(this); }
403
403
  static get watchers() { return {
@@ -3,16 +3,15 @@ import { ApplicationContext, ObjectUtils, UserInterface, DataType, ElementIDUtil
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { I as IExportType } from './IFetchDataExporterParams-d73bed3d.js';
5
5
  import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat } from './index-b40568ff.js';
6
- import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-75abb876.js';
7
- import { D as DataFetcher } from './DataFetcher-ecf5f903.js';
8
- import { S as SnkDataUnit } from './snk-data-unit-6258b8ae.js';
9
- import './pesquisa-fetcher-e26c3295.js';
10
- import './ISave-d8c8bc59.js';
6
+ import { R as REPORT_LAUNCHER_RESOURCE_ID } from './constants-7db1128a.js';
7
+ import { D as DataFetcher } from './DataFetcher-88e56266.js';
8
+ import { S as SnkDataUnit } from './snk-data-unit-7d0ce406.js';
9
+ import './ISave-5efafc97.js';
11
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
12
11
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
13
- import './dataunit-fetcher-ed6e65ef.js';
12
+ import './dataunit-fetcher-1d02ecfc.js';
14
13
  import './filter-item-type.enum-d45e026f.js';
15
- import './form-config-fetcher-34becd23.js';
14
+ import './form-config-fetcher-fa208a6c.js';
16
15
  import './PrintUtils-3e4ff0f5.js';
17
16
  import './SnkMessageBuilder-6fff4a4c.js';
18
17
  import '@sankhyalabs/core/dist/dataunit/metadata/DataType';
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host
2
2
  import { Action, ObjectUtils, DataUnitAction, StringUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { O as OperationMap, S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
5
- import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-ed6e65ef.js';
5
+ import { g as getRecordValue, a as DatasetStrategy } from './dataunit-fetcher-1d02ecfc.js';
6
6
  import { convertType } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
7
7
  import { g as getSelectedRecordsIDsInfo } from './GetSelectedRecordsIDsInfo-9fa41508.js';
8
8
 
@@ -1,10 +1,10 @@
1
- export { S as snk_data_unit } from './snk-data-unit-6258b8ae.js';
1
+ export { S as snk_data_unit } from './snk-data-unit-7d0ce406.js';
2
2
  import './index-a7d3d3f1.js';
3
3
  import '@sankhyalabs/core';
4
4
  import '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import './SnkMessageBuilder-6fff4a4c.js';
6
- import './dataunit-fetcher-ed6e65ef.js';
7
- import './DataFetcher-ecf5f903.js';
6
+ import './dataunit-fetcher-1d02ecfc.js';
7
+ import './DataFetcher-88e56266.js';
8
8
  import './PrintUtils-3e4ff0f5.js';
9
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
10
10
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
@@ -1,21 +1,20 @@
1
1
  import { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host } from './index-a7d3d3f1.js';
2
2
  import { Action } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-1efd102b.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-be490a33.js';
4
4
  import { FormMetadata, buildFormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
- import './DataFetcher-ecf5f903.js';
6
- import './pesquisa-fetcher-e26c3295.js';
5
+ import './DataFetcher-88e56266.js';
6
+ import './ISave-5efafc97.js';
7
7
  import { P as PresentationMode } from './index-b40568ff.js';
8
- import './ISave-d8c8bc59.js';
9
8
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
10
9
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
- import './dataunit-fetcher-ed6e65ef.js';
10
+ import './dataunit-fetcher-1d02ecfc.js';
12
11
  import './filter-item-type.enum-d45e026f.js';
13
- import './form-config-fetcher-34becd23.js';
14
- import { V as VIEW_MODE } from './constants-75abb876.js';
12
+ import './form-config-fetcher-fa208a6c.js';
13
+ import { V as VIEW_MODE } from './constants-7db1128a.js';
15
14
  import { T as TaskbarElement } from './taskbar-elements-d2353c64.js';
16
- import { S as SnkGuidesViewer } from './snk-guides-viewer-9e43d0ca.js';
15
+ import { S as SnkGuidesViewer } from './snk-guides-viewer-c44b3839.js';
17
16
  import { S as SnkMessageBuilder } from './SnkMessageBuilder-6fff4a4c.js';
18
- import './ConfigStorage-e5c1f4c0.js';
17
+ import './ConfigStorage-71e6766f.js';
19
18
  import './PrintUtils-3e4ff0f5.js';
20
19
  import '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
21
20
  import '@sankhyalabs/core/dist/utils/SortingUtils';
@@ -67,7 +66,7 @@ class GuideBuilder {
67
66
  }
68
67
  }
69
68
 
70
- const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";
69
+ const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px;height:100%}.detail-header.sc-snk-detail-view{padding-bottom:0}snk-data-unit.sc-snk-detail-view{flex:1}snk-grid.sc-snk-detail-view{height:calc(100% - 43px)}";
71
70
 
72
71
  const SnkDetailView = class {
73
72
  constructor(hostRef) {
@@ -93,6 +92,7 @@ const SnkDetailView = class {
93
92
  this.taskbarCustomContainerId = undefined;
94
93
  this.customEditors = undefined;
95
94
  this.customRenders = undefined;
95
+ this.presentationMode = PresentationMode.SECONDARY;
96
96
  }
97
97
  observeDataUnit(newDataUnit, oldDataUnit) {
98
98
  newDataUnit === null || newDataUnit === void 0 ? void 0 : newDataUnit.subscribe(this.dataUnitActionHandler.bind(this));
@@ -312,7 +312,7 @@ const SnkDetailView = class {
312
312
  render() {
313
313
  this.updateLabel();
314
314
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
315
- return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: false }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: PresentationMode.SECONDARY, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
315
+ return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: this.presentationMode, canEdit: this.canEdit, isDetail: true, taskbarCustomContainerId: this.taskbarCustomContainerId, gridHeaderCustomSlotId: "DETAIL_GRID_HEADER_CUSTOM_ELEMENTS", topTaskbarCustomSlotId: "DETAIL_GRID_TASKBAR_CUSTOM_ELEMENTS", outlineMode: false }))), h("stack-item", null, h("snk-form-view", { ref: (ref) => this._snkFormView = ref, canExpand: false, canFix: false, name: this.selectedForm, formMetadata: this._formMetadata, dataUnit: this.dataUnit, fields: this.getFormFields(), label: this.label, levelPath: this._levelPath, onFormItemsReady: ({ detail: formItems }) => this.formItemsReady.emit(formItems) }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, messagesBuilder: this.messagesBuilder, disabledButtons: this._disabledButtons, buttons: "INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR", primaryButton: "INSERT", presentationMode: this.presentationMode, onActionClick: evt => this.executeActionHandler(evt), dataUnit: this.dataUnit, resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" }, h("slot", { name: "DETAIL_TASKBAR_CUSTOM_ELEMENTS" })))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
316
316
  }
317
317
  static get watchers() { return {
318
318
  "dataUnit": ["observeDataUnit"],
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { A as ACTION_CONFIG } from './constants-75abb876.js';
3
+ import { A as ACTION_CONFIG } from './constants-7db1128a.js';
4
4
 
5
5
  const snkFieldConfigCss = ".sc-snk-field-config-h{--snk-field-config--height:42px;--snk-field-config--width:100%;--snk-field-config__icon--width:48px;--snk-field-config-slim--height:32px;--snk-field-config--border-radius:var(--border--radius-medium, 12px);--snk-field-config--font-size:var(--text--medium, 14px);--snk-field-config--font-family:var(--font-pattern, Arial);--snk-field-config--font-weight:var(--text-weight--medium, 400);--snk-field-config--color:var(--title--primary, #000);--snk-field-config--padding-left:var(--space--medium, 6px);--snk-field-config__input--background-color:var(--background--medium, #e0e0e0);--snk-field-config__input--border:var(--border--medium, 2px solid);--snk-field-config__input--border-color:var(--background--xlight, #fff);--snk-field-config__required--color:var(--color--error, #FF0000);--snk-field-config__label--gap:var(--space--extra-small, 3px);--snk-field-config__transition--visibility:var(--transition, 0.2s linear);--snk-field-config__transition--opacity:var(--transition, 0.15s linear);--snk-field-config__config-popover--z-index:var(--more-visible, 2);--snk-field-config__config-outer-arrow--background-color:var(--color--secondary-200, #D2D3DA);--snk-field-config__draggable--padding-right:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--snk-field-config--width)}.field-config.sc-snk-field-config{width:100%;box-sizing:border-box;display:flex;align-items:center;padding-left:var(--snk-field-config--padding-left);font-weight:var(--snk-field-config--font-weight);height:var(--snk-field-config--height);border-radius:var(--snk-field-config--border-radius);font-family:var(--snk-field-config--font-family);font-size:var(--snk-field-config--font-size);border:var(--snk-field-config__input--border);border-color:var(--snk-field-config__input--border-color);background-color:var(--snk-field-config__input--background-color);color:var(--snk-field-config--color)}.field-config__config-popover.sc-snk-field-config{width:40px;margin-left:auto;z-index:var(--snk-field-config__config-popover--z-index)}.field-config__label.sc-snk-field-config{display:flex;flex-direction:row-reverse;line-height:calc(var(--snk-field-config--font-size) + 2px);gap:var(--snk-field-config__label--gap)}.field-config__label-text.sc-snk-field-config{overflow:hidden;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;height:auto;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;display:-webkit-box;-o-text-overflow:ellipsis;text-overflow:ellipsis;word-break:break-word}.field-config__label-required.sc-snk-field-config{color:var(--snk-field-config__required--color)}.field-config__add.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options.sc-snk-field-config{display:flex;margin-left:auto;visibility:hidden;opacity:0;transition:visibility var(--snk-field-config__transition--visibility), opacity var(--snk-field-config__transition--opacity)}.field-config__options--is-active.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config__remove-icon.sc-snk-field-config{margin-right:-15px}.field-config.sc-snk-field-config:hover .field-config__options.sc-snk-field-config{display:flex;visibility:visible;opacity:1}.field-config.sc-snk-field-config:hover .field-config__add.sc-snk-field-config{visibility:visible;opacity:1}.field-config__draggable.sc-snk-field-config{padding-right:var(--snk-field-config__draggable--padding-right)}.field-config__config-outer-arrow.sc-snk-field-config{clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px;padding-top:3px;border-bottom:1px solid #FFFFFF;background-color:var(--snk-field-config__config-outer-arrow--background-color)}.field-config__config-inner-arrow.sc-snk-field-config{background-color:#FFFFFF;clip-path:polygon(50% 0, 90% 100%, 10% 100%);border-radius:0.25em 0 0 0;width:30px;height:15px}.ez-box__container.sc-snk-field-config ez-collapsible-box.sc-snk-field-config{--snk-collapsible-box__header--padding-left:6px}ez-icon.sc-snk-field-config{--snk-icon--color:var(--snk-field-config--color)}ez-popover.sc-snk-field-config{--snk-popover__box--background-color:transparent;--snk-popover__box--box-shadow:none}.field-config__options.sc-snk-field-config ez-button.sc-snk-field-config{--snk-button--background-color:transparent;--snk-button--focus--border:none;--snk-button--focus--box-shadow:none}@media screen and (min-width: 1200px){.field-config__label.sc-snk-field-config{flex-direction:row}}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-a7d3d3f1.js';
2
2
  import { DataType, StringUtils, ObjectUtils, ElementIDUtils, ErrorException, ApplicationContext, LockManager, LockManagerOperation, FloatingManager, DateUtils, MaskFormatter, ArrayUtils } from '@sankhyalabs/core';
3
3
  import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
4
- import { C as ConfigStorage } from './ConfigStorage-e5c1f4c0.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-71e6766f.js';
5
5
  import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
6
6
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
7
7
  import { F as FilterOperand } from './index-ae591a44.js';
@@ -10,8 +10,8 @@ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
10
10
  import { P as PersonalizedFilterUtils } from './PersonalizedFilterUtils-e2b38ef7.js';
11
11
  import { ModalAction } from '@sankhyalabs/ezui/dist/collection/components/ez-modal-container';
12
12
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
13
- import './form-config-fetcher-34becd23.js';
14
- import './DataFetcher-ecf5f903.js';
13
+ import './form-config-fetcher-fa208a6c.js';
14
+ import './DataFetcher-88e56266.js';
15
15
  import './PrintUtils-3e4ff0f5.js';
16
16
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
17
17
 
@@ -2,10 +2,10 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { ElementIDUtils, ObjectUtils } from '@sankhyalabs/core';
3
3
  import { F as FilterItemType } from './filter-item-type.enum-d45e026f.js';
4
4
  import { E as EPresentationMode } from './presentationMode-783bbf9d.js';
5
- import { C as ConfigStorage } from './ConfigStorage-e5c1f4c0.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-71e6766f.js';
6
6
  import { F as FilterType } from './filter-type.enum-a80c1b6b.js';
7
- import './form-config-fetcher-34becd23.js';
8
- import './DataFetcher-ecf5f903.js';
7
+ import './form-config-fetcher-fa208a6c.js';
8
+ import './DataFetcher-88e56266.js';
9
9
  import './PrintUtils-3e4ff0f5.js';
10
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
11
11