@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-72698.1 → 0.0.0-bugfix-dev-KB-73324.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 (95) hide show
  1. package/dist/cjs/{ContinuousInsertUtils-29b65619.js → ContinuousInsertUtils-807730a8.js} +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  4. package/dist/cjs/snk-attach.cjs.entry.js +1 -1
  5. package/dist/cjs/snk-crud.cjs.entry.js +2 -1
  6. package/dist/cjs/snk-data-exporter.cjs.entry.js +11 -10
  7. package/dist/cjs/{snk-data-unit-47202e42.js → snk-data-unit-668dc5e8.js} +9 -8
  8. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-detail-view.cjs.entry.js +1 -1
  10. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-form-config.cjs.entry.js +5 -4
  12. package/dist/cjs/snk-grid.cjs.entry.js +6 -5
  13. package/dist/cjs/{snk-guides-viewer-68777d37.js → snk-guides-viewer-0a6c21b2.js} +2 -1
  14. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  15. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +1 -1
  16. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  17. package/dist/cjs/snk-simple-crud.cjs.entry.js +14 -9
  18. package/dist/collection/components/snk-attach/snk-attach.js +1 -1
  19. package/dist/collection/components/snk-crud/snk-crud.js +19 -1
  20. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +19 -1
  21. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +4 -4
  22. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +5 -5
  23. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +2 -2
  24. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  25. package/dist/collection/components/snk-data-unit/snk-data-unit.js +9 -8
  26. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  27. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +1 -1
  28. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  29. package/dist/collection/components/snk-form-config/snk-form-config.js +21 -3
  30. package/dist/collection/components/snk-grid/snk-grid.js +5 -4
  31. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  32. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +13 -8
  33. package/dist/collection/lib/utils/ContinuousInsertUtils.js +1 -1
  34. package/dist/components/ContinuousInsertUtils.js +1 -1
  35. package/dist/components/snk-attach2.js +1 -1
  36. package/dist/components/snk-crud.js +3 -1
  37. package/dist/components/snk-data-exporter2.js +10 -9
  38. package/dist/components/snk-data-unit2.js +9 -8
  39. package/dist/components/snk-detail-view2.js +3 -1
  40. package/dist/components/snk-filter-binary-select.js +1 -1
  41. package/dist/components/snk-form-config2.js +6 -4
  42. package/dist/components/snk-grid2.js +5 -4
  43. package/dist/components/snk-personalized-filter-editor.js +1 -1
  44. package/dist/components/snk-print-selector.js +1 -1
  45. package/dist/components/snk-simple-crud2.js +13 -8
  46. package/dist/esm/{ContinuousInsertUtils-30caa626.js → ContinuousInsertUtils-1a82a768.js} +1 -1
  47. package/dist/esm/loader.js +1 -1
  48. package/dist/esm/sankhyablocks.js +1 -1
  49. package/dist/esm/snk-attach.entry.js +1 -1
  50. package/dist/esm/snk-crud.entry.js +2 -1
  51. package/dist/esm/snk-data-exporter.entry.js +11 -10
  52. package/dist/esm/{snk-data-unit-de45e0e1.js → snk-data-unit-0fdfb6c2.js} +9 -8
  53. package/dist/esm/snk-data-unit.entry.js +1 -1
  54. package/dist/esm/snk-detail-view.entry.js +1 -1
  55. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  56. package/dist/esm/snk-form-config.entry.js +5 -4
  57. package/dist/esm/snk-grid.entry.js +6 -5
  58. package/dist/esm/{snk-guides-viewer-b5dd30e6.js → snk-guides-viewer-3fd3d816.js} +2 -1
  59. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  60. package/dist/esm/snk-personalized-filter-editor.entry.js +1 -1
  61. package/dist/esm/snk-print-selector.entry.js +1 -1
  62. package/dist/esm/snk-simple-crud.entry.js +14 -9
  63. package/dist/sankhyablocks/{p-d11f58d2.entry.js → p-0035ad6e.entry.js} +1 -1
  64. package/dist/sankhyablocks/{p-2923c1b5.js → p-3ae9d08a.js} +1 -1
  65. package/dist/sankhyablocks/p-4258c8c4.js +1 -0
  66. package/dist/sankhyablocks/p-430e4d3c.entry.js +1 -0
  67. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  68. package/dist/sankhyablocks/p-5b51491f.entry.js +1 -0
  69. package/dist/sankhyablocks/{p-bccfc262.js → p-5dd8cf4f.js} +1 -1
  70. package/dist/sankhyablocks/{p-694e1c4a.entry.js → p-6eea1074.entry.js} +1 -1
  71. package/dist/sankhyablocks/p-818e3770.entry.js +1 -0
  72. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  73. package/dist/sankhyablocks/{p-62e048c6.entry.js → p-b9c67e45.entry.js} +1 -1
  74. package/dist/sankhyablocks/{p-7eef0898.entry.js → p-d2925f12.entry.js} +1 -1
  75. package/dist/sankhyablocks/p-d80a84fd.entry.js +1 -0
  76. package/dist/sankhyablocks/{p-e16e87fc.entry.js → p-dcead955.entry.js} +1 -1
  77. package/dist/sankhyablocks/p-feba9d4b.entry.js +1 -0
  78. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  79. package/dist/types/components/snk-crud/snk-crud.d.ts +4 -0
  80. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -0
  81. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  82. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +1 -0
  83. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  84. package/dist/types/components/snk-grid/snk-grid.d.ts +1 -0
  85. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +1 -0
  86. package/dist/types/components.d.ts +24 -0
  87. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
  88. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +1 -1
  89. package/package.json +1 -1
  90. package/dist/sankhyablocks/p-3e3cc017.js +0 -1
  91. package/dist/sankhyablocks/p-50779ad3.entry.js +0 -1
  92. package/dist/sankhyablocks/p-73185e58.entry.js +0 -1
  93. package/dist/sankhyablocks/p-9eaf913b.entry.js +0 -1
  94. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  95. package/dist/sankhyablocks/p-da34270e.entry.js +0 -1
@@ -158,7 +158,7 @@ const SnkPrintSelector = class {
158
158
  render() {
159
159
  return (index.h(index.Host, null, index.h("ez-popup", Object.assign({ size: 'small', heightMode: 'full', useHeader: false, ref: (ref) => this._ezPopup = ref }, this.getElementID("snk-print-selector")), index.h("ez-modal-container", { modalTitle: this.getMessage("snkPrintSelector.title.printerSelection"), okButtonLabel: this.getMessage("snkPrintSelector.button.print"), okButtonStatus: this._selectedPrinter ? ModalButtonStatus__default['default'].ENABLED : ModalButtonStatus__default['default'].DISABLED, cancelButtonLabel: this.getMessage("snkPrintSelector.button.cancel"), onEzModalAction: (evt) => this.handleModalAction(evt.detail) }, this._isSingleJob &&
160
160
  index.h("div", { class: 'ez-flex ez-margin-bottom--large' }, index.h("div", { class: 'ez-flex ez-margin-right--large' }, index.h("span", { class: 'ez-text ez-text--bold ez-text--medium ez-padding-right--small' }, this.getMessage("snkPrintSelector.subtitle.document")), index.h("span", { class: 'ez-text ez-text--primary ez-text--medium' }, this._printJobData.pendingPrinters[0].docTypeDescription)), index.h("div", { class: 'ez-flex ez-margin-right--large' }, index.h("span", { class: 'ez-text ez-text--bold ez-text--medium ez-padding-right--small' }, this.getMessage("snkPrintSelector.subtitle.jobs")), index.h("span", { class: 'ez-text ez-text--primary ez-text--medium' }, this._printJobData.pendingPrinters[0].printJobCount))), index.h("ez-tabselector", { tabs: this.buildIdTabSelector(), onEzChange: (evt) => this.onChangeTab(evt), selectedTab: this._printServerActive ? this.REMOTE_PRINTERS_TAB : this.LOCAL_PRINTERS_TAB }), index.h("ez-view-stack", { ref: (ref) => this._viewStack = ref }, index.h("stack-item", { hidePolicy: 'hide' }, this._printServerActive &&
161
- index.h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, index.h("ez-list", { ref: (ref) => this._remotePrintersList = ref, class: `ez-padding-top--medium ${this._hasRemotePrinters ? '' : 'hidden'}`, dataSource: this._remotePrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, false), itemLeftSlotBuilder: this.buildPrinterIcon, useGroups: true, ezSelectable: true, hoverFeedback: true, "data-element-id": 'remotePrintersList' }), !this._hasRemotePrinters && this.renderNoPrinters())), index.h("stack-item", { hidePolicy: 'hide' }, index.h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, index.h("ez-list", { ref: (ref) => this._localPrintersList = ref, class: `ez-padding-top--medium ${this._hasLocalPrinters ? '' : 'hidden'}`, dataSource: this._localPrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, true), itemLeftSlotBuilder: this.buildPrinterIcon, ezSelectable: true, hoverFeedback: true }), !this._hasLocalPrinters && this.renderNoPrinters()))), index.h("ez-check", { label: this.getMessage("snkPrintSelector.message.savePrinter"), onEzChange: evt => this._saveSubstitute = evt.detail, compact: true })))));
161
+ index.h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, index.h("ez-list", { ref: (ref) => this._remotePrintersList = ref, class: `ez-padding-top--medium ${this._hasRemotePrinters ? '' : 'hidden'}`, dataSource: this._remotePrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, false), itemLeftSlotBuilder: this.buildPrinterIcon, useGroups: true, ezSelectable: true, hoverFeedback: true, "data-element-id": 'remotePrintersList' }), !this._hasRemotePrinters && this.renderNoPrinters())), index.h("stack-item", { hidePolicy: 'hide' }, index.h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, index.h("ez-list", { ref: (ref) => this._localPrintersList = ref, class: `ez-padding-top--medium ${this._hasLocalPrinters ? '' : 'hidden'}`, dataSource: this._localPrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, true), itemLeftSlotBuilder: this.buildPrinterIcon, ezSelectable: true, hoverFeedback: true }), !this._hasLocalPrinters && this.renderNoPrinters()))), index.h("ez-check", { label: this.getMessage("snkPrintSelector.message.savePrinter"), onEzChange: evt => this._saveSubstitute = evt.detail })))));
162
162
  }
163
163
  get element() { return index.getElement(this); }
164
164
  };
@@ -9,7 +9,7 @@ const constants = require('./constants-35ddd366.js');
9
9
  const taskbarElements = require('./taskbar-elements-9ad1f9c0.js');
10
10
  require('./DataFetcher-cadeef8e.js');
11
11
  require('./pesquisa-fetcher-ca89181c.js');
12
- const ContinuousInsertUtils = require('./ContinuousInsertUtils-29b65619.js');
12
+ const ContinuousInsertUtils = require('./ContinuousInsertUtils-807730a8.js');
13
13
  const index = require('./index-1dfc7a6e.js');
14
14
  require('./ISave-e91b70a7.js');
15
15
  require('@sankhyalabs/ezui/dist/collection/utils/constants');
@@ -103,9 +103,9 @@ const SnkSimpleCrud = class {
103
103
  this._customEditors = new Map();
104
104
  this._customRenders = new Map();
105
105
  this._taskbarProcessor = new fieldSearch.TaskbarProcessor({
106
- "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [taskbarElements.TaskbarElement.GRID_MODE]),
106
+ "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [taskbarElements.TaskbarElement.GRID_MODE], true),
107
107
  "snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]),
108
- "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [taskbarElements.TaskbarElement.GRID_MODE]),
108
+ "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [taskbarElements.TaskbarElement.GRID_MODE], true),
109
109
  "snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [taskbarElements.TaskbarElement.DATA_EXPORTER, taskbarElements.TaskbarElement.FORM_MODE]),
110
110
  "snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
111
111
  });
@@ -205,8 +205,12 @@ const SnkSimpleCrud = class {
205
205
  }
206
206
  return btns;
207
207
  }
208
- getButtons(selected, extraButtons) {
209
- return this.addConfigButton(this.resolveInMemoryBtns(selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS)
208
+ getButtons(selected, extraButtons, removeRefresh) {
209
+ let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
210
+ if (removeRefresh) {
211
+ btnList = btnList.filter(item => item !== taskbarElements.TaskbarElement.REFRESH);
212
+ }
213
+ return this.addConfigButton(this.resolveInMemoryBtns(btnList)
210
214
  .concat(extraButtons));
211
215
  }
212
216
  addConfigButton(buttons) {
@@ -662,10 +666,7 @@ const SnkSimpleCrud = class {
662
666
  : this.getFieldSearch(actionButton, item)
663
667
  }];
664
668
  if (this.enableGridInsert) {
665
- hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
666
- this._enableContinuousInsert = !this._enableContinuousInsert;
667
- this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
668
- }));
669
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, this.handleEnableContinuousInsert));
669
670
  }
670
671
  if (this.isGridInsertActive())
671
672
  return hardList;
@@ -677,6 +678,10 @@ const SnkSimpleCrud = class {
677
678
  return hardList.concat(this.actionsList);
678
679
  return hardList;
679
680
  }
681
+ handleEnableContinuousInsert() {
682
+ this._enableContinuousInsert = !this._enableContinuousInsert;
683
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
684
+ }
680
685
  getTopTaskBarId() {
681
686
  var _a;
682
687
  return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? `snkGridTopTaskbar.finish_edition${index.PresentationMode.PRIMARY}` :
@@ -230,7 +230,7 @@ export class SnkAttach {
230
230
  var _a, _b;
231
231
  if (!this._currentDataUnit)
232
232
  return null;
233
- return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this) }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary" }, this.getMessage("snkAttach.description")))))))));
233
+ return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this) }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary ez-padding-bottom--medium" }, this.getMessage("snkAttach.description")))))))));
234
234
  }
235
235
  static get is() { return "snk-attach"; }
236
236
  static get encapsulation() { return "scoped"; }
@@ -41,6 +41,7 @@ export class SnkCrud {
41
41
  this.autoFocus = true;
42
42
  this.enableGridInsert = false;
43
43
  this.domainMessagesBuilder = undefined;
44
+ this.ignoreReadOnlyFormFields = undefined;
44
45
  this.setCustomFormTitle = undefined;
45
46
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
46
47
  }
@@ -383,7 +384,7 @@ export class SnkCrud {
383
384
  return;
384
385
  }
385
386
  this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
386
- return (h(Host, null, 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, 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 }, 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 }, 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" }))));
387
+ return (h(Host, null, 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, 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 }, 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" }))));
387
388
  }
388
389
  static get is() { return "snk-crud"; }
389
390
  static get encapsulation() { return "scoped"; }
@@ -775,6 +776,23 @@ export class SnkCrud {
775
776
  "attribute": "domain-messages-builder",
776
777
  "reflect": false
777
778
  },
779
+ "ignoreReadOnlyFormFields": {
780
+ "type": "boolean",
781
+ "mutable": false,
782
+ "complexType": {
783
+ "original": "boolean",
784
+ "resolved": "boolean",
785
+ "references": {}
786
+ },
787
+ "required": false,
788
+ "optional": true,
789
+ "docs": {
790
+ "tags": [],
791
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
792
+ },
793
+ "attribute": "ignore-read-only-form-fields",
794
+ "reflect": false
795
+ },
778
796
  "setCustomFormTitle": {
779
797
  "type": "unknown",
780
798
  "mutable": false,
@@ -28,6 +28,7 @@ export class SnkGuidesViewer {
28
28
  this.detailTaskbarCustomContainerId = undefined;
29
29
  this.formLegacyConfigName = undefined;
30
30
  this.enableGridInsert = false;
31
+ this.ignoreReadOnlyFormFields = undefined;
31
32
  this.getCustomTitle = undefined;
32
33
  this._hasToCreateFieldSearch = true;
33
34
  this._breadcrumbItems = [];
@@ -482,7 +483,7 @@ export class SnkGuidesViewer {
482
483
  render() {
483
484
  var _a, _b;
484
485
  if (this._formEditorConfigManager != undefined) {
485
- return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null }));
486
+ return (h("snk-form-config", { ref: ref => this._container = ref, tabindex: -1, dataUnit: this._formEditorDataUnit, messagesBuilder: this.messagesBuilder, configManager: this._formEditorConfigManager, onConfigClose: () => this._formEditorConfigManager = null, ignoreReadOnlyFormFields: this.ignoreReadOnlyFormFields }));
486
487
  }
487
488
  if (!this.dataUnit || !this._configManager.isLoaded) {
488
489
  return;
@@ -825,6 +826,23 @@ export class SnkGuidesViewer {
825
826
  "reflect": false,
826
827
  "defaultValue": "false"
827
828
  },
829
+ "ignoreReadOnlyFormFields": {
830
+ "type": "boolean",
831
+ "mutable": false,
832
+ "complexType": {
833
+ "original": "boolean",
834
+ "resolved": "boolean",
835
+ "references": {}
836
+ },
837
+ "required": false,
838
+ "optional": true,
839
+ "docs": {
840
+ "tags": [],
841
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
842
+ },
843
+ "attribute": "ignore-read-only-form-fields",
844
+ "reflect": false
845
+ },
828
846
  "getCustomTitle": {
829
847
  "type": "unknown",
830
848
  "mutable": false,
@@ -1,7 +1,6 @@
1
1
  import { UserInterface } from "@sankhyalabs/core";
2
2
  import { DataFetcher } from "../../../lib";
3
3
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
4
- import { DataExporterType } from "../../../lib/@types";
5
4
  export default class ClientSideExporterStrategy {
6
5
  constructor(provider) {
7
6
  this._provider = provider;
@@ -12,15 +11,16 @@ export default class ClientSideExporterStrategy {
12
11
  return visibleColumns;
13
12
  }
14
13
  async executeExport(resolveProps) {
15
- const { methodName, titleGrid } = resolveProps;
14
+ var _a;
15
+ const { methodName, gridTitle } = resolveProps;
16
16
  const records = await this._provider.getRecords();
17
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
17
+ const columns = ((_a = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _a === void 0 ? void 0 : _a.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
18
18
  const [serviceName, processor] = this.getExecutor(methodName);
19
19
  const payload = {
20
20
  serviceName,
21
21
  requestBody: {
22
22
  grid: {
23
- titleGrid,
23
+ gridTitle,
24
24
  columns: this.buildColumnsObject(columns),
25
25
  rows: this.buildRowsObject(columns, records),
26
26
  customOptions: { xlsxExtension: false }
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  };
13
13
  import { ApplicationContext, ObjectUtils } from "@sankhyalabs/core";
14
14
  import { DataFetcher } from '../../../lib/http/data-fetcher/DataFetcher';
15
- import { DataExporterOption, DataExporterType } from "../../../lib/@types";
15
+ import { DataExporterOption } from "../../../lib/@types";
16
16
  import { getOptionKey, getVisibleColumns } from "../utils/ParserExport";
17
17
  export default class ServerSideExporterStrategy {
18
18
  constructor(provider) {
@@ -24,11 +24,11 @@ export default class ServerSideExporterStrategy {
24
24
  return visibleColumns;
25
25
  }
26
26
  async getParams(resolveProps) {
27
- var _a, _b, _c, _d, _e, _f;
27
+ var _a, _b, _c, _d, _e, _f, _g;
28
28
  const filters = (_b = (_a = this._provider).getFilters) === null || _b === void 0 ? void 0 : _b.call(_a);
29
- const columns = [DataExporterType.EXPORT_TO_PDF, DataExporterType.EXPORT_PAGE_TO_PDF, DataExporterType.EXPORT_PDF_TO_EMAIL, DataExporterType.EXPORT_ALL_RECORDS_TO_PDF].includes(getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
30
- const sort = (_d = (_c = this._provider).getOrders) === null || _d === void 0 ? void 0 : _d.call(_c);
31
- const resourceURI = (_f = (_e = this._provider).getResourceURI) === null || _f === void 0 ? void 0 : _f.call(_e);
29
+ const columns = ((_c = getOptionKey(resolveProps === null || resolveProps === void 0 ? void 0 : resolveProps.exportOption)) === null || _c === void 0 ? void 0 : _c.includes("PDF")) ? await this.getParsedColumns() : await this._provider.getColumnsMetadata();
30
+ const sort = (_e = (_d = this._provider).getOrders) === null || _e === void 0 ? void 0 : _e.call(_d);
31
+ const resourceURI = (_g = (_f = this._provider).getResourceURI) === null || _g === void 0 ? void 0 : _g.call(_f);
32
32
  const selectedIDs = this._provider.getSelectedIDs();
33
33
  const option = resolveProps.exportOption;
34
34
  const currentPageOptions = [
@@ -42,7 +42,7 @@ export class SnkDataExporter {
42
42
  resolver: ({ type, format, email: { to, subject, message } }) => {
43
43
  var _a;
44
44
  const methodName = (_a = DataExporterFormat[format === null || format === void 0 ? void 0 : format.toUpperCase()]) !== null && _a !== void 0 ? _a : DataExporterFormat.PDF;
45
- this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, titleGrid: this._appLabel }, () => {
45
+ this.resolveExporter({ type, methodName, to, subject, message, fileName: this._appLabel, gridTitle: this._appLabel }, () => {
46
46
  this._snkEmailSender.close();
47
47
  ApplicationUtils.info(this.getMessage("snkDataExporter.message.emailSuccess"), { iconName: "check" });
48
48
  });
@@ -130,7 +130,7 @@ export class SnkDataExporter {
130
130
  const params = {
131
131
  methodName: DataExporterOption[`EXPORT_TO_${fileType}`],
132
132
  fileName: this._appLabel,
133
- titleGrid: this._appLabel,
133
+ gridTitle: this._appLabel,
134
134
  exportOption: option,
135
135
  limit: (_c = (_b = this.provider) === null || _b === void 0 ? void 0 : _b.getExportLimit) === null || _c === void 0 ? void 0 : _c.call(_b),
136
136
  type: this.getExportType(option),
@@ -42,21 +42,21 @@ export const dataFetcherXLSResponse = {
42
42
  export const exportPDFParams = {
43
43
  methodName: 'exportToPDF',
44
44
  fileName: '',
45
- titleGrid: '',
45
+ gridTitle: '',
46
46
  };
47
47
  export const exportXLSParams = {
48
48
  methodName: 'exportToXLS',
49
49
  fileName: '',
50
- titleGrid: '',
50
+ gridTitle: '',
51
51
  };
52
52
  export const serviceNamePDF = "GridPDFBuilderSP.buildPDFFromJson";
53
53
  export const serviceNameXLS = "GridXLSBuilderSP.buildXLSFromJson";
54
- export function buildExpectedResponse({ serviceName, titleGrid, value, align = 'left', type = 'S' }) {
54
+ export function buildExpectedResponse({ serviceName, gridTitle, value, align = 'left', type = 'S' }) {
55
55
  return {
56
56
  serviceName: serviceName,
57
57
  requestBody: {
58
58
  grid: {
59
- titleGrid: titleGrid,
59
+ gridTitle: gridTitle,
60
60
  columns: {
61
61
  column: [
62
62
  {
@@ -479,14 +479,7 @@ export class SnkDataUnit {
479
479
  }
480
480
  handleRecordsRemoved(action) {
481
481
  var _a, _b;
482
- const cachedRecords = action.payload.cachedRecords;
483
- let removeFinishMsg;
484
- if ((cachedRecords === null || cachedRecords === void 0 ? void 0 : cachedRecords.length) > 1) {
485
- removeFinishMsg = this.getMessage("snkDataUnit.removeAllInfo", { size: cachedRecords.length });
486
- }
487
- else {
488
- removeFinishMsg = this.getMessage("snkDataUnit.removeInfo", action.payload.cachedRecords[0]);
489
- }
482
+ let removeFinishMsg = this.buildRemoveFinishMessage(action);
490
483
  if (removeFinishMsg != undefined) {
491
484
  this.showSuccessMessage(removeFinishMsg);
492
485
  }
@@ -497,6 +490,14 @@ export class SnkDataUnit {
497
490
  this.dataUnit.gotoPage(page);
498
491
  }
499
492
  }
493
+ buildRemoveFinishMessage(action) {
494
+ const records = action.payload.records;
495
+ if (!records || !records.length)
496
+ return undefined;
497
+ if ((records === null || records === void 0 ? void 0 : records.length) > 1)
498
+ return this.getMessage('snkDataUnit.removeAllInfo', { size: records.length });
499
+ return this.getMessage('snkDataUnit.removeInfo', records);
500
+ }
500
501
  /**
501
502
  * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
502
503
  * através de um pequeno modulo na estrutura da aplicação:
@@ -74,7 +74,7 @@ export class SnkFilterBinarySelect {
74
74
  }
75
75
  const [optOne, optTwo] = this.config.props.options;
76
76
  if (this.presentationMode === EPresentationMode.MODAL) {
77
- return (h(Host, null, h("div", { class: "ez-row ez-size-height--full" }, h("label", { class: "ez-text ez-title--small ez-title--primary ez-size-height--full ez-flex ez-flex--row ez-flex--align-items-center ez-col ez-col--sd-4" }, this.config.detailModal), h("div", { class: "ez-col ez-col--sd-4" }, h("ez-check", { ref: (ref) => this._checkOne = ref, id: `${this.config.id}_${optOne.name || "option1"}`, class: "sc-snk-filter-bar editor__ez-check", label: optOne.label, value: this.isSelected(optOne.name), compact: true })), h("div", { class: "ez-col ez-col--sd-4" }, h("ez-check", { ref: (ref) => this._checkTwo = ref, id: `${this.config.id}_${optTwo.name || "option2"}`, class: "sc-snk-filter-bar editor__ez-check", label: optTwo.label, value: this.isSelected(optTwo.name), compact: true })))));
77
+ return (h(Host, null, h("div", { class: "ez-row ez-size-height--full" }, h("label", { class: "ez-text ez-title--small ez-title--primary ez-size-height--full ez-flex ez-flex--row ez-flex--align-items-center ez-col ez-col--sd-4" }, this.config.detailModal), h("div", { class: "ez-col ez-col--sd-4" }, h("ez-check", { ref: (ref) => this._checkOne = ref, id: `${this.config.id}_${optOne.name || "option1"}`, class: "sc-snk-filter-bar editor__ez-check", label: optOne.label, value: this.isSelected(optOne.name) })), h("div", { class: "ez-col ez-col--sd-4" }, h("ez-check", { ref: (ref) => this._checkTwo = ref, id: `${this.config.id}_${optTwo.name || "option2"}`, class: "sc-snk-filter-bar editor__ez-check", label: optTwo.label, value: this.isSelected(optTwo.name) })))));
78
78
  }
79
79
  return (h(Host, null, h("ez-radio-button", { value: this._radioButtonValue }, h("ez-radio-button-option", { id: `${this.config.id}_${optOne.name || "option1"}`, class: "sc-snk-filter-bar editor__ez-check", label: optOne.label, value: optOne.name }), h("ez-radio-button-option", { id: `${this.config.id}_${optTwo.name || "option2"}`, class: "sc-snk-filter-bar editor__ez-check", label: optTwo.label, value: optTwo.name }), h("ez-radio-button-option", { id: `${this.config.id}_option3`, class: "sc-snk-filter-bar editor__ez-check", label: `${optOne.label} + ${optTwo.label}`, value: this._noOptionValue }))));
80
80
  }
@@ -39,7 +39,7 @@ export class SnkFilterPersonalized {
39
39
  }
40
40
  getItemContent(item) {
41
41
  var _a, _b;
42
- const CheckboxElement = () => (h("ez-check", Object.assign({ class: "SnkFilterPersonalized_checkbox", id: `param_${item.id}`, key: item.id, compact: true, value: item.visible, label: item.label, onEzChange: ({ detail: visible }) => this.handleItemChange.bind(this)(visible, item.id) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo(`checkboxFilter_${item.id}`)}` })));
42
+ const CheckboxElement = () => (h("ez-check", Object.assign({ class: "SnkFilterPersonalized_checkbox", id: `param_${item.id}`, key: item.id, value: item.visible, label: item.label, onEzChange: ({ detail: visible }) => this.handleItemChange.bind(this)(visible, item.id) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo(`checkboxFilter_${item.id}`)}` })));
43
43
  const isVariable = !!((_b = (_a = item.props) === null || _a === void 0 ? void 0 : _a.personalizedFilter) === null || _b === void 0 ? void 0 : _b.parameters.length);
44
44
  return (h("div", { class: `${!this.isModalMode() ? "SnkFilterPersonalized_list-item--chip" : ""}` }, h("li", { class: `${this.isModalMode() ? "SnkFilterPersonalized_list-item--modal" : ""}` }, h("div", { class: "ez-flex ez-flex--align-items-center ez-margin-right--small ez-size-width--full" }, h(CheckboxElement, null), this.buildModalListActions(item, isVariable))), (item.visible && isVariable) && (h("div", { class: "ez-row ez-padding--small" }, this.getFormField(item)))));
45
45
  }
@@ -44,6 +44,11 @@
44
44
  background-color: var(--snk-form-config--background-color);
45
45
  }
46
46
 
47
+ div:focus-visible,
48
+ div:focus {
49
+ outline: none;
50
+ }
51
+
47
52
  .form-config__header-container {
48
53
  /*private*/
49
54
  display: flex;
@@ -58,7 +63,7 @@
58
63
  .form-config__hide-content {
59
64
  /*private*/
60
65
  display: none;
61
- }
66
+ }
62
67
 
63
68
  ez-icon .left-icon {
64
69
  /*public*/
@@ -229,9 +234,9 @@ ez-collapsible-box{
229
234
  /*private*/
230
235
  left: calc(100% / 1 * -1);
231
236
  }
232
-
237
+
233
238
  .form-config__field-config--selected:nth-child(3n+3) .ez-flex.form-config__config-options {
234
239
  /*private*/
235
240
  left: calc(100% / 1 * -2);
236
241
  }
237
- }
242
+ }
@@ -38,6 +38,7 @@ export class SnkFormConfig {
38
38
  this.dataUnit = undefined;
39
39
  this.configManager = undefined;
40
40
  this.messagesBuilder = undefined;
41
+ this.ignoreReadOnlyFormFields = undefined;
41
42
  }
42
43
  observeConfigManager() {
43
44
  this.loadConfig(this._sortableTimer);
@@ -67,7 +68,7 @@ export class SnkFormConfig {
67
68
  }
68
69
  }
69
70
  getConfig() {
70
- let config = this.configManager.getConfig(this.dataUnit);
71
+ let config = this.configManager.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
71
72
  if (config.fields && config.fields.length === 0) {
72
73
  config = undefined;
73
74
  }
@@ -192,9 +193,9 @@ export class SnkFormConfig {
192
193
  this._optionFormConfigChanged = false;
193
194
  this.configManager.saveConfig(this.buildConfigToSave())
194
195
  .then(savedConfig => {
196
+ var _a;
195
197
  ApplicationUtils.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"), { iconName: "check" });
196
- const userOption = this._formConfigOptions
197
- .find((config) => {
198
+ const userOption = (_a = this._formConfigOptions) === null || _a === void 0 ? void 0 : _a.find((config) => {
198
199
  return config.origin === UserConfigType.USER;
199
200
  });
200
201
  this.setFormConfig(userOption);
@@ -1066,6 +1067,23 @@ export class SnkFormConfig {
1066
1067
  "tags": [],
1067
1068
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
1068
1069
  }
1070
+ },
1071
+ "ignoreReadOnlyFormFields": {
1072
+ "type": "boolean",
1073
+ "mutable": false,
1074
+ "complexType": {
1075
+ "original": "boolean",
1076
+ "resolved": "boolean",
1077
+ "references": {}
1078
+ },
1079
+ "required": false,
1080
+ "optional": true,
1081
+ "docs": {
1082
+ "tags": [],
1083
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
1084
+ },
1085
+ "attribute": "ignore-read-only-form-fields",
1086
+ "reflect": false
1069
1087
  }
1070
1088
  };
1071
1089
  }
@@ -419,10 +419,7 @@ export class SnkGrid {
419
419
  itemBuilder: (actionButton, item) => this.getColumnSearch(actionButton, item)
420
420
  }];
421
421
  if (this.enableGridInsert) {
422
- hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
423
- this._enableContinuousInsert = !this._enableContinuousInsert;
424
- this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
425
- }));
422
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, this.handleEnableContinuousInsert));
426
423
  }
427
424
  if (this.isGridInsertActive())
428
425
  return hardList;
@@ -432,6 +429,10 @@ export class SnkGrid {
432
429
  }
433
430
  return hardList.concat(this.actionsList);
434
431
  }
432
+ handleEnableContinuousInsert() {
433
+ this._enableContinuousInsert = !this._enableContinuousInsert;
434
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
435
+ }
435
436
  handleFilterConfigUpdated(filterConfig) {
436
437
  if (!filterConfig.length) {
437
438
  this._showSnkFilterBar = false;
@@ -146,7 +146,7 @@ export class SnkPrintSelector {
146
146
  render() {
147
147
  return (h(Host, null, h("ez-popup", Object.assign({ size: 'small', heightMode: 'full', useHeader: false, ref: (ref) => this._ezPopup = ref }, this.getElementID("snk-print-selector")), h("ez-modal-container", { modalTitle: this.getMessage("snkPrintSelector.title.printerSelection"), okButtonLabel: this.getMessage("snkPrintSelector.button.print"), okButtonStatus: this._selectedPrinter ? ModalButtonStatus.ENABLED : ModalButtonStatus.DISABLED, cancelButtonLabel: this.getMessage("snkPrintSelector.button.cancel"), onEzModalAction: (evt) => this.handleModalAction(evt.detail) }, this._isSingleJob &&
148
148
  h("div", { class: 'ez-flex ez-margin-bottom--large' }, h("div", { class: 'ez-flex ez-margin-right--large' }, h("span", { class: 'ez-text ez-text--bold ez-text--medium ez-padding-right--small' }, this.getMessage("snkPrintSelector.subtitle.document")), h("span", { class: 'ez-text ez-text--primary ez-text--medium' }, this._printJobData.pendingPrinters[0].docTypeDescription)), h("div", { class: 'ez-flex ez-margin-right--large' }, h("span", { class: 'ez-text ez-text--bold ez-text--medium ez-padding-right--small' }, this.getMessage("snkPrintSelector.subtitle.jobs")), h("span", { class: 'ez-text ez-text--primary ez-text--medium' }, this._printJobData.pendingPrinters[0].printJobCount))), h("ez-tabselector", { tabs: this.buildIdTabSelector(), onEzChange: (evt) => this.onChangeTab(evt), selectedTab: this._printServerActive ? this.REMOTE_PRINTERS_TAB : this.LOCAL_PRINTERS_TAB }), h("ez-view-stack", { ref: (ref) => this._viewStack = ref }, h("stack-item", { hidePolicy: 'hide' }, this._printServerActive &&
149
- h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, h("ez-list", { ref: (ref) => this._remotePrintersList = ref, class: `ez-padding-top--medium ${this._hasRemotePrinters ? '' : 'hidden'}`, dataSource: this._remotePrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, false), itemLeftSlotBuilder: this.buildPrinterIcon, useGroups: true, ezSelectable: true, hoverFeedback: true, "data-element-id": 'remotePrintersList' }), !this._hasRemotePrinters && this.renderNoPrinters())), h("stack-item", { hidePolicy: 'hide' }, h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, h("ez-list", { ref: (ref) => this._localPrintersList = ref, class: `ez-padding-top--medium ${this._hasLocalPrinters ? '' : 'hidden'}`, dataSource: this._localPrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, true), itemLeftSlotBuilder: this.buildPrinterIcon, ezSelectable: true, hoverFeedback: true }), !this._hasLocalPrinters && this.renderNoPrinters()))), h("ez-check", { label: this.getMessage("snkPrintSelector.message.savePrinter"), onEzChange: evt => this._saveSubstitute = evt.detail, compact: true })))));
149
+ h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, h("ez-list", { ref: (ref) => this._remotePrintersList = ref, class: `ez-padding-top--medium ${this._hasRemotePrinters ? '' : 'hidden'}`, dataSource: this._remotePrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, false), itemLeftSlotBuilder: this.buildPrinterIcon, useGroups: true, ezSelectable: true, hoverFeedback: true, "data-element-id": 'remotePrintersList' }), !this._hasRemotePrinters && this.renderNoPrinters())), h("stack-item", { hidePolicy: 'hide' }, h("div", { class: `list-scroll ez-size-height--full ${this._isSingleJob ? 'with-header' : 'without-header'}` }, h("ez-list", { ref: (ref) => this._localPrintersList = ref, class: `ez-padding-top--medium ${this._hasLocalPrinters ? '' : 'hidden'}`, dataSource: this._localPrintersDataSource, onEzSelectItem: (evt) => this.onSelectPrinter(evt.detail, true), itemLeftSlotBuilder: this.buildPrinterIcon, ezSelectable: true, hoverFeedback: true }), !this._hasLocalPrinters && this.renderNoPrinters()))), h("ez-check", { label: this.getMessage("snkPrintSelector.message.savePrinter"), onEzChange: evt => this._saveSubstitute = evt.detail })))));
150
150
  }
151
151
  static get is() { return "snk-print-selector"; }
152
152
  static get encapsulation() { return "scoped"; }
@@ -23,9 +23,9 @@ export class SnkSimpleCrud {
23
23
  this._customEditors = new Map();
24
24
  this._customRenders = new Map();
25
25
  this._taskbarProcessor = new TaskbarProcessor({
26
- "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE]),
26
+ "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE], true),
27
27
  "snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
28
- "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE]),
28
+ "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE], true),
29
29
  "snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
30
30
  "snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
31
31
  });
@@ -125,8 +125,12 @@ export class SnkSimpleCrud {
125
125
  }
126
126
  return btns;
127
127
  }
128
- getButtons(selected, extraButtons) {
129
- return this.addConfigButton(this.resolveInMemoryBtns(selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS)
128
+ getButtons(selected, extraButtons, removeRefresh) {
129
+ let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
130
+ if (removeRefresh) {
131
+ btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
132
+ }
133
+ return this.addConfigButton(this.resolveInMemoryBtns(btnList)
130
134
  .concat(extraButtons));
131
135
  }
132
136
  addConfigButton(buttons) {
@@ -582,10 +586,7 @@ export class SnkSimpleCrud {
582
586
  : this.getFieldSearch(actionButton, item)
583
587
  }];
584
588
  if (this.enableGridInsert) {
585
- hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
586
- this._enableContinuousInsert = !this._enableContinuousInsert;
587
- this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
588
- }));
589
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, this.handleEnableContinuousInsert));
589
590
  }
590
591
  if (this.isGridInsertActive())
591
592
  return hardList;
@@ -597,6 +598,10 @@ export class SnkSimpleCrud {
597
598
  return hardList.concat(this.actionsList);
598
599
  return hardList;
599
600
  }
601
+ handleEnableContinuousInsert() {
602
+ this._enableContinuousInsert = !this._enableContinuousInsert;
603
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
604
+ }
600
605
  getTopTaskBarId() {
601
606
  var _a;
602
607
  return ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? `snkGridTopTaskbar.finish_edition${PresentationMode.PRIMARY}` :
@@ -24,7 +24,7 @@ export class ContinuousInsertUtils {
24
24
  label: enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua',
25
25
  enabled: true,
26
26
  itemBuilder: () => {
27
- return (h("div", { class: "ez-dropdown__item-wrapper", onClick: handleEnableContinuousInsert }, h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua')));
27
+ return (h("div", { class: "ez-dropdown__item-wrapper", onClick: () => handleEnableContinuousInsert() }, h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua')));
28
28
  },
29
29
  };
30
30
  }
@@ -323,7 +323,7 @@ class ContinuousInsertUtils {
323
323
  label: enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua',
324
324
  enabled: true,
325
325
  itemBuilder: () => {
326
- return (h("div", { class: "ez-dropdown__item-wrapper", onClick: handleEnableContinuousInsert },
326
+ return (h("div", { class: "ez-dropdown__item-wrapper", onClick: () => handleEnableContinuousInsert() },
327
327
  h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua')));
328
328
  },
329
329
  };
@@ -847,7 +847,7 @@ const SnkAttach = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
847
847
  var _a, _b;
848
848
  if (!this._currentDataUnit)
849
849
  return null;
850
- return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this) }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary" }, this.getMessage("snkAttach.description")))))))));
850
+ return (h("main", { class: "snk-attach__main" }, h("header", { class: "snk-attach__header" }, h("snk-simple-bar", { onExit: this.handleBack, messagesBuilder: this.messagesBuilder }, h("div", { slot: "rightSlot" }, h("ez-button", { class: "ez-button--primary", label: this.getMessage("snkAttach.finish"), onClick: this.handleFinish })))), h("div", { class: "snk-attach__crud-section ez-size-height--full ez-size-width--full ez-flex ez-flex--column" }, h("div", { class: "ez-box__container" }, h("snk-simple-crud", { ref: (el) => this._crudElement = el, dataUnit: this._currentDataUnit, taskbarManager: buildTaskBarManager(), gridConfig: (_a = this.crudConfig) === null || _a === void 0 ? void 0 : _a.grid, formConfig: (_b = this.crudConfig) === null || _b === void 0 ? void 0 : _b.form, useCancelConfirm: false, onActionClick: this.handleTaskbarClick, messagesBuilder: this.messagesBuilder, onDataStateChange: this.handleOnDataStateChange.bind(this) }, h("div", { slot: "snkSimpleCrudHeader" }, h("div", { class: "ez-flex ez-flex--column" }, h("span", { class: "ez-title--primary ez-text ez-text--large ez-text--bold ez-padding-bottom--medium" }, this.getMessage("snkAttach.title")), h("span", { class: "ez-text ez-text--medium ez-text--secondary ez-padding-bottom--medium" }, this.getMessage("snkAttach.description")))))))));
851
851
  }
852
852
  static get watchers() { return {
853
853
  "registerKey": ["registerKeyWatcher"]
@@ -82,6 +82,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
82
82
  this.autoFocus = true;
83
83
  this.enableGridInsert = false;
84
84
  this.domainMessagesBuilder = undefined;
85
+ this.ignoreReadOnlyFormFields = undefined;
85
86
  this.setCustomFormTitle = undefined;
86
87
  this.customContainerId = `SNK-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
87
88
  }
@@ -423,7 +424,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
423
424
  return;
424
425
  }
425
426
  this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
426
- return (h(Host, null, 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, 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 }, 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 }, 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" }))));
427
+ return (h(Host, null, 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, 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 }, 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" }))));
427
428
  }
428
429
  get _element() { return this; }
429
430
  static get watchers() { return {
@@ -451,6 +452,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
451
452
  "autoFocus": [4, "auto-focus"],
452
453
  "enableGridInsert": [4, "enable-grid-insert"],
453
454
  "domainMessagesBuilder": [1, "domain-messages-builder"],
455
+ "ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
454
456
  "setCustomFormTitle": [16],
455
457
  "_dataUnit": [32],
456
458
  "_dataState": [32],