@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-74246.2 → 0.0.0-bugfix-dev-KB-80932.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 (167) hide show
  1. package/dist/cjs/{ConfigStorage-9b965af9.js → ConfigStorage-d024aec8.js} +2 -2
  2. package/dist/cjs/{ContinuousInsertUtils-42636ac1.js → ContinuousInsertUtils-54d44192.js} +5 -5
  3. package/dist/cjs/{DataFetcher-e059eb72.js → DataFetcher-65879b2c.js} +188 -56
  4. package/dist/cjs/{SnkFormConfigManager-46e90d8d.js → SnkFormConfigManager-ae3185b2.js} +6 -8
  5. package/dist/cjs/{auth-fetcher-a78242d1.js → auth-fetcher-8480751c.js} +1 -1
  6. package/dist/cjs/{dataunit-fetcher-228016f4.js → dataunit-fetcher-8ea97d88.js} +2 -2
  7. package/dist/cjs/{form-config-fetcher-91fba2b1.js → form-config-fetcher-90126e4c.js} +1 -1
  8. package/dist/cjs/index-f9e81701.js +4 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{pesquisa-fetcher-2ec4811b.js → pesquisa-fetcher-f3454c23.js} +176 -1
  11. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +133 -0
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/snk-actions-button_5.cjs.entry.js +12 -10
  14. package/dist/cjs/snk-application.cjs.entry.js +144 -21
  15. package/dist/cjs/snk-attach.cjs.entry.js +5 -5
  16. package/dist/cjs/snk-config-options_3.cjs.entry.js +4 -4
  17. package/dist/cjs/snk-crud.cjs.entry.js +8 -7
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +25 -12
  19. package/dist/cjs/{snk-data-unit-3d9b6ed4.js → snk-data-unit-72ef8777.js} +1 -1
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +7 -7
  22. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +24 -10
  23. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  24. package/dist/cjs/snk-grid.cjs.entry.js +9 -8
  25. package/dist/cjs/{snk-guides-viewer-7d85e2fb.js → snk-guides-viewer-ea5d0907.js} +5 -5
  26. package/dist/cjs/snk-guides-viewer.cjs.entry.js +7 -7
  27. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  28. package/dist/cjs/snk-pesquisa.cjs.entry.js +123 -31
  29. package/dist/cjs/snk-simple-crud.cjs.entry.js +15 -10
  30. package/dist/collection/collection-manifest.json +2 -0
  31. package/dist/collection/components/snk-actions-button/actions/index.js +4 -4
  32. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +4 -3
  33. package/dist/collection/components/snk-application/snk-application.css +34 -0
  34. package/dist/collection/components/snk-application/snk-application.js +197 -14
  35. package/dist/collection/components/snk-crud/snk-crud.js +39 -20
  36. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -2
  37. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +11 -4
  38. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  39. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  40. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +40 -8
  41. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +4 -6
  42. package/dist/collection/components/snk-grid/snk-grid.js +39 -20
  43. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +10 -0
  44. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +190 -0
  45. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +25 -0
  46. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +179 -0
  47. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +89 -0
  48. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +24 -5
  49. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +186 -32
  50. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +44 -21
  51. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +3 -1
  52. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +1 -1
  53. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +89 -3
  54. package/dist/components/ContinuousInsertUtils.js +2 -3
  55. package/dist/components/DataFetcher.js +188 -56
  56. package/dist/components/ISave.js +346 -1
  57. package/dist/components/SnkFormConfigManager.js +4 -6
  58. package/dist/components/dataunit-fetcher.js +1 -1
  59. package/dist/components/index.d.ts +2 -0
  60. package/dist/components/index.js +2 -0
  61. package/dist/components/pesquisa-grid.d.ts +11 -0
  62. package/dist/components/pesquisa-grid.js +6 -0
  63. package/dist/components/pesquisa-grid2.js +86 -0
  64. package/dist/components/pesquisa-tree.d.ts +11 -0
  65. package/dist/components/pesquisa-tree.js +6 -0
  66. package/dist/components/pesquisa-tree2.js +82 -0
  67. package/dist/components/snk-actions-button2.js +4 -5
  68. package/dist/components/snk-application2.js +159 -20
  69. package/dist/components/snk-attach2.js +0 -1
  70. package/dist/components/snk-crud.js +5 -4
  71. package/dist/components/snk-data-exporter2.js +21 -9
  72. package/dist/components/snk-detail-view2.js +0 -1
  73. package/dist/components/snk-filter-bar2.js +23 -8
  74. package/dist/components/snk-grid2.js +5 -4
  75. package/dist/components/snk-pesquisa2.js +136 -33
  76. package/dist/components/snk-simple-crud2.js +11 -6
  77. package/dist/components/snk-simple-form-config2.js +4 -3
  78. package/dist/components/teste-pesquisa.js +13 -1
  79. package/dist/esm/{ConfigStorage-ff99377a.js → ConfigStorage-373bb440.js} +2 -2
  80. package/dist/esm/{ContinuousInsertUtils-071e0b6a.js → ContinuousInsertUtils-25e7bd9a.js} +5 -5
  81. package/dist/esm/{DataFetcher-5034df59.js → DataFetcher-5221b992.js} +188 -56
  82. package/dist/esm/{SnkFormConfigManager-035f2975.js → SnkFormConfigManager-b65e6db0.js} +6 -8
  83. package/dist/esm/{auth-fetcher-0b78ca31.js → auth-fetcher-e32fe8a4.js} +1 -1
  84. package/dist/esm/{dataunit-fetcher-56cb648b.js → dataunit-fetcher-8dd93d8b.js} +2 -2
  85. package/dist/esm/{form-config-fetcher-0c2620ef.js → form-config-fetcher-126e2471.js} +1 -1
  86. package/dist/esm/index-a7d3d3f1.js +4 -0
  87. package/dist/esm/loader.js +1 -1
  88. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-0af41f09.js} +177 -3
  89. package/dist/esm/pesquisa-grid_2.entry.js +128 -0
  90. package/dist/esm/sankhyablocks.js +1 -1
  91. package/dist/esm/snk-actions-button_5.entry.js +12 -10
  92. package/dist/esm/snk-application.entry.js +146 -23
  93. package/dist/esm/snk-attach.entry.js +5 -5
  94. package/dist/esm/snk-config-options_3.entry.js +4 -4
  95. package/dist/esm/snk-crud.entry.js +8 -7
  96. package/dist/esm/snk-data-exporter.entry.js +25 -12
  97. package/dist/esm/{snk-data-unit-9fa7d2b9.js → snk-data-unit-11a49fc3.js} +1 -1
  98. package/dist/esm/snk-data-unit.entry.js +3 -3
  99. package/dist/esm/snk-detail-view.entry.js +7 -7
  100. package/dist/esm/snk-filter-bar_4.entry.js +25 -11
  101. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  102. package/dist/esm/snk-grid.entry.js +9 -8
  103. package/dist/esm/{snk-guides-viewer-2fd50f6b.js → snk-guides-viewer-830f5fb9.js} +5 -5
  104. package/dist/esm/snk-guides-viewer.entry.js +7 -7
  105. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  106. package/dist/esm/snk-pesquisa.entry.js +123 -31
  107. package/dist/esm/snk-simple-crud.entry.js +15 -10
  108. package/dist/sankhyablocks/p-05b6ff91.js +1 -0
  109. package/dist/sankhyablocks/p-09067bee.entry.js +1 -0
  110. package/dist/sankhyablocks/p-0cda2226.entry.js +11 -0
  111. package/dist/sankhyablocks/{p-acca8a69.js → p-1435701f.js} +1 -1
  112. package/dist/sankhyablocks/{p-4c5fde50.js → p-171b7623.js} +1 -1
  113. package/dist/sankhyablocks/{p-763edad2.js → p-19dc71e9.js} +1 -1
  114. package/dist/sankhyablocks/{p-0d2a2e9e.entry.js → p-1a91d1f3.entry.js} +1 -1
  115. package/dist/sankhyablocks/{p-e9432f45.entry.js → p-1cf39cfd.entry.js} +1 -1
  116. package/dist/sankhyablocks/{p-e7067256.entry.js → p-254c59d2.entry.js} +1 -1
  117. package/dist/sankhyablocks/p-422eb699.entry.js +1 -0
  118. package/dist/sankhyablocks/{p-c629c07a.entry.js → p-469384a2.entry.js} +1 -1
  119. package/dist/sankhyablocks/p-54f5354a.entry.js +1 -0
  120. package/dist/sankhyablocks/{p-342eeb3b.js → p-60e4db34.js} +1 -1
  121. package/dist/sankhyablocks/p-618a29ed.entry.js +1 -0
  122. package/dist/sankhyablocks/p-798386c7.js +6 -0
  123. package/dist/sankhyablocks/{p-35882caf.entry.js → p-82ee6dc3.entry.js} +1 -1
  124. package/dist/sankhyablocks/{p-c271fbf1.js → p-8a1ee5b5.js} +1 -1
  125. package/dist/sankhyablocks/p-8bd86610.entry.js +1 -0
  126. package/dist/sankhyablocks/p-a3803d7c.entry.js +1 -0
  127. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  128. package/dist/sankhyablocks/p-d92d4f91.entry.js +1 -0
  129. package/dist/sankhyablocks/{p-47d24ac8.js → p-ddefbbc7.js} +1 -1
  130. package/dist/sankhyablocks/p-e5430b29.entry.js +1 -0
  131. package/dist/sankhyablocks/p-f0b9303b.js +1 -0
  132. package/dist/sankhyablocks/p-f258690a.entry.js +1 -0
  133. package/dist/sankhyablocks/{p-5136d9f0.entry.js → p-f975370f.entry.js} +1 -1
  134. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  135. package/dist/types/components/snk-application/snk-application.d.ts +22 -4
  136. package/dist/types/components/snk-crud/snk-crud.d.ts +8 -4
  137. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +1 -0
  138. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  139. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  140. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +6 -1
  141. package/dist/types/components/snk-grid/snk-grid.d.ts +8 -4
  142. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +38 -0
  143. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +29 -0
  144. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +19 -0
  145. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  146. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +8 -1
  147. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +1 -0
  148. package/dist/types/components.d.ts +206 -23
  149. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +10 -1
  150. package/package.json +1 -1
  151. package/react/components.d.ts +2 -0
  152. package/react/components.js +2 -0
  153. package/react/components.js.map +1 -1
  154. package/dist/esm/pesquisa-fetcher-24e5bba0.js +0 -172
  155. package/dist/sankhyablocks/p-00278e07.js +0 -1
  156. package/dist/sankhyablocks/p-262583c6.entry.js +0 -1
  157. package/dist/sankhyablocks/p-29643bef.entry.js +0 -1
  158. package/dist/sankhyablocks/p-365d8ed4.entry.js +0 -1
  159. package/dist/sankhyablocks/p-399e1b74.entry.js +0 -1
  160. package/dist/sankhyablocks/p-65650e05.entry.js +0 -1
  161. package/dist/sankhyablocks/p-70ed0b0f.js +0 -1
  162. package/dist/sankhyablocks/p-82274cb0.js +0 -1
  163. package/dist/sankhyablocks/p-8cf0a9fe.entry.js +0 -1
  164. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  165. package/dist/sankhyablocks/p-e6683406.js +0 -6
  166. package/dist/sankhyablocks/p-eda55eef.entry.js +0 -11
  167. package/dist/sankhyablocks/p-ff6c8f52.entry.js +0 -1
