@sankhyalabs/sankhyablocks 5.1.4 → 5.2.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 (136) hide show
  1. package/dist/cjs/{SnkMessageBuilder-47185d5d.js → SnkMessageBuilder-c6bd8bc7.js} +9 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  4. package/dist/cjs/snk-application.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-config-options.cjs.entry.js +2 -1
  6. package/dist/cjs/snk-configurator.cjs.entry.js +3 -2
  7. package/dist/cjs/snk-crud.cjs.entry.js +10 -3
  8. package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -1
  9. package/dist/cjs/snk-data-unit-3b6ab2ad.js +436 -0
  10. package/dist/cjs/snk-data-unit.cjs.entry.js +6 -411
  11. package/dist/cjs/snk-detail-view.cjs.entry.js +7 -2
  12. package/dist/cjs/snk-field-config.cjs.entry.js +2 -4
  13. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -1
  14. package/dist/cjs/snk-filter-param-config.cjs.entry.js +2 -1
  15. package/dist/cjs/snk-form-config.cjs.entry.js +6 -5
  16. package/dist/cjs/snk-form.cjs.entry.js +2 -1
  17. package/dist/cjs/snk-grid.cjs.entry.js +3 -2
  18. package/dist/cjs/{snk-guides-viewer-6225bb73.js → snk-guides-viewer-21a2c43c.js} +13 -6
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-simple-crud.cjs.entry.js +2 -1
  21. package/dist/cjs/snk-tab-config.cjs.entry.js +2 -1
  22. package/dist/cjs/snk-taskbar.cjs.entry.js +3 -1
  23. package/dist/collection/components/snk-application/snk-application.js +2 -2
  24. package/dist/collection/components/snk-configurator/snk-configurator.js +23 -2
  25. package/dist/collection/components/snk-crud/snk-crud.js +30 -3
  26. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view.js +27 -2
  27. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +34 -7
  28. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +29 -1
  29. package/dist/collection/components/snk-data-unit/snk-data-unit.js +64 -3
  30. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +23 -1
  31. package/dist/collection/components/snk-form/snk-form.js +22 -1
  32. package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.js +22 -1
  33. package/dist/collection/components/snk-form/subcomponents/snk-field-config/snk-field-config.js +23 -5
  34. package/dist/collection/components/snk-form/subcomponents/snk-form-config/snk-form-config.js +26 -5
  35. package/dist/collection/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.js +22 -1
  36. package/dist/collection/components/snk-grid/snk-grid.js +23 -2
  37. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +26 -1
  38. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +22 -1
  39. package/dist/collection/components/snk-taskbar/snk-taskbar.js +23 -1
  40. package/dist/collection/lib/message/SnkMessageBuilder.js +9 -2
  41. package/dist/components/SnkMessageBuilder.js +9 -2
  42. package/dist/components/snk-application2.js +1 -1
  43. package/dist/components/snk-config-options2.js +3 -1
  44. package/dist/components/snk-configurator2.js +4 -2
  45. package/dist/components/snk-crud.js +11 -3
  46. package/dist/components/snk-data-exporter2.js +10 -1
  47. package/dist/components/snk-data-unit2.js +25 -4
  48. package/dist/components/snk-detail-view2.js +22 -8
  49. package/dist/components/snk-field-config2.js +5 -6
  50. package/dist/components/snk-filter-bar2.js +4 -1
  51. package/dist/components/snk-filter-param-config.js +3 -1
  52. package/dist/components/snk-form-config2.js +7 -5
  53. package/dist/components/snk-form.js +3 -1
  54. package/dist/components/snk-grid2.js +4 -2
  55. package/dist/components/snk-simple-crud.js +3 -1
  56. package/dist/components/snk-tab-config2.js +3 -1
  57. package/dist/components/snk-taskbar2.js +4 -1
  58. package/dist/esm/{SnkMessageBuilder-ec0850af.js → SnkMessageBuilder-68bbf0ae.js} +9 -2
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/sankhyablocks.js +1 -1
  61. package/dist/esm/snk-application.entry.js +1 -1
  62. package/dist/esm/snk-config-options.entry.js +2 -1
  63. package/dist/esm/snk-configurator.entry.js +3 -2
  64. package/dist/esm/snk-crud.entry.js +10 -3
  65. package/dist/esm/snk-data-exporter.entry.js +10 -1
  66. package/dist/esm/snk-data-unit-a8093f95.js +434 -0
  67. package/dist/esm/snk-data-unit.entry.js +5 -414
  68. package/dist/esm/snk-detail-view.entry.js +7 -2
  69. package/dist/esm/snk-field-config.entry.js +3 -5
  70. package/dist/esm/snk-filter-bar.entry.js +3 -1
  71. package/dist/esm/snk-filter-param-config.entry.js +2 -1
  72. package/dist/esm/snk-form-config.entry.js +6 -5
  73. package/dist/esm/snk-form.entry.js +2 -1
  74. package/dist/esm/snk-grid.entry.js +3 -2
  75. package/dist/esm/{snk-guides-viewer-73b9eb29.js → snk-guides-viewer-c9e5aa60.js} +14 -7
  76. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  77. package/dist/esm/snk-simple-crud.entry.js +2 -1
  78. package/dist/esm/snk-tab-config.entry.js +2 -1
  79. package/dist/esm/snk-taskbar.entry.js +3 -1
  80. package/dist/sankhyablocks/p-046b2563.entry.js +1 -0
  81. package/dist/sankhyablocks/p-0a1e7f75.entry.js +1 -0
  82. package/dist/sankhyablocks/{p-28c800b9.js → p-0d70c017.js} +1 -1
  83. package/dist/sankhyablocks/p-280b1321.entry.js +1 -0
  84. package/dist/sankhyablocks/p-32599159.entry.js +1 -0
  85. package/dist/sankhyablocks/{p-9ce550b7.entry.js → p-374af3cb.entry.js} +1 -1
  86. package/dist/sankhyablocks/p-39a49898.js +1 -0
  87. package/dist/sankhyablocks/p-5b84b0c5.entry.js +1 -0
  88. package/dist/sankhyablocks/p-601e6920.entry.js +1 -0
  89. package/dist/sankhyablocks/p-69af76d4.entry.js +1 -0
  90. package/dist/sankhyablocks/p-76f04efe.entry.js +1 -0
  91. package/dist/sankhyablocks/p-8293879e.entry.js +1 -0
  92. package/dist/sankhyablocks/p-93d8fe00.entry.js +1 -0
  93. package/dist/sankhyablocks/p-a12d74dc.entry.js +1 -0
  94. package/dist/sankhyablocks/p-a7468f4b.js +1 -0
  95. package/dist/sankhyablocks/p-a80c766c.entry.js +1 -0
  96. package/dist/sankhyablocks/p-b80cf644.entry.js +1 -0
  97. package/dist/sankhyablocks/p-d65809d5.entry.js +1 -0
  98. package/dist/sankhyablocks/{p-b9fe5ed3.entry.js → p-e999631f.entry.js} +2 -2
  99. package/dist/sankhyablocks/p-f29caa0a.entry.js +1 -0
  100. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  101. package/dist/types/components/snk-application/snk-application.d.ts +1 -4
  102. package/dist/types/components/snk-configurator/snk-configurator.d.ts +5 -0
  103. package/dist/types/components/snk-crud/snk-crud.d.ts +6 -0
  104. package/dist/types/components/snk-crud/subcomponents/snk-detail-view.d.ts +2 -3
  105. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  106. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +5 -0
  107. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +12 -1
  108. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +5 -0
  109. package/dist/types/components/snk-form/snk-form.d.ts +5 -0
  110. package/dist/types/components/snk-form/subcomponents/snk-config-options/snk-config-options.d.ts +5 -0
  111. package/dist/types/components/snk-form/subcomponents/snk-field-config/snk-field-config.d.ts +5 -2
  112. package/dist/types/components/snk-form/subcomponents/snk-form-config/snk-form-config.d.ts +5 -0
  113. package/dist/types/components/snk-form/subcomponents/snk-tab-config/snk-tab-config.d.ts +5 -0
  114. package/dist/types/components/snk-grid/snk-grid.d.ts +5 -0
  115. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +5 -0
  116. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +5 -0
  117. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +5 -0
  118. package/dist/types/components.d.ts +126 -12
  119. package/dist/types/lib/message/SnkMessageBuilder.d.ts +4 -2
  120. package/package.json +1 -1
  121. package/dist/sankhyablocks/p-0154ae58.entry.js +0 -1
  122. package/dist/sankhyablocks/p-10be1b2a.entry.js +0 -1
  123. package/dist/sankhyablocks/p-193b0fa5.entry.js +0 -1
  124. package/dist/sankhyablocks/p-31d4e5d4.entry.js +0 -1
  125. package/dist/sankhyablocks/p-68507ace.entry.js +0 -1
  126. package/dist/sankhyablocks/p-72277163.entry.js +0 -1
  127. package/dist/sankhyablocks/p-7d4bb27a.entry.js +0 -1
  128. package/dist/sankhyablocks/p-878a984f.entry.js +0 -1
  129. package/dist/sankhyablocks/p-94fef424.entry.js +0 -1
  130. package/dist/sankhyablocks/p-983fef8f.js +0 -1
  131. package/dist/sankhyablocks/p-af8cf505.entry.js +0 -1
  132. package/dist/sankhyablocks/p-c88c4f80.entry.js +0 -1
  133. package/dist/sankhyablocks/p-dd90bd52.entry.js +0 -1
  134. package/dist/sankhyablocks/p-eb7b2496.entry.js +0 -1
  135. package/dist/sankhyablocks/p-ecd3cad5.entry.js +0 -1
  136. package/dist/sankhyablocks/p-f9ca6d74.entry.js +0 -1
@@ -29,6 +29,7 @@ const SnkGuidesViewer = class {
29
29
  this.masterFormConfig = undefined;
30
30
  this.selectedGuide = undefined;
31
31
  this.taskbarManager = undefined;
32
+ this.messagesBuilder = undefined;
32
33
  this.presentationMode = undefined;
33
34
  this._breadcrumbItems = [];
34
35
  this._guides = undefined;
@@ -46,7 +47,7 @@ const SnkGuidesViewer = class {
46
47
  }
47
48
  }
48
49
  observeMasterFormConfig() {
49
- this.loadGuides(false);
50
+ this.loadGuides(this.noGuideSelected());
50
51
  }
51
52
  /**
52
53
  * Abre o configurador do formulário
@@ -86,7 +87,7 @@ const SnkGuidesViewer = class {
86
87
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
87
88
  */
88
89
  getMessage(key) {
89
- return this._application.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
90
+ return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
90
91
  }
91
92
  loadGuides(changeSelection) {
92
93
  if (!this.dataUnit) {
@@ -268,8 +269,11 @@ const SnkGuidesViewer = class {
268
269
  }
269
270
  }
270
271
  }
272
+ noGuideSelected() {
273
+ var _a;
274
+ return this.selectedGuide === undefined || '__main' === ((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.id);
275
+ }
271
276
  componentWillLoad() {
272
- this._application = core.ApplicationContext.getContextValue("__SNK__APPLICATION__");
273
277
  this._configManager = new SnkFormConfigManager.SnkFormConfigManager(this.configName, config => this.masterFormConfig = config);
274
278
  this._configManager.loadConfig();
275
279
  }
@@ -289,12 +293,12 @@ const SnkGuidesViewer = class {
289
293
  }
290
294
  buildTaskBar() {
291
295
  var _a;
292
- return index.h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != index$1.PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, index.h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit }));
296
+ return index.h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != index$1.PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, index.h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit }));
293
297
  }
294
298
  render() {
295
299
  var _a, _b;
296
300
  if (this._formEditorConfigManager != undefined) {
297
- return (index.h("snk-form-config", { dataUnit: this._formEditorDataUnit, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
301
+ return (index.h("snk-form-config", { dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
298
302
  }
299
303
  if (!this.dataUnit) {
300
304
  return;
@@ -305,7 +309,10 @@ const SnkGuidesViewer = class {
305
309
  this.loadTaskbarProcessor();
306
310
  const showGuides = this._guides && (this._guides.length > 1);
307
311
  return (index.h("section", { class: "snk-guides-viewer" }, index.h("div", { class: "ez-row snk-guides-viewer__header" }, index.h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, index.h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), index.h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, index.h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
308
- index.h("div", { class: "ez-margin-top--extra-small" }, index.h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${core.ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != index$1.PresentationMode.SECONDARY && this.buildTaskBar()), index.h("div", { class: showGuides ? "snk-guides-viewer__container" : undefined }, showGuides && index.h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) }), index.h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
312
+ index.h("div", { class: "ez-margin-top--extra-small" }, index.h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${core.ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != index$1.PresentationMode.SECONDARY && this.buildTaskBar()), index.h("div", { class: "snk-guides-viewer__container" }, showGuides ?
313
+ index.h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) })
314
+ :
315
+ index.h("div", null), index.h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), index.h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail) })));
309
316
  }
310
317
  static get watchers() { return {
311
318
  "dataUnit": ["observeDataUnit"],
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const snkGuidesViewer = require('./snk-guides-viewer-6225bb73.js');
5
+ const snkGuidesViewer = require('./snk-guides-viewer-21a2c43c.js');
6
6
  require('./index-21bd01e1.js');
7
7
  require('@sankhyalabs/core');
8
8
  require('./SnkFormConfigManager-88559b73.js');
@@ -147,6 +147,7 @@ const SnkSimpleCrud = class {
147
147
  this.dataUnit = undefined;
148
148
  this.mode = constants.SIMPLE_CRUD_MODE.SERVER;
149
149
  this.taskbarManager = undefined;
150
+ this.messagesBuilder = undefined;
150
151
  }
151
152
  resolveInMemoryBtns(taskbarButtons) {
152
153
  const newTaskBarConfig = [...taskbarButtons];
@@ -262,7 +263,7 @@ const SnkSimpleCrud = class {
262
263
  }
263
264
  render() {
264
265
  var _a;
265
- return (index.h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, onDataStateChange: evt => this.onDataStateChange(evt), onInsertionMode: () => this.goToView(constants.VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail) }, index.h("header", null, index.h("slot", { name: "snkSimpleCrudHeader" })), index.h("section", { class: "ez-flex ez-box ez-box--shadow" }, index.h("snk-taskbar", { class: "simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: index$1.PresentationMode.SECONDARY }), index.h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, index.h("stack-item", null, index.h("ez-grid", { dataUnit: this.dataUnit, onEzDoubleClick: () => this.goToView(constants.VIEW_MODE.FORM), "no-header": true }, index.h("div", { slot: "footer" }, index.h("slot", { name: "snkSimpleCrudFooter" })))), index.h("stack-item", null, index.h("ez-form", { dataUnit: this.dataUnit, config: this._config }))))));
266
+ return (index.h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, onDataStateChange: evt => this.onDataStateChange(evt), onInsertionMode: () => this.goToView(constants.VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, index.h("header", null, index.h("slot", { name: "snkSimpleCrudHeader" })), index.h("section", { class: "ez-flex ez-box ez-box--shadow" }, index.h("snk-taskbar", { class: "simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, slot: "leftButtons", presentationMode: index$1.PresentationMode.SECONDARY }), index.h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, index.h("stack-item", null, index.h("ez-grid", { dataUnit: this.dataUnit, onEzDoubleClick: () => this.goToView(constants.VIEW_MODE.FORM), "no-header": true }, index.h("div", { slot: "footer" }, index.h("slot", { name: "snkSimpleCrudFooter" })))), index.h("stack-item", null, index.h("ez-form", { dataUnit: this.dataUnit, config: this._config }))))));
266
267
  }
267
268
  get _element() { return index.getElement(this); }
268
269
  static get watchers() { return {
@@ -28,6 +28,7 @@ const SnkTabConfig = class {
28
28
  this.selectedIndex = undefined;
29
29
  this.selectedTab = undefined;
30
30
  this.tabs = undefined;
31
+ this.messagesBuilder = undefined;
31
32
  }
32
33
  /**
33
34
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
@@ -36,7 +37,7 @@ const SnkTabConfig = class {
36
37
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-form.msg.ts"
37
38
  */
38
39
  getMessage(key, params) {
39
- return this._application.messagesBuilder.getMessage(key, params);
40
+ return this.messagesBuilder.getMessage(key, params);
40
41
  }
41
42
  controlSortableTab() {
42
43
  if (this._sortableTab) {
@@ -39,6 +39,7 @@ const SnkTaskbar = class {
39
39
  this.disabledButtons = undefined;
40
40
  this.dataUnit = undefined;
41
41
  this.presentationMode = index$1.PresentationMode.PRIMARY;
42
+ this.messagesBuilder = undefined;
42
43
  }
43
44
  observeButtons() {
44
45
  this._definitions = undefined;
@@ -76,6 +77,7 @@ const SnkTaskbar = class {
76
77
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-taskbar.msg.ts"
77
78
  */
78
79
  getTitle(element) {
80
+ var _a;
79
81
  let key;
80
82
  if (this.isAllowed(element)) {
81
83
  key = this._titleKeyByElement[element];
@@ -83,7 +85,7 @@ const SnkTaskbar = class {
83
85
  else {
84
86
  key = "snkTaskbar.forbidden";
85
87
  }
86
- return key ? this._application.messagesBuilder.getMessage(key, {}) : "";
88
+ return key ? (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {}) : "";
87
89
  }
88
90
  elementClick(elem) {
89
91
  if (this.dataUnit) {
@@ -6,7 +6,6 @@ import { SnkErrorHandler } from "./errorhandler/snk-error-handler";
6
6
  import { PesquisaFetcher } from "../../lib/http/data-fetcher/fetchers/pesquisa-fetcher";
7
7
  import { agGridLicense } from '../../lib/licenses/sankhyalicense.module';
8
8
  import { TotalsFetcher } from "../../lib/http/data-fetcher/fetchers/totals-fetcher";
9
- import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
10
9
  import { ConfigStorage } from "../../lib/configs/ConfigStorage";
11
10
  import DataUnitFetcher from "../../lib/http/data-fetcher/fetchers/dataunit-fetcher";
12
11
  import UrlUtils from "../../lib/utils/urlutils";
@@ -16,6 +15,7 @@ import ParametersFetcher from "../../lib/http/data-fetcher/fetchers/parameters-f
16
15
  import MGEAuthorization from '../../lib/auth/mgeauthorization.module';
17
16
  import GridConfigFetcher from "../../lib/http/data-fetcher/fetchers/grid-config-fetcher";
18
17
  import AuthFetcher, { AutorizationType } from "../../lib/http/data-fetcher/fetchers/auth-fetcher";
18
+ import { SnkMessageBuilder } from "../../lib/message/SnkMessageBuilder";
19
19
  /**
20
20
  * É possível customizar as mensagens dos blocos de construção através de um pequeno modulo na estrutura da aplicação:
21
21
  * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
@@ -627,7 +627,7 @@ export class SnkApplication {
627
627
  "optional": false,
628
628
  "docs": {
629
629
  "tags": [],
630
- "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
630
+ "text": ""
631
631
  }
632
632
  },
633
633
  "configName": {
@@ -8,6 +8,7 @@ export class SnkConfigurator {
8
8
  this._permissions = undefined;
9
9
  this.configName = undefined;
10
10
  this.viewMode = VIEW_MODE.GRID;
11
+ this.messagesBuilder = undefined;
11
12
  }
12
13
  /**
13
14
  * Exibe a janela de configuração.
@@ -63,8 +64,8 @@ export class SnkConfigurator {
63
64
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-configurator.msg.ts"
64
65
  */
65
66
  getMessage(key) {
66
- var _a, _b;
67
- return (_b = (_a = this._application) === null || _a === void 0 ? void 0 : _a.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage(key, {});
67
+ var _a;
68
+ return (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage(key, {});
68
69
  }
69
70
  componentWillLoad() {
70
71
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
@@ -133,6 +134,26 @@ export class SnkConfigurator {
133
134
  "attribute": "view-mode",
134
135
  "reflect": false,
135
136
  "defaultValue": "VIEW_MODE.GRID"
137
+ },
138
+ "messagesBuilder": {
139
+ "type": "unknown",
140
+ "mutable": true,
141
+ "complexType": {
142
+ "original": "SnkMessageBuilder",
143
+ "resolved": "SnkMessageBuilder",
144
+ "references": {
145
+ "SnkMessageBuilder": {
146
+ "location": "import",
147
+ "path": "../../lib/message/SnkMessageBuilder"
148
+ }
149
+ }
150
+ },
151
+ "required": false,
152
+ "optional": false,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
156
+ }
136
157
  }
137
158
  };
138
159
  }
@@ -20,6 +20,7 @@ export class SnkCrud {
20
20
  this.statusResolver = undefined;
21
21
  this.multipleSelection = true;
22
22
  this.presentationMode = PresentationMode.PRIMARY;
23
+ this.messagesBuilder = undefined;
23
24
  }
24
25
  /**
25
26
  * Usado para alternar a visão entre GRID e FORM externamente.
@@ -79,11 +80,11 @@ export class SnkCrud {
79
80
  if (!this._dataUnit) {
80
81
  this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
81
82
  this._dataUnit = evt.detail;
82
- this.addDataElementID();
83
+ this.initDataUnit();
83
84
  });
84
85
  }
85
86
  else {
86
- this.addDataElementID();
87
+ this.initDataUnit();
87
88
  }
88
89
  this._snkDataUnit.addEventListener("dataStateChange", (evt) => {
89
90
  this._dataState = evt.detail;
@@ -97,8 +98,14 @@ export class SnkCrud {
97
98
  this.configName = application.configName;
98
99
  }
99
100
  }
101
+ initDataUnit() {
102
+ this.addDataElementID();
103
+ if (!this.messagesBuilder) {
104
+ this.messagesBuilder = this._snkDataUnit.messagesBuilder;
105
+ }
106
+ }
100
107
  render() {
101
- return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "data-element-id": "crud_grid", configName: this.configName, onGridDoubleClick: () => this.gridToForm(true), taskbarManager: this.taskbarManager, onActionClick: evt => this.executeAction(evt.detail), actionsList: this.actionsList, statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, presentationMode: this.presentationMode }, 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, 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" }, h("slot", { name: "SnkFormTaskBar" }))), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, onConfigSelected: (evt) => this.setViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
108
+ return (h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "crud" }, h("stack-item", null, h("snk-grid", { ref: (ref) => this._snkGrid = ref, "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 }, 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" }, h("slot", { name: "SnkFormTaskBar" }))), 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) })));
102
109
  }
103
110
  static get is() { return "snk-crud"; }
104
111
  static get encapsulation() { return "scoped"; }
@@ -254,6 +261,26 @@ export class SnkCrud {
254
261
  "attribute": "presentation-mode",
255
262
  "reflect": false,
256
263
  "defaultValue": "PresentationMode.PRIMARY"
264
+ },
265
+ "messagesBuilder": {
266
+ "type": "unknown",
267
+ "mutable": true,
268
+ "complexType": {
269
+ "original": "SnkMessageBuilder",
270
+ "resolved": "SnkMessageBuilder",
271
+ "references": {
272
+ "SnkMessageBuilder": {
273
+ "location": "import",
274
+ "path": "../../lib/message/SnkMessageBuilder"
275
+ }
276
+ }
277
+ },
278
+ "required": false,
279
+ "optional": false,
280
+ "docs": {
281
+ "tags": [],
282
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
283
+ }
257
284
  }
258
285
  };
259
286
  }
@@ -5,6 +5,7 @@ import { PresentationMode } from '../../../lib';
5
5
  import { TaskbarElement } from '../../snk-taskbar/elements/taskbar-elements';
6
6
  import { VIEW_MODE } from '../../../lib/utils/constants';
7
7
  import { SnkGuidesViewer } from './snk-guides-viewer';
8
+ import { SnkMessageBuilder } from '../../../lib/message/SnkMessageBuilder';
8
9
  import { GuideBuilder } from './GuideBuilder';
9
10
  export class SnkDetailView {
10
11
  constructor() {
@@ -17,6 +18,7 @@ export class SnkDetailView {
17
18
  this.dataUnit = undefined;
18
19
  this.selectedForm = undefined;
19
20
  this.dataState = undefined;
21
+ this.messagesBuilder = undefined;
20
22
  this.branchGuide = undefined;
21
23
  }
22
24
  observerDataState(newValue, oldValue) {
@@ -157,11 +159,14 @@ export class SnkDetailView {
157
159
  this._configName = `dynaform.${this.entityName}`;
158
160
  this.formConfigManager = new SnkFormConfigManager(this._configName, () => this.loadMetadata());
159
161
  this.formConfigManager.loadConfig();
162
+ if (this.messagesBuilder == undefined) {
163
+ this.messagesBuilder = new SnkMessageBuilder(this.entityName);
164
+ }
160
165
  }
161
166
  render() {
162
167
  this.updateLabel();
163
168
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
164
- return (h(Host, null, h("snk-data-unit", { dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: evt => this.dataState = evt.detail }, 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-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, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: evt => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, isDetail: true }))), 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 }, h("snk-taskbar", { key: "guideViewerTaskbar", class: "form-taskbar", "data-element-id": "guideViewer", configName: this._configName, 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 })))))));
169
+ return (h(Host, null, h("snk-data-unit", { dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: evt => this.dataState = evt.detail, messagesBuilder: this.messagesBuilder }, 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-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, isDetail: true }))), 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 }, 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 })))))));
165
170
  }
166
171
  static get is() { return "snk-detail-view"; }
167
172
  static get encapsulation() { return "scoped"; }
@@ -328,6 +333,26 @@ export class SnkDetailView {
328
333
  "text": "Representa o estado do dataUnit detail."
329
334
  }
330
335
  },
336
+ "messagesBuilder": {
337
+ "type": "unknown",
338
+ "mutable": true,
339
+ "complexType": {
340
+ "original": "SnkMessageBuilder",
341
+ "resolved": "SnkMessageBuilder",
342
+ "references": {
343
+ "SnkMessageBuilder": {
344
+ "location": "import",
345
+ "path": "../../../lib/message/SnkMessageBuilder"
346
+ }
347
+ }
348
+ },
349
+ "required": false,
350
+ "optional": false,
351
+ "docs": {
352
+ "tags": [],
353
+ "text": ""
354
+ }
355
+ },
331
356
  "branchGuide": {
332
357
  "type": "unknown",
333
358
  "mutable": false,
@@ -345,7 +370,7 @@ export class SnkDetailView {
345
370
  "optional": false,
346
371
  "docs": {
347
372
  "tags": [],
348
- "text": "Galho a partir do qual o detail est\u00E1 preso."
373
+ "text": ""
349
374
  }
350
375
  }
351
376
  };
@@ -1,4 +1,4 @@
1
- import { ApplicationContext, ElementIDUtils } from "@sankhyalabs/core";
1
+ import { ElementIDUtils } from "@sankhyalabs/core";
2
2
  import { Fragment, h } from "@stencil/core";
3
3
  import { SnkFormConfigManager } from "../../snk-form/SnkFormConfigManager";
4
4
  import { FormMetadata, buildFormMetadata } from "@sankhyalabs/ezui/dist/collection/utils/form";
@@ -19,6 +19,7 @@ export class SnkGuidesViewer {
19
19
  this.masterFormConfig = undefined;
20
20
  this.selectedGuide = undefined;
21
21
  this.taskbarManager = undefined;
22
+ this.messagesBuilder = undefined;
22
23
  this.presentationMode = undefined;
23
24
  this._breadcrumbItems = [];
24
25
  this._guides = undefined;
@@ -36,7 +37,7 @@ export class SnkGuidesViewer {
36
37
  }
37
38
  }
38
39
  observeMasterFormConfig() {
39
- this.loadGuides(false);
40
+ this.loadGuides(this.noGuideSelected());
40
41
  }
41
42
  /**
42
43
  * Abre o configurador do formulário
@@ -76,7 +77,7 @@ export class SnkGuidesViewer {
76
77
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-crud.msg.ts"
77
78
  */
78
79
  getMessage(key) {
79
- return this._application.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
80
+ return this.messagesBuilder.getMessage(key, this.dataUnit.getSelectedRecord());
80
81
  }
81
82
  loadGuides(changeSelection) {
82
83
  if (!this.dataUnit) {
@@ -258,8 +259,11 @@ export class SnkGuidesViewer {
258
259
  }
259
260
  }
260
261
  }
262
+ noGuideSelected() {
263
+ var _a;
264
+ return this.selectedGuide === undefined || '__main' === ((_a = this.selectedGuide) === null || _a === void 0 ? void 0 : _a.id);
265
+ }
261
266
  componentWillLoad() {
262
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
263
267
  this._configManager = new SnkFormConfigManager(this.configName, config => this.masterFormConfig = config);
264
268
  this._configManager.loadConfig();
265
269
  }
@@ -279,12 +283,12 @@ export class SnkGuidesViewer {
279
283
  }
280
284
  buildTaskBar() {
281
285
  var _a;
282
- return h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit }));
286
+ return h("div", { class: `ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 ${this.presentationMode != PresentationMode.SECONDARY ? 'ez-align--right' : 'ez-padding-bottom--medium'}` }, h("snk-taskbar", { key: "guideViewerTaskbar", "data-element-id": "guideViewer", configName: this.configName, buttons: this._taskbarProcessor.buttons, disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, actionsList: this.actionsList, messagesBuilder: this.messagesBuilder, presentationMode: this.presentationMode, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-taskbar-owner": "master", dataUnit: this.dataUnit }));
283
287
  }
284
288
  render() {
285
289
  var _a, _b;
286
290
  if (this._formEditorConfigManager != undefined) {
287
- return (h("snk-form-config", { dataUnit: this._formEditorDataUnit, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
291
+ return (h("snk-form-config", { dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
288
292
  }
289
293
  if (!this.dataUnit) {
290
294
  return;
@@ -295,7 +299,10 @@ export class SnkGuidesViewer {
295
299
  this.loadTaskbarProcessor();
296
300
  const showGuides = this._guides && (this._guides.length > 1);
297
301
  return (h("section", { class: "snk-guides-viewer" }, h("div", { class: "ez-row snk-guides-viewer__header" }, h("div", { class: "ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large", key: "header" }, h("ez-button", { onClick: () => this.exitViewer(), title: this.getMessage("snkCrud.goBackTitle"), mode: "icon", iconName: "arrow_back", class: "ez-padding-right--medium", size: "small" }), h("div", { class: "ez-flex ez-flex--column ez-flex-item--auto" }, h("h1", { class: "ez-title ez-title--primary ez-title--xlarge" }, this.getMessage("snkCrud.title")), ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) > 1 &&
298
- h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: showGuides ? "snk-guides-viewer__container" : undefined }, showGuides && h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) }), h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail) })));
302
+ h("div", { class: "ez-margin-top--extra-small" }, h("ez-breadcrumb", Object.assign({ items: this._breadcrumbItems, onSelectedItem: (evt) => this.onBreadcrumbClickHandler(evt === null || evt === void 0 ? void 0 : evt.detail) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("breadcrumb")}` }))))), this.presentationMode != PresentationMode.SECONDARY && this.buildTaskBar()), h("div", { class: "snk-guides-viewer__container" }, showGuides ?
303
+ h("ez-guide-navigator", { ref: (ref) => this._guideNavigator = ref, class: "snk-guides-viewer__guide-navigator", items: this._guides, selectedId: this.selectedGuide ? this.selectedGuide.id : undefined, onEzChange: evt => this.updateSelectedGuideHandler(evt.detail) })
304
+ :
305
+ h("div", null), h("div", { class: "snk-guides-viewer__detail-container" }, SnkGuidesViewer.buildFixedForms(this.masterFormConfig, this._masterFormMetadata, (_b = this.selectedGuide) === null || _b === void 0 ? void 0 : _b.id, this.dataUnit, this.recordsValidator), this.getContent())), h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this.getConfigViewMode(), onConfigSelected: (evt) => this.changeConfigViewMode(evt.detail), messagesBuilder: this.messagesBuilder, onOpenConfig: (evt) => this.openConfig(evt.detail) })));
299
306
  }
300
307
  static get is() { return "snk-guides-viewer"; }
301
308
  static get encapsulation() { return "scoped"; }
@@ -512,6 +519,26 @@ export class SnkGuidesViewer {
512
519
  "text": "Gerenciador das barras de tarefas. \u00C9 poss\u00EDvel determinar bot\u00F5es espec\u00EDficos\nou mesmo gerenciar o estado dos bot\u00F5es."
513
520
  }
514
521
  },
522
+ "messagesBuilder": {
523
+ "type": "unknown",
524
+ "mutable": true,
525
+ "complexType": {
526
+ "original": "SnkMessageBuilder",
527
+ "resolved": "SnkMessageBuilder",
528
+ "references": {
529
+ "SnkMessageBuilder": {
530
+ "location": "import",
531
+ "path": "../../../lib/message/SnkMessageBuilder"
532
+ }
533
+ }
534
+ },
535
+ "required": false,
536
+ "optional": false,
537
+ "docs": {
538
+ "tags": [],
539
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
540
+ }
541
+ },
515
542
  "presentationMode": {
516
543
  "type": "string",
517
544
  "mutable": false,
@@ -7,6 +7,7 @@ import { REPORT_LAUNCHER_RESOURCE_ID } from '../../lib/utils/constants';
7
7
  import fetchDataExporter from "../../lib/http/data-fetcher/fetchers/fetchDataExporter";
8
8
  import fileViewer from "../../lib/utils/fileViewer";
9
9
  import getPersonalizedReports from '../../lib/http/data-fetcher/fetchers/fetchDataExporter/personalized-reports-fetcher';
10
+ import { SnkDataUnit } from '../snk-data-unit/snk-data-unit';
10
11
  const LIMIT_PER_EXPORT = 5000;
11
12
  export class SnkDataExporter {
12
13
  constructor() {
@@ -24,6 +25,7 @@ export class SnkDataExporter {
24
25
  DataExporterOption.EXPORT_PAGE_TO_XLS
25
26
  ];
26
27
  this.provider = null;
28
+ this.messagesBuilder = undefined;
27
29
  }
28
30
  async exportByEmail() {
29
31
  const selectedRows = this._selectedNumber;
@@ -53,7 +55,13 @@ export class SnkDataExporter {
53
55
  * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-data-exporter.msg.ts"
54
56
  */
55
57
  getMessage(key, params) {
56
- return this._application.messagesBuilder.getMessage(key, params);
58
+ if (this.messagesBuilder == undefined) {
59
+ const dataUnit = SnkDataUnit.getNearestInstance(this._element);
60
+ if (dataUnit) {
61
+ this.messagesBuilder = dataUnit.messagesBuilder;
62
+ }
63
+ }
64
+ return this.messagesBuilder.getMessage(key, params);
57
65
  }
58
66
  positionDropdown() {
59
67
  var _a;
@@ -324,6 +332,26 @@ export class SnkDataExporter {
324
332
  "text": "Provedor das informa\u00E7\u00F5es para exporta\u00E7\u00E3o dos dados."
325
333
  },
326
334
  "defaultValue": "null"
335
+ },
336
+ "messagesBuilder": {
337
+ "type": "unknown",
338
+ "mutable": true,
339
+ "complexType": {
340
+ "original": "SnkMessageBuilder",
341
+ "resolved": "SnkMessageBuilder",
342
+ "references": {
343
+ "SnkMessageBuilder": {
344
+ "location": "import",
345
+ "path": "../../lib/message/SnkMessageBuilder"
346
+ }
347
+ }
348
+ },
349
+ "required": false,
350
+ "optional": false,
351
+ "docs": {
352
+ "tags": [],
353
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
354
+ }
327
355
  }
328
356
  };
329
357
  }
@@ -1,7 +1,7 @@
1
1
  import { Host, h } from '@stencil/core';
2
2
  import { Action, ApplicationContext, ObjectUtils, DataType, JSUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { OperationMap } from '../../lib/message/SnkMessageBuilder';
4
+ import { OperationMap, SnkMessageBuilder } from '../../lib/message/SnkMessageBuilder';
5
5
  export class SnkDataUnit {
6
6
  constructor() {
7
7
  this._onDataUnitResolve = [];
@@ -44,9 +44,10 @@ export class SnkDataUnit {
44
44
  }
45
45
  }
46
46
  }
47
- this._application.messagesBuilder.currentOperation = this.getMessageOperation();
47
+ this.messagesBuilder.currentOperation = this.getMessageOperation();
48
48
  };
49
49
  this.dataState = undefined;
50
+ this.messagesBuilder = undefined;
50
51
  this.dataUnitName = undefined;
51
52
  this.entityName = undefined;
52
53
  this.pageSize = 150;
@@ -85,6 +86,11 @@ export class SnkDataUnit {
85
86
  this.handlerLinkFields();
86
87
  this.dataUnitReady.emit(this.dataUnit);
87
88
  }
89
+ observeMessagesBuilder(newValue) {
90
+ if (newValue) {
91
+ this.messagesBuilderUpdated.emit(newValue);
92
+ }
93
+ }
88
94
  /**
89
95
  * Obtém o dataUnit.
90
96
  */
@@ -280,7 +286,7 @@ export class SnkDataUnit {
280
286
  if (!params) {
281
287
  params = this.getMessageParams();
282
288
  }
283
- return this._application.messagesBuilder.getMessage(key, params);
289
+ return this.messagesBuilder.getMessage(key, params);
284
290
  }
285
291
  getMessageParams() {
286
292
  //FIXME: Devido ao recurso de multiseleção do dataunit, precisaremos criar um mecanismo para
@@ -352,6 +358,15 @@ export class SnkDataUnit {
352
358
  });
353
359
  this.dataUnit.metadata = metadata;
354
360
  }
361
+ static getNearestInstance(element) {
362
+ let parent = element.parentElement;
363
+ while (parent) {
364
+ if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
365
+ return parent;
366
+ }
367
+ parent = parent.parentElement;
368
+ }
369
+ }
355
370
  //---------------------------------------------
356
371
  // Lifecycle web component
357
372
  //---------------------------------------------
@@ -359,6 +374,9 @@ export class SnkDataUnit {
359
374
  this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
360
375
  this._application.getAllAccess().then(access => this._permissions = access);
361
376
  this._parentSnkDataUnit = this.getParentSnkDataUnit();
377
+ if (this.messagesBuilder == undefined) {
378
+ this.messagesBuilder = new SnkMessageBuilder(this.entityName);
379
+ }
362
380
  }
363
381
  disconnectedCallback() {
364
382
  if (this.dataUnit) {
@@ -405,6 +423,26 @@ export class SnkDataUnit {
405
423
  "text": "Controla o estado atual dos dados."
406
424
  }
407
425
  },
426
+ "messagesBuilder": {
427
+ "type": "unknown",
428
+ "mutable": true,
429
+ "complexType": {
430
+ "original": "SnkMessageBuilder",
431
+ "resolved": "SnkMessageBuilder",
432
+ "references": {
433
+ "SnkMessageBuilder": {
434
+ "location": "import",
435
+ "path": "../../lib/message/SnkMessageBuilder"
436
+ }
437
+ }
438
+ },
439
+ "required": false,
440
+ "optional": false,
441
+ "docs": {
442
+ "tags": [],
443
+ "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
444
+ }
445
+ },
408
446
  "dataUnitName": {
409
447
  "type": "string",
410
448
  "mutable": false,
@@ -562,6 +600,26 @@ export class SnkDataUnit {
562
600
  }
563
601
  }
564
602
  }
603
+ }, {
604
+ "method": "messagesBuilderUpdated",
605
+ "name": "messagesBuilderUpdated",
606
+ "bubbles": false,
607
+ "cancelable": true,
608
+ "composed": true,
609
+ "docs": {
610
+ "tags": [],
611
+ "text": "Emitido quando o DataUnit est\u00E1 pronto."
612
+ },
613
+ "complexType": {
614
+ "original": "SnkMessageBuilder",
615
+ "resolved": "SnkMessageBuilder",
616
+ "references": {
617
+ "SnkMessageBuilder": {
618
+ "location": "import",
619
+ "path": "../../lib/message/SnkMessageBuilder"
620
+ }
621
+ }
622
+ }
565
623
  }, {
566
624
  "method": "insertionMode",
567
625
  "name": "insertionMode",
@@ -665,6 +723,9 @@ export class SnkDataUnit {
665
723
  }, {
666
724
  "propName": "dataUnit",
667
725
  "methodName": "observeDataUnit"
726
+ }, {
727
+ "propName": "messagesBuilder",
728
+ "methodName": "observeMessagesBuilder"
668
729
  }];
669
730
  }
670
731
  }