@@ -50,6 +50,8 @@ export class SnkGrid {
50
50
  this._showSnkFilterBar = true;
51
51
  this._enableContinuousInsert = false;
52
52
  this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
53
+ this.enableLockManagerLoadingComp = false;
54
+ this.enableLockManagerTaskbarClick = false;
53
55
  this.configName = undefined;
54
56
  this.filterBarTitle = undefined;
55
57
  this.resourceID = undefined;
@@ -73,7 +75,6 @@ export class SnkGrid {
73
75
  this.autoLoad = undefined;
74
76
  this.autoFocus = true;
75
77
  this.enableGridInsert = false;
76
- this.enableLockManger = false;
77
78
  this.outlineMode = false;
78
79
  }
79
80
  /**
@@ -463,7 +464,7 @@ export class SnkGrid {
463
464
  return undefined;
464
465
  }
465
466
  return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
466
- h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManger: this.enableLockManger, outlineMode: this.outlineMode }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
467
+ h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none' }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
467
468
  }
468
469
  static get is() { return "snk-grid"; }
469
470
  static get encapsulation() { return "scoped"; }
@@ -500,6 +501,42 @@ export class SnkGrid {
500
501
  },
501
502
  "defaultValue": "new SnkMultiSelectionListDataSource()"
502
503
  },
504
+ "enableLockManagerLoadingComp": {
505
+ "type": "boolean",
506
+ "mutable": false,
507
+ "complexType": {
508
+ "original": "boolean",
509
+ "resolved": "boolean",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": true,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o"
517
+ },
518
+ "attribute": "enable-lock-manager-loading-comp",
519
+ "reflect": false,
520
+ "defaultValue": "false"
521
+ },
522
+ "enableLockManagerTaskbarClick": {
523
+ "type": "boolean",
524
+ "mutable": false,
525
+ "complexType": {
526
+ "original": "boolean",
527
+ "resolved": "boolean",
528
+ "references": {}
529
+ },
530
+ "required": false,
531
+ "optional": true,
532
+ "docs": {
533
+ "tags": [],
534
+ "text": "Ativa o gerenciamento de locks na grade pela Taskbar."
535
+ },
536
+ "attribute": "enable-lock-manager-taskbar-click",
537
+ "reflect": false,
538
+ "defaultValue": "false"
539
+ },
503
540
  "configName": {
504
541
  "type": "string",
505
542
  "mutable": false,
@@ -928,24 +965,6 @@ export class SnkGrid {
928
965
  "reflect": false,
929
966
  "defaultValue": "false"
930
967
  },
931
- "enableLockManger": {
932
- "type": "boolean",
933
- "mutable": false,
934
- "complexType": {
935
- "original": "boolean",
936
- "resolved": "boolean",
937
- "references": {}
938
- },
939
- "required": false,
940
- "optional": true,
941
- "docs": {
942
- "tags": [],
943
- "text": "Ativa o gerenciamento de locks na grade."
944
- },
945
- "attribute": "enable-lock-manger",
946
- "reflect": false,
947
- "defaultValue": "false"
948
- },
949
968
  "outlineMode": {
950
969
  "type": "boolean",
951
970
  "mutable": false,
@@ -0,0 +1,10 @@
1
+ :host {
2
+ height: 100vh;
3
+ background: var(--background--xlight, #FFF);
4
+ overflow-x: auto;
5
+ }
6
+
7
+ ez-grid {
8
+ --ez-grid__container--shadow: none;
9
+ --ez-grid__header--shadow:none;
10
+ }
@@ -0,0 +1,190 @@
1
+ import { h, Host } from '@stencil/core';
2
+ import InMemoryLoader from '../../../lib/dataUnit/InMemoryLoader';
3
+ import { PesquisaFetcher } from '../../../lib';
4
+ export class PesquisaGrid {
5
+ constructor() {
6
+ this._pesquisaFetcher = new PesquisaFetcher();
7
+ this.metadata = undefined;
8
+ this.dataSource = [];
9
+ this.pkField = undefined;
10
+ this.descriptionField = undefined;
11
+ this.entityName = undefined;
12
+ this._inMemoryLoader = undefined;
13
+ this._dataunit = undefined;
14
+ this._gridConfig = undefined;
15
+ }
16
+ observeDataSource(newValue) {
17
+ if (!this._inMemoryLoader || !this._dataunit || !newValue)
18
+ return;
19
+ this._inMemoryLoader.records = [...newValue];
20
+ }
21
+ async componentWillLoad() {
22
+ this.initializeDataUnit();
23
+ this._gridConfig = await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName);
24
+ }
25
+ initializeDataUnit() {
26
+ var _a;
27
+ this._inMemoryLoader = new InMemoryLoader(this.metadata, (_a = this.dataSource) !== null && _a !== void 0 ? _a : []);
28
+ this._dataunit = this._inMemoryLoader.dataUnit;
29
+ this._dataunit.pageSize = 0;
30
+ }
31
+ handleDbClick(record) {
32
+ const option = {
33
+ value: record[this.pkField],
34
+ label: record[this.descriptionField],
35
+ };
36
+ this.pesquisaGridSelectItem.emit(option);
37
+ }
38
+ async handleConfigChanged({ detail }) {
39
+ var _a;
40
+ const columns = (_a = detail === null || detail === void 0 ? void 0 : detail.columns) !== null && _a !== void 0 ? _a : [];
41
+ await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName, columns);
42
+ }
43
+ render() {
44
+ return (h(Host, null, h("ez-grid", { dataUnit: this._dataunit, config: this._gridConfig, canEdit: false, suppressCheckboxColumn: true, compact: true, autoFocus: false, onEzDoubleClick: ({ detail }) => this.handleDbClick(detail), onConfigChange: async (event) => this.handleConfigChanged(event) })));
45
+ }
46
+ static get is() { return "pesquisa-grid"; }
47
+ static get encapsulation() { return "scoped"; }
48
+ static get originalStyleUrls() {
49
+ return {
50
+ "$": ["pesquisa-grid.css"]
51
+ };
52
+ }
53
+ static get styleUrls() {
54
+ return {
55
+ "$": ["pesquisa-grid.css"]
56
+ };
57
+ }
58
+ static get properties() {
59
+ return {
60
+ "metadata": {
61
+ "type": "unknown",
62
+ "mutable": false,
63
+ "complexType": {
64
+ "original": "UnitMetadata",
65
+ "resolved": "UnitMetadata",
66
+ "references": {
67
+ "UnitMetadata": {
68
+ "location": "import",
69
+ "path": "@sankhyalabs/core"
70
+ }
71
+ }
72
+ },
73
+ "required": false,
74
+ "optional": false,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": "Campos que representam as colunas da grade."
78
+ }
79
+ },
80
+ "dataSource": {
81
+ "type": "unknown",
82
+ "mutable": false,
83
+ "complexType": {
84
+ "original": "Record[]",
85
+ "resolved": "Record[]",
86
+ "references": {
87
+ "Record": {
88
+ "location": "import",
89
+ "path": "@sankhyalabs/core"
90
+ }
91
+ }
92
+ },
93
+ "required": false,
94
+ "optional": false,
95
+ "docs": {
96
+ "tags": [],
97
+ "text": "Registros da grade"
98
+ },
99
+ "defaultValue": "[]"
100
+ },
101
+ "pkField": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Campo que representa a chave prim\u00E1ria do registro"
114
+ },
115
+ "attribute": "pk-field",
116
+ "reflect": false
117
+ },
118
+ "descriptionField": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "string",
123
+ "resolved": "string",
124
+ "references": {}
125
+ },
126
+ "required": false,
127
+ "optional": false,
128
+ "docs": {
129
+ "tags": [],
130
+ "text": "Campo que representa a descri\u00E7\u00E3o do registro"
131
+ },
132
+ "attribute": "description-field",
133
+ "reflect": false
134
+ },
135
+ "entityName": {
136
+ "type": "string",
137
+ "mutable": false,
138
+ "complexType": {
139
+ "original": "string",
140
+ "resolved": "string",
141
+ "references": {}
142
+ },
143
+ "required": false,
144
+ "optional": false,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": "Nome da entidade representada na grade"
148
+ },
149
+ "attribute": "entity-name",
150
+ "reflect": false
151
+ }
152
+ };
153
+ }
154
+ static get states() {
155
+ return {
156
+ "_inMemoryLoader": {},
157
+ "_dataunit": {},
158
+ "_gridConfig": {}
159
+ };
160
+ }
161
+ static get events() {
162
+ return [{
163
+ "method": "pesquisaGridSelectItem",
164
+ "name": "pesquisaGridSelectItem",
165
+ "bubbles": true,
166
+ "cancelable": true,
167
+ "composed": true,
168
+ "docs": {
169
+ "tags": [],
170
+ "text": ""
171
+ },
172
+ "complexType": {
173
+ "original": "IOption",
174
+ "resolved": "IOption",
175
+ "references": {
176
+ "IOption": {
177
+ "location": "import",
178
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
179
+ }
180
+ }
181
+ }
182
+ }];
183
+ }
184
+ static get watchers() {
185
+ return [{
186
+ "propName": "dataSource",
187
+ "methodName": "observeDataSource"
188
+ }];
189
+ }
190
+ }
@@ -0,0 +1,25 @@
1
+ :host {
2
+ /*@doc Define o posicionamento superior do container de botões de ação.*/
3
+ --snk-pesquisa--tree__action-container--top: var(--space--sm);
4
+ /*@doc Define o posicionamento direito do container de botões de ação.*/
5
+ --snk-pesquisa--tree__action-container--right: var(--space--small);
6
+ /*@doc Define a altura mínima do componente.*/
7
+ --snk-pesquisa--tree__min-height: var(--space--extra-large);
8
+
9
+ background: var(--background--xlight, #FFF);
10
+ position: relative;
11
+ display: inline-block;
12
+ min-height: var(--snk-pesquisa--tree__min-height);
13
+ }
14
+
15
+ :host:hover .actions-container{
16
+ display: flex;
17
+ }
18
+
19
+ .actions-container {
20
+ flex-direction: row;
21
+ position: absolute;
22
+ top: var(--snk-pesquisa--tree__action-container--top);
23
+ right: var(--snk-pesquisa--tree__action-container--right);
24
+ display: none;
25
+ }
@@ -0,0 +1,179 @@
1
+ import { Fragment, h, Host } from '@stencil/core';
2
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ export class PesquisaTree {
4
+ constructor() {
5
+ this.treeLoader = undefined;
6
+ this.argument = undefined;
7
+ this.allowsNonAnalytic = false;
8
+ this.items = [];
9
+ }
10
+ async applyFilter() {
11
+ await this._tree.applyFilter(this.argument);
12
+ }
13
+ async loadTree() {
14
+ if (!this.treeLoader || typeof this.treeLoader !== 'function')
15
+ return;
16
+ const response = await this.treeLoader((this.argument || '').trim());
17
+ this.items = [...response];
18
+ }
19
+ expandOrCloseAllItems(items, expanded) {
20
+ return items.map(item => (Object.assign(Object.assign({}, item), { expanded, children: item.children ? this.expandOrCloseAllItems(item.children, expanded) : undefined })));
21
+ }
22
+ handleExpandAll() {
23
+ this.items = [...this.expandOrCloseAllItems(this.items, true)];
24
+ }
25
+ handleCloseAll() {
26
+ this.items = [...this.expandOrCloseAllItems(this.items, false)];
27
+ }
28
+ handleDbClick(item) {
29
+ var _a;
30
+ if (!this.allowsNonAnalytic && !((_a = item['props']) === null || _a === void 0 ? void 0 : _a['analitico'])) {
31
+ const title = 'Erro';
32
+ const message = `Há pelo menos um registro inválido selecionado. Você deve selecionar itens do tipo 'analítico'.`;
33
+ ApplicationUtils.error(title, message);
34
+ return;
35
+ }
36
+ const option = {
37
+ value: item.id,
38
+ label: item.label,
39
+ };
40
+ this.pesquisaTreeSelectItem.emit(option);
41
+ }
42
+ async componentWillLoad() {
43
+ await this.loadTree();
44
+ }
45
+ renderEmptyMessate() {
46
+ return (h("div", { class: "ez-flex ez-flex--justify-center ez-flex--align-items-center ez-margin--large ez-text ez-text--xlarge ez-text--secondary" }, h("span", null, "Nenhum registro encontrado...")));
47
+ }
48
+ render() {
49
+ var _a;
50
+ return (h(Host, null, !((_a = this.items) === null || _a === void 0 ? void 0 : _a.length) ?
51
+ this.renderEmptyMessate() :
52
+ h(Fragment, null, h("div", { class: 'actions-container' }, h("ez-button", { size: 'small', mode: 'icon', class: 'ez-margin-right--small', iconName: 'show-list', title: "Expandir", onClick: () => this.handleExpandAll() }), h("ez-button", { size: 'small', mode: 'icon', iconName: 'hide-list', title: "Recolher", onClick: () => this.handleCloseAll() })), h("ez-tree", { ref: (element) => this._tree = element, onEzDbClickItem: ({ detail }) => this.handleDbClick(detail), items: this.items }))));
53
+ }
54
+ static get is() { return "pesquisa-tree"; }
55
+ static get encapsulation() { return "scoped"; }
56
+ static get originalStyleUrls() {
57
+ return {
58
+ "$": ["pesquisa-tree.css"]
59
+ };
60
+ }
61
+ static get styleUrls() {
62
+ return {
63
+ "$": ["pesquisa-tree.css"]
64
+ };
65
+ }
66
+ static get properties() {
67
+ return {
68
+ "treeLoader": {
69
+ "type": "unknown",
70
+ "mutable": false,
71
+ "complexType": {
72
+ "original": "(text: string) => Promise<Array<ITreeItem>>",
73
+ "resolved": "(text: string) => Promise<ITreeItem[]>",
74
+ "references": {
75
+ "Promise": {
76
+ "location": "global"
77
+ },
78
+ "Array": {
79
+ "location": "global"
80
+ },
81
+ "ITreeItem": {
82
+ "location": "import",
83
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-tree/interfaces/ITreeItem"
84
+ }
85
+ }
86
+ },
87
+ "required": false,
88
+ "optional": true,
89
+ "docs": {
90
+ "tags": [],
91
+ "text": "Fun\u00E7\u00E3o respons\u00E1vel por carregar a \u00E1rvore hier\u00E1rquica do componente"
92
+ }
93
+ },
94
+ "argument": {
95
+ "type": "string",
96
+ "mutable": true,
97
+ "complexType": {
98
+ "original": "string",
99
+ "resolved": "string",
100
+ "references": {}
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": "Argumentos que ser\u00E3o usados ao chamar a fun\u00E7\u00E3o treeLoader."
107
+ },
108
+ "attribute": "argument",
109
+ "reflect": false
110
+ },
111
+ "allowsNonAnalytic": {
112
+ "type": "boolean",
113
+ "mutable": false,
114
+ "complexType": {
115
+ "original": "boolean",
116
+ "resolved": "boolean",
117
+ "references": {}
118
+ },
119
+ "required": false,
120
+ "optional": false,
121
+ "docs": {
122
+ "tags": [],
123
+ "text": "Define se permite sele\u00E7\u00E3o de items n\u00E3o anal\u00EDticos"
124
+ },
125
+ "attribute": "allows-non-analytic",
126
+ "reflect": false,
127
+ "defaultValue": "false"
128
+ }
129
+ };
130
+ }
131
+ static get states() {
132
+ return {
133
+ "items": {}
134
+ };
135
+ }
136
+ static get events() {
137
+ return [{
138
+ "method": "pesquisaTreeSelectItem",
139
+ "name": "pesquisaTreeSelectItem",
140
+ "bubbles": true,
141
+ "cancelable": true,
142
+ "composed": true,
143
+ "docs": {
144
+ "tags": [],
145
+ "text": ""
146
+ },
147
+ "complexType": {
148
+ "original": "IOption",
149
+ "resolved": "IOption",
150
+ "references": {
151
+ "IOption": {
152
+ "location": "import",
153
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
154
+ }
155
+ }
156
+ }
157
+ }];
158
+ }
159
+ static get methods() {
160
+ return {
161
+ "applyFilter": {
162
+ "complexType": {
163
+ "signature": "() => Promise<void>",
164
+ "parameters": [],
165
+ "references": {
166
+ "Promise": {
167
+ "location": "global"
168
+ }
169
+ },
170
+ "return": "Promise<void>"
171
+ },
172
+ "docs": {
173
+ "text": "",
174
+ "tags": []
175
+ }
176
+ }
177
+ };
178
+ }
179
+ }
@@ -0,0 +1,89 @@
1
+ import { DataType, UserInterface } from '@sankhyalabs/core';
2
+ export function buildGridMetadata(rawValue) {
3
+ const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
4
+ const duName = rawValue.descriptionField;
5
+ const duLabel = rawValue.entityDescription;
6
+ return {
7
+ label: duLabel,
8
+ name: duName,
9
+ fields: fieldsMetadata,
10
+ };
11
+ }
12
+ function buildFieldsMetadata(rawMetadata) {
13
+ if (!rawMetadata || !rawMetadata.length)
14
+ return [];
15
+ return rawMetadata.map(field => {
16
+ return {
17
+ name: field['fieldName'],
18
+ label: field['description'],
19
+ dataType: buildDataType(field['type']),
20
+ userInterface: buildUserInterface(field),
21
+ properties: bildProperties(field)
22
+ };
23
+ });
24
+ }
25
+ function bildProperties(field) {
26
+ const properties = {};
27
+ properties['options'] = buildOptions(field);
28
+ properties['mask'] = buildMask(field);
29
+ return properties;
30
+ }
31
+ function buildMask(field) {
32
+ const fieldUI = field['uiType'];
33
+ return fieldUI ? String(fieldUI).toLowerCase() : undefined;
34
+ }
35
+ function buildOptions(field) {
36
+ const optionsJson = field.options;
37
+ if (!optionsJson)
38
+ return undefined;
39
+ const options = [];
40
+ Object.keys(optionsJson).forEach(key => {
41
+ options.push({
42
+ label: key,
43
+ value: optionsJson[key]
44
+ });
45
+ });
46
+ return options;
47
+ }
48
+ function buildUserInterface(field) {
49
+ const options = field.options;
50
+ if (options && Object.keys(options).length > 0)
51
+ return UserInterface.OPTIONSELECTOR;
52
+ if (field['type'] === 'D')
53
+ return UserInterface.DATE;
54
+ if (field['type'] === 'H')
55
+ return UserInterface.DATETIME;
56
+ if (field['type'] === 'T')
57
+ return UserInterface.TIME;
58
+ return undefined;
59
+ }
60
+ function buildDataType(rawType) {
61
+ switch (rawType) {
62
+ case 'F':
63
+ return DataType.NUMBER;
64
+ case 'D':
65
+ case 'H':
66
+ return DataType.DATE;
67
+ case 'B':
68
+ return DataType.OBJECT;
69
+ default:
70
+ return DataType.TEXT;
71
+ }
72
+ }
73
+ export function parseLegacyTree(legacy) {
74
+ var _a, _b;
75
+ const structure = (_b = (_a = legacy.arvore) === null || _a === void 0 ? void 0 : _a.no) !== null && _b !== void 0 ? _b : [];
76
+ return structure.map(parseLegacyItem);
77
+ }
78
+ function parseLegacyItem(node) {
79
+ return Object.assign({ id: node.codigo, label: `${node.caminho} - ${node.descricao}`, bold: node.analitico === "N", props: { analitico: node.analitico === 'S' } }, (node.no && { children: node.no.map(parseLegacyItem) }));
80
+ }
81
+ export function parseGridConfig(rawConfig) {
82
+ var _a, _b;
83
+ const columns = [];
84
+ const fields = (_b = (_a = rawConfig === null || rawConfig === void 0 ? void 0 : rawConfig.gridConfig) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : {};
85
+ Object.keys(fields).forEach(key => columns.push(fields[key]));
86
+ if (!columns.length)
87
+ return undefined;
88
+ return { columns };
89
+ }
@@ -10,6 +10,10 @@
10
10
  /* records */
11
11
  /*@doc Define a cor da fonte do indicador de registros do componente.*/
12
12
  --snk-pesquisa__records--color: var(--text--primary, #626e82);
13
+ /* records */
14
+ /*@doc Define a cor da fonte do indicador de registros do componente.*/
15
+ --snk-pesquisa__records--color-secondary: var(--text--secondary, #626e82);
16
+ /* records */
13
17
  /*@doc Define o espaçamento vertical do indicador de registros do componente.*/
14
18
  --snk-pesquisa__records--padding-vertical: var(--space--medium, 12px);
15
19
 
@@ -69,9 +73,9 @@
69
73
  .snk-pesquisa__content {
70
74
  display: flex;
71
75
  flex-direction: column;
72
- overflow-y: auto;
73
- scrollbar-width: thin;
76
+ overflow-y: hidden;
74
77
 
78
+ scrollbar-width: thin;
75
79
  /*public*/
76
80
  scrollbar-color: var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);
77
81
  padding-right: var(--snk-pesquisa__content--padding-right);
@@ -109,16 +113,31 @@
109
113
  background-color: var(--snk-pesquisa__scrollbar--color-clicked);
110
114
  }
111
115
 
112
- .snk-pesquisa__records {
113
- /*public*/
116
+ .snk-pesquisa__records-label{
117
+ display: flex;
118
+ flex-direction: row;
119
+ justify-content: space-between;
120
+
114
121
  font-family: var(--snk-pesquisa--font-family);
115
122
  font-weight: var(--snk-pesquisa--font-weight);
116
123
  font-size: var(--snk-pesquisa--font-size);
117
- color: var(--snk-pesquisa__records--color);
118
124
  padding-bottom: var(--snk-pesquisa__records--padding-vertical);
119
125
  padding-top: var(--snk-pesquisa__records--padding-vertical);
120
126
  }
121
127
 
128
+ .snk-pesquisa__records {
129
+ color: var(--snk-pesquisa__records--color);
130
+ }
131
+
132
+ .snk-pesquisa__records-limit {
133
+ color: var(--snk-pesquisa__records--color-secondary);
134
+ }
135
+
136
+ .snk-pesquisa__records-limit.hidden,
137
+ .snk-pesquisa__records.hidden {
138
+ visibility: hidden;
139
+ }
140
+
122
141
  .snk-pesquisa__btn {
123
142
  outline: none;
124
143
  border: none;