@sankhyalabs/sankhyablocks 8.1.0-rc.2 → 8.1.0-rc.3

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 (67) hide show
  1. package/dist/cjs/auth-fetcher-58237931.js +34 -0
  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 +4 -31
  5. package/dist/cjs/snk-crud.cjs.entry.js +7 -3
  6. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  7. package/dist/cjs/{snk-data-unit-d5109a08.js → snk-data-unit-e89e07bd.js} +4 -3
  8. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  9. package/dist/cjs/snk-detail-view.cjs.entry.js +6 -15
  10. package/dist/cjs/snk-grid.cjs.entry.js +4 -1
  11. package/dist/cjs/{snk-guides-viewer-aa3e3bfa.js → snk-guides-viewer-27f87d90.js} +2 -3
  12. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  13. package/dist/cjs/snk-simple-crud.cjs.entry.js +3 -9
  14. package/dist/collection/components/snk-crud/snk-crud.js +26 -5
  15. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +24 -14
  16. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +20 -3
  17. package/dist/collection/components/snk-data-unit/snk-data-unit.js +21 -3
  18. package/dist/collection/components/snk-grid/snk-grid.js +60 -2
  19. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +21 -9
  20. package/dist/components/auth-fetcher.js +32 -0
  21. package/dist/components/snk-application2.js +1 -29
  22. package/dist/components/snk-crud.js +8 -3
  23. package/dist/components/snk-data-unit2.js +5 -3
  24. package/dist/components/snk-detail-view2.js +10 -17
  25. package/dist/components/snk-grid2.js +7 -1
  26. package/dist/components/snk-simple-crud2.js +4 -9
  27. package/dist/esm/auth-fetcher-83a946f8.js +32 -0
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/esm/sankhyablocks.js +1 -1
  30. package/dist/esm/snk-application.entry.js +2 -29
  31. package/dist/esm/snk-crud.entry.js +7 -3
  32. package/dist/esm/snk-data-exporter.entry.js +1 -1
  33. package/dist/esm/{snk-data-unit-3a0bbfcb.js → snk-data-unit-8c4d944d.js} +4 -3
  34. package/dist/esm/snk-data-unit.entry.js +1 -1
  35. package/dist/esm/snk-detail-view.entry.js +6 -15
  36. package/dist/esm/snk-grid.entry.js +4 -1
  37. package/dist/esm/{snk-guides-viewer-aa386f6e.js → snk-guides-viewer-c47cd45e.js} +2 -3
  38. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  39. package/dist/esm/snk-simple-crud.entry.js +3 -9
  40. package/dist/sankhyablocks/p-22c6fe1a.entry.js +1 -0
  41. package/dist/sankhyablocks/p-34a1357a.entry.js +1 -0
  42. package/dist/sankhyablocks/p-4721c3db.js +1 -0
  43. package/dist/sankhyablocks/p-564efc43.js +1 -0
  44. package/dist/sankhyablocks/p-7e285d6c.entry.js +11 -0
  45. package/dist/sankhyablocks/p-c32b9d7c.entry.js +1 -0
  46. package/dist/sankhyablocks/p-c57bd935.entry.js +1 -0
  47. package/dist/sankhyablocks/{p-0a94fdbd.entry.js → p-cfd7da4a.entry.js} +1 -1
  48. package/dist/sankhyablocks/{p-7c7764bf.entry.js → p-e5845241.entry.js} +1 -1
  49. package/dist/sankhyablocks/p-f88c45bf.js +1 -0
  50. package/dist/sankhyablocks/p-fe010e54.entry.js +1 -0
  51. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  52. package/dist/types/components/snk-crud/snk-crud.d.ts +5 -0
  53. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  54. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +4 -0
  55. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
  56. package/dist/types/components/snk-grid/snk-grid.d.ts +13 -0
  57. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +4 -0
  58. package/dist/types/components.d.ts +64 -0
  59. package/package.json +1 -1
  60. package/dist/sankhyablocks/p-1e0189ff.entry.js +0 -1
  61. package/dist/sankhyablocks/p-50d72261.entry.js +0 -1
  62. package/dist/sankhyablocks/p-8fdc3108.js +0 -1
  63. package/dist/sankhyablocks/p-9edad923.js +0 -1
  64. package/dist/sankhyablocks/p-abdcac04.entry.js +0 -1
  65. package/dist/sankhyablocks/p-b0847056.entry.js +0 -1
  66. package/dist/sankhyablocks/p-ccbfb1cf.entry.js +0 -1
  67. package/dist/sankhyablocks/p-f92fda53.entry.js +0 -11
@@ -3,7 +3,7 @@ import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
4
4
  import { PresentationMode } from '../../lib';
5
5
  import { VIEW_MODE } from '../../lib/utils/constants';
6
- // import { AutorizationType } from '../../lib/http/data-fetcher/fetchers/auth-fetcher';
6
+ import { AutorizationType } from '../../lib/http/data-fetcher/fetchers/auth-fetcher';
7
7
  /**
8
8
  * É possível customizar as mensagens dos blocos de construção através de um pequeno modulo na estrutura da aplicação:
9
9
  * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
@@ -16,6 +16,7 @@ export class SnkCrud {
16
16
  this._dataState = undefined;
17
17
  this.attachmentRegisterKey = undefined;
18
18
  this._currentViewMode = VIEW_MODE.GRID;
19
+ this._canEdit = undefined;
19
20
  this.configName = undefined;
20
21
  this.selectionToastConfig = undefined;
21
22
  this.showActionButtons = false;
@@ -26,6 +27,7 @@ export class SnkCrud {
26
27
  this.multipleSelection = true;
27
28
  this.presentationMode = PresentationMode.PRIMARY;
28
29
  this.messagesBuilder = undefined;
30
+ this.useEnterLikeTab = false;
29
31
  }
30
32
  /**
31
33
  * Usado para alternar a visão entre GRID e FORM externamente.
@@ -109,7 +111,7 @@ export class SnkCrud {
109
111
  }
110
112
  componentWillLoad() {
111
113
  const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
112
- // application.hasAccess(AutorizationType.UPDATE).then(canEdit=>this._canEdit = canEdit)
114
+ application.hasAccess(AutorizationType.UPDATE).then(canEdit => this._canEdit = canEdit);
113
115
  let parent = this._element.parentElement;
114
116
  while (parent) {
115
117
  if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
@@ -156,8 +158,8 @@ export class SnkCrud {
156
158
  this.configuratorCancel.emit();
157
159
  }
158
160
  render() {
159
- // this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
160
- 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, selectionToastConfig: this.selectionToastConfig }, 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("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') }, h("div", { slot: "SnkConfigContainerSlot" }, h("slot", { name: "SnkConfigContainerSlot" })))));
161
+ this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
162
+ 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, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit }, 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 }, 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') }, h("div", { slot: "SnkConfigContainerSlot" }, h("slot", { name: "SnkConfigContainerSlot" })))));
161
163
  }
162
164
  static get is() { return "snk-crud"; }
163
165
  static get encapsulation() { return "scoped"; }
@@ -375,6 +377,24 @@ export class SnkCrud {
375
377
  "tags": [],
376
378
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
377
379
  }
380
+ },
381
+ "useEnterLikeTab": {
382
+ "type": "boolean",
383
+ "mutable": false,
384
+ "complexType": {
385
+ "original": "boolean",
386
+ "resolved": "boolean",
387
+ "references": {}
388
+ },
389
+ "required": false,
390
+ "optional": false,
391
+ "docs": {
392
+ "tags": [],
393
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
394
+ },
395
+ "attribute": "use-enter-like-tab",
396
+ "reflect": false,
397
+ "defaultValue": "false"
378
398
  }
379
399
  };
380
400
  }
@@ -383,7 +403,8 @@ export class SnkCrud {
383
403
  "_dataUnit": {},
384
404
  "_dataState": {},
385
405
  "attachmentRegisterKey": {},
386
- "_currentViewMode": {}
406
+ "_currentViewMode": {},
407
+ "_canEdit": {}
387
408
  };
388
409
  }
389
410
  static get events() {
@@ -10,6 +10,7 @@ import { GuideBuilder } from '../GuideBuilder';
10
10
  export class SnkDetailView {
11
11
  constructor() {
12
12
  this._disabledButtons = undefined;
13
+ this._currentView = undefined;
13
14
  this.attachmentRegisterKey = undefined;
14
15
  this.formConfigManager = undefined;
15
16
  this.dataUnitName = undefined;
@@ -21,12 +22,8 @@ export class SnkDetailView {
21
22
  this.dataState = undefined;
22
23
  this.messagesBuilder = undefined;
23
24
  this.branchGuide = undefined;
25
+ this.canEdit = true;
24
26
  }
25
- // /**
26
- // * Define se a edição está habilitada na grid.
27
- // */
28
- // @Prop()
29
- // canEdit: boolean = true;
30
27
  observerDataState(newValue, oldValue) {
31
28
  const openInsertion = !(oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
32
29
  const closeInsertion = (oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && !(newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
@@ -139,10 +136,8 @@ export class SnkDetailView {
139
136
  updateViewStack(viewStack) {
140
137
  var _a, _b;
141
138
  this._viewStack = viewStack;
142
- // TODO: remove to gridEditor
143
- (_b = (_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a, this.selectedForm ? 1 : 0);
144
- // this._currentView = this.selectedForm ? 1 : 0;
145
- // this._viewStack?.show?.(this._currentView);
139
+ this._currentView = this.selectedForm ? 1 : 0;
140
+ (_b = (_a = this._viewStack) === null || _a === void 0 ? void 0 : _a.show) === null || _b === void 0 ? void 0 : _b.call(_a, this._currentView);
146
141
  }
147
142
  getFormFields() {
148
143
  if (this.selectedForm && this._formMetadata) {
@@ -197,11 +192,7 @@ export class SnkDetailView {
197
192
  render() {
198
193
  this.updateLabel();
199
194
  //const cardConfig: IFormCardConfig = this._cardsState?.get(this.selectedForm);
200
- return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this),
201
- // ignoreSaveMessage={this._currentView === VIEW_MODE.GRID}
202
- messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY,
203
- // canEdit={this.canEdit}
204
- 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 }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
195
+ return (h(Host, null, h("snk-data-unit", { ref: (el) => this._snkDataUnit = el, dataUnitName: `${this.dataUnitName}`, onDataUnitReady: evt => this.dataUnitReadyHandler(evt), entityName: this.entityName, onDataStateChange: this.handleDataStateChange.bind(this), ignoreSaveMessage: this._currentView === VIEW_MODE.GRID, messagesBuilder: this.messagesBuilder, configName: this._configName }, h("ez-view-stack", { ref: (ref) => this.updateViewStack(ref) }, h("stack-item", null, h("div", { class: "ez-box ez-box--shadow grid-container" }, h("div", { class: "ez-flex ez-title--primary ez-size-width--full ez-padding--large detail-header" }, h("div", { class: "ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center" }, this._levelPath ? h("span", { class: "level-path" }, this._levelPath + " /") : undefined, this.label)), h("snk-grid", { class: "ez-size-width--full ez-size-height--full", ref: (ref) => this._snkGrid = ref, configName: this._configName, messagesBuilder: this.messagesBuilder, onGridDoubleClick: () => this.emitSwitchEvent(VIEW_MODE.FORM), onActionClick: (evt) => this.executeActionHandler(evt), presentationMode: PresentationMode.SECONDARY, canEdit: this.canEdit, isDetail: true }))), 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 }))), h("stack-item", null, h("snk-attach", { registerKey: this.attachmentRegisterKey, messagesBuilder: this.messagesBuilder, entityName: this.entityName, onBack: this.handleAttachBack.bind(this) }))))));
205
196
  }
206
197
  static get is() { return "snk-detail-view"; }
207
198
  static get encapsulation() { return "scoped"; }
@@ -407,12 +398,31 @@ export class SnkDetailView {
407
398
  "tags": [],
408
399
  "text": ""
409
400
  }
401
+ },
402
+ "canEdit": {
403
+ "type": "boolean",
404
+ "mutable": false,
405
+ "complexType": {
406
+ "original": "boolean",
407
+ "resolved": "boolean",
408
+ "references": {}
409
+ },
410
+ "required": false,
411
+ "optional": false,
412
+ "docs": {
413
+ "tags": [],
414
+ "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
415
+ },
416
+ "attribute": "can-edit",
417
+ "reflect": false,
418
+ "defaultValue": "true"
410
419
  }
411
420
  };
412
421
  }
413
422
  static get states() {
414
423
  return {
415
424
  "_disabledButtons": {},
425
+ "_currentView": {},
416
426
  "attachmentRegisterKey": {}
417
427
  };
418
428
  }
@@ -21,6 +21,7 @@ export class SnkGuidesViewer {
21
21
  this.selectedGuide = undefined;
22
22
  this.taskbarManager = undefined;
23
23
  this.messagesBuilder = undefined;
24
+ this.canEdit = true;
24
25
  this.presentationMode = undefined;
25
26
  this._breadcrumbItems = [];
26
27
  this._guides = undefined;
@@ -223,9 +224,7 @@ export class SnkGuidesViewer {
223
224
  else {
224
225
  detailBranch = this.selectedGuide;
225
226
  }
226
- content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`,
227
- // canEdit={this.canEdit}
228
- onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail) }));
227
+ content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, canEdit: this.canEdit, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail) }));
229
228
  }
230
229
  else {
231
230
  const cardId = this.selectedGuide.id;
@@ -549,6 +548,24 @@ export class SnkGuidesViewer {
549
548
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
550
549
  }
551
550
  },
551
+ "canEdit": {
552
+ "type": "boolean",
553
+ "mutable": false,
554
+ "complexType": {
555
+ "original": "boolean",
556
+ "resolved": "boolean",
557
+ "references": {}
558
+ },
559
+ "required": false,
560
+ "optional": false,
561
+ "docs": {
562
+ "tags": [],
563
+ "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
564
+ },
565
+ "attribute": "can-edit",
566
+ "reflect": false,
567
+ "defaultValue": "true"
568
+ },
552
569
  "presentationMode": {
553
570
  "type": "string",
554
571
  "mutable": false,
@@ -11,9 +11,9 @@ export class SnkDataUnit {
11
11
  const duState = this.buildDataState();
12
12
  this.dataState = duState;
13
13
  if (action.type === Action.DATA_SAVED) {
14
- // if(this.ignoreSaveMessage){
15
- // return
16
- // }
14
+ if (this.ignoreSaveMessage) {
15
+ return;
16
+ }
17
17
  const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
18
18
  if (msg != undefined) {
19
19
  this.showSuccessMessage(msg);
@@ -59,6 +59,7 @@ export class SnkDataUnit {
59
59
  this.beforeSave = undefined;
60
60
  this.afterSave = undefined;
61
61
  this.useCancelConfirm = true;
62
+ this.ignoreSaveMessage = undefined;
62
63
  this.configName = undefined;
63
64
  }
64
65
  observePageSize() {
@@ -590,6 +591,23 @@ export class SnkDataUnit {
590
591
  "reflect": false,
591
592
  "defaultValue": "true"
592
593
  },
594
+ "ignoreSaveMessage": {
595
+ "type": "boolean",
596
+ "mutable": false,
597
+ "complexType": {
598
+ "original": "boolean",
599
+ "resolved": "boolean",
600
+ "references": {}
601
+ },
602
+ "required": false,
603
+ "optional": false,
604
+ "docs": {
605
+ "tags": [],
606
+ "text": "Respons\u00E1vel por evitar a mensagem de sucesso ao salvar."
607
+ },
608
+ "attribute": "ignore-save-message",
609
+ "reflect": false
610
+ },
593
611
  "configName": {
594
612
  "type": "string",
595
613
  "mutable": false,
@@ -8,7 +8,6 @@ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
8
8
  import store from "../../lib/store";
9
9
  import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
10
10
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
11
- // import { IRecordValidator } from '@sankhyalabs/ezui/dist/types/utils/form/interfaces';
12
11
  export class SnkGrid {
13
12
  constructor() {
14
13
  this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
@@ -37,6 +36,9 @@ export class SnkGrid {
37
36
  this.multipleSelection = undefined;
38
37
  this.presentationMode = PresentationMode.PRIMARY;
39
38
  this.messagesBuilder = undefined;
39
+ this.useEnterLikeTab = false;
40
+ this.recordsValidator = undefined;
41
+ this.canEdit = true;
40
42
  }
41
43
  /**
42
44
  * Exibe a janela de configurações da grade.
@@ -305,7 +307,7 @@ export class SnkGrid {
305
307
  return undefined;
306
308
  }
307
309
  return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder }), ((_b = (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
308
- h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this._multiSelectionListDataSource, selectionToastConfig: this.selectionToastConfig }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
310
+ h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" }), h("snk-taskbar", { class: "ez-padding-left--medium", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton() })), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: () => this.gridDoubleClick.emit(), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, onComponentReady: () => this.onEzGridReady(), columnfilterDataSource: this._multiSelectionListDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit }, h("snk-taskbar", { dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.actionsList })), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), application: this._application, selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig() }))));
309
311
  }
310
312
  static get is() { return "snk-grid"; }
311
313
  static get encapsulation() { return "scoped"; }
@@ -501,6 +503,62 @@ export class SnkGrid {
501
503
  "tags": [],
502
504
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
503
505
  }
506
+ },
507
+ "useEnterLikeTab": {
508
+ "type": "boolean",
509
+ "mutable": false,
510
+ "complexType": {
511
+ "original": "boolean",
512
+ "resolved": "boolean",
513
+ "references": {}
514
+ },
515
+ "required": false,
516
+ "optional": false,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
520
+ },
521
+ "attribute": "use-enter-like-tab",
522
+ "reflect": false,
523
+ "defaultValue": "false"
524
+ },
525
+ "recordsValidator": {
526
+ "type": "unknown",
527
+ "mutable": false,
528
+ "complexType": {
529
+ "original": "IRecordValidator",
530
+ "resolved": "IRecordValidator",
531
+ "references": {
532
+ "IRecordValidator": {
533
+ "location": "import",
534
+ "path": "@sankhyalabs/ezui/dist/types/utils/form/interfaces"
535
+ }
536
+ }
537
+ },
538
+ "required": false,
539
+ "optional": false,
540
+ "docs": {
541
+ "tags": [],
542
+ "text": "Validador respons\u00E1vel por checar a integridade das informa\u00E7\u00F5es do registro."
543
+ }
544
+ },
545
+ "canEdit": {
546
+ "type": "boolean",
547
+ "mutable": false,
548
+ "complexType": {
549
+ "original": "boolean",
550
+ "resolved": "boolean",
551
+ "references": {}
552
+ },
553
+ "required": false,
554
+ "optional": false,
555
+ "docs": {
556
+ "tags": [],
557
+ "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
558
+ },
559
+ "attribute": "can-edit",
560
+ "reflect": false,
561
+ "defaultValue": "true"
504
562
  }
505
563
  };
506
564
  }
@@ -11,11 +11,6 @@ export class SnkSimpleCrud {
11
11
  this.REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER"];
12
12
  this.REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER"];
13
13
  this._multiSelectionListDataSource = new SnkMultiSelectionListDataSource();
14
- // /**
15
- // * Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
16
- // */
17
- // @Prop()
18
- // useEnterLikeTab: boolean = false;
19
14
  this._taskbarProcessor = new TaskbarProcessor({
20
15
  "snkSimpleCrudTaskbar.form_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.GRID_MODE),
21
16
  "snkSimpleCrudTaskbar.grid_regular": this.resolveInMemoryBtns(this.REGULAR_DEFAULT_BTNS).concat(TaskbarElement.FORM_MODE),
@@ -34,6 +29,7 @@ export class SnkSimpleCrud {
34
29
  this.useCancelConfirm = true;
35
30
  this.taskbarManager = undefined;
36
31
  this.messagesBuilder = undefined;
32
+ this.useEnterLikeTab = false;
37
33
  }
38
34
  resolveInMemoryBtns(taskbarButtons) {
39
35
  const newTaskBarConfig = [...taskbarButtons];
@@ -178,11 +174,9 @@ export class SnkSimpleCrud {
178
174
  }
179
175
  render() {
180
176
  var _a;
181
- return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail),
182
- // ignoreSaveMessage={this._currentViewMode === VIEW_MODE.GRID}
183
- onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large", 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: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), columnfilterDataSource: this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
177
+ return (h("snk-data-unit", { class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), ignoreSaveMessage: this._currentViewMode === VIEW_MODE.GRID, onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-flex ez-box ez-box--shadow" }, h("snk-taskbar", { class: "ez-box ez-box--shadow ez-padding--medium ez-margin-bottom--large", 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: PresentationMode.SECONDARY }), h("ez-view-stack", { class: "ez-flex ez-flex--column", ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), columnfilterDataSource: this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
184
178
  ? undefined
185
- : this._multiSelectionListDataSource }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this.formConfig }))))));
179
+ : this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { dataUnit: this.dataUnit, config: this.formConfig }))))));
186
180
  }
187
181
  static get is() { return "snk-simple-crud"; }
188
182
  static get encapsulation() { return "scoped"; }
@@ -375,6 +369,24 @@ export class SnkSimpleCrud {
375
369
  "tags": [],
376
370
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
377
371
  }
372
+ },
373
+ "useEnterLikeTab": {
374
+ "type": "boolean",
375
+ "mutable": false,
376
+ "complexType": {
377
+ "original": "boolean",
378
+ "resolved": "boolean",
379
+ "references": {}
380
+ },
381
+ "required": false,
382
+ "optional": false,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
386
+ },
387
+ "attribute": "use-enter-like-tab",
388
+ "reflect": false,
389
+ "defaultValue": "false"
378
390
  }
379
391
  };
380
392
  }
@@ -0,0 +1,32 @@
1
+ import { ObjectUtils } from '@sankhyalabs/core';
2
+ import { R as ResourceFetcher } from './resource-fetcher.js';
3
+
4
+ class AuthFetcher extends ResourceFetcher {
5
+ getData(resourceID) {
6
+ const completePath = `cfg://auth/${resourceID}`;
7
+ return new Promise((resolve, reject) => {
8
+ this.loadResource(completePath)
9
+ .then((loadedResource) => {
10
+ let auth = ObjectUtils.stringToObject(loadedResource);
11
+ if (auth && typeof (auth) === 'object') {
12
+ resolve(auth);
13
+ }
14
+ }).catch((error) => {
15
+ reject(error);
16
+ });
17
+ });
18
+ }
19
+ }
20
+ var AutorizationType;
21
+ (function (AutorizationType) {
22
+ AutorizationType["INSERT"] = "I";
23
+ AutorizationType["UPDATE"] = "A";
24
+ AutorizationType["REMOVE"] = "E";
25
+ AutorizationType["SHOW"] = "C";
26
+ AutorizationType["CONFIG"] = "F";
27
+ AutorizationType["CONFIG_NUMBER"] = "N";
28
+ AutorizationType["CLONE"] = "D";
29
+ AutorizationType["CONFIG_GRID"] = "G";
30
+ })(AutorizationType || (AutorizationType = {}));
31
+
32
+ export { AutorizationType as A, AuthFetcher as a };
@@ -5,7 +5,7 @@ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { P as PesquisaFetcher } from './pesquisa-fetcher.js';
6
6
  import { G as GridConfigFetcher, C as ConfigStorage } from './ConfigStorage.js';
7
7
  import { D as DataUnitFetcher } from './dataunit-fetcher.js';
8
- import { R as ResourceFetcher } from './resource-fetcher.js';
8
+ import { A as AutorizationType, a as AuthFetcher } from './auth-fetcher.js';
9
9
  import { S as SnkMessageBuilder } from './SnkMessageBuilder.js';
10
10
  import { d as defineCustomElement$1 } from './snk-pesquisa2.js';
11
11
 
@@ -226,34 +226,6 @@ class ParametersFetcher {
226
226
 
227
227
  const _0x5b7870=_0x2202;(function(_0x42e134,_0x5d9727){const _0x185c97=_0x2202,_0x5854c7=_0x42e134();while(!![]){try{const _0x129d35=parseInt(_0x185c97(0x18f))/0x1*(-parseInt(_0x185c97(0x183))/0x2)+-parseInt(_0x185c97(0x191))/0x3+parseInt(_0x185c97(0x17d))/0x4*(-parseInt(_0x185c97(0x185))/0x5)+parseInt(_0x185c97(0x184))/0x6*(-parseInt(_0x185c97(0x182))/0x7)+parseInt(_0x185c97(0x17b))/0x8+parseInt(_0x185c97(0x18c))/0x9+parseInt(_0x185c97(0x17f))/0xa;if(_0x129d35===_0x5d9727)break;else _0x5854c7['push'](_0x5854c7['shift']());}catch(_0x4becb4){_0x5854c7['push'](_0x5854c7['shift']());}}}(_0xdfb1,0x44ac7));function _0x2202(_0x2eac1f,_0x170d27){const _0xdfb1b4=_0xdfb1();return _0x2202=function(_0x2202d7,_0x224df5){_0x2202d7=_0x2202d7-0x17a;let _0x4d54a9=_0xdfb1b4[_0x2202d7];return _0x4d54a9;},_0x2202(_0x2eac1f,_0x170d27);}function _0xdfb1(){const _0x2b9dc4=['true','863GKWjmo','parse','56355fjjjAm','isSup','putAccess','4324480sjuCdS','hasOwnProperty','239748okvJLB','name','6055770tXeRaU','actions','forEach','7RPRvzn','1042CHxkUw','2988126NIwRMm','20MTNzmH','authorizationSf','item','string','hasAccess','isArray','Objeto\x20não\x20pode\x20ser\x20indefinido.','3071943fWslZp','parseFromJSON'];_0xdfb1=function(){return _0x2b9dc4;};return _0xdfb1();}class MGEAuthorization{[_0x5b7870(0x18d)](_0x37e96b){const _0x580407=_0x5b7870;_0x37e96b=utxt(_0x37e96b[_0x580407(0x186)]);typeof _0x37e96b==_0x580407(0x188)&&(_0x37e96b=JSON[_0x580407(0x190)](_0x37e96b));if(_0x37e96b==undefined)throw Error(_0x580407(0x18b));const _0x291d34=new MGEAuthorizationData(_0x37e96b[_0x580407(0x192)]==='S'||_0x37e96b[_0x580407(0x192)]===!![]);return Array[_0x580407(0x18a)](_0x37e96b[_0x580407(0x187)])&&_0x37e96b[_0x580407(0x187)][_0x580407(0x181)](_0x58a748=>_0x291d34['putAccess'](_0x58a748[_0x580407(0x17e)],String(_0x58a748['status'])==_0x580407(0x18e))),_0x291d34;}}class MGEAuthorizationData{constructor(_0x51ec5d){const _0x2c8472=_0x5b7870;this['isSup']=_0x51ec5d,this[_0x2c8472(0x180)]={};}[_0x5b7870(0x17a)](_0x5bd0f2,_0x2ef465){const _0x40d701=_0x5b7870;this[_0x40d701(0x180)][_0x5bd0f2]=_0x2ef465;}[_0x5b7870(0x189)](_0x4fd772){const _0x3707c1=_0x5b7870;if(this[_0x3707c1(0x192)])return !![];let _0x25e60a=!![];return this[_0x3707c1(0x180)][_0x3707c1(0x17c)](_0x4fd772)&&(_0x25e60a=this['actions'][_0x4fd772]),_0x25e60a;}['isUserSup'](){return this['isSup'];}}
228
228
 
229
- class AuthFetcher extends ResourceFetcher {
230
- getData(resourceID) {
231
- const completePath = `cfg://auth/${resourceID}`;
232
- return new Promise((resolve, reject) => {
233
- this.loadResource(completePath)
234
- .then((loadedResource) => {
235
- let auth = ObjectUtils.stringToObject(loadedResource);
236
- if (auth && typeof (auth) === 'object') {
237
- resolve(auth);
238
- }
239
- }).catch((error) => {
240
- reject(error);
241
- });
242
- });
243
- }
244
- }
245
- var AutorizationType;
246
- (function (AutorizationType) {
247
- AutorizationType["INSERT"] = "I";
248
- AutorizationType["UPDATE"] = "A";
249
- AutorizationType["REMOVE"] = "E";
250
- AutorizationType["SHOW"] = "C";
251
- AutorizationType["CONFIG"] = "F";
252
- AutorizationType["CONFIG_NUMBER"] = "N";
253
- AutorizationType["CLONE"] = "D";
254
- AutorizationType["CONFIG_GRID"] = "G";
255
- })(AutorizationType || (AutorizationType = {}));
256
-
257
229
  const snkApplicationCss = ".sc-snk-application-h{display:flex;flex-direction:column;height:100%}";
258
230
 
259
231
  const SnkApplication = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -5,6 +5,7 @@ import './DataFetcher.js';
5
5
  import './pesquisa-fetcher.js';
6
6
  import { P as PresentationMode } from './index2.js';
7
7
  import { V as VIEW_MODE } from './constants.js';
8
+ import { A as AutorizationType } from './auth-fetcher.js';
8
9
  import { d as defineCustomElement$v } from './snk-actions-button2.js';
9
10
  import { d as defineCustomElement$u } from './snk-attach2.js';
10
11
  import { d as defineCustomElement$t } from './snk-config-options2.js';
@@ -48,6 +49,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
48
49
  this._dataState = undefined;
49
50
  this.attachmentRegisterKey = undefined;
50
51
  this._currentViewMode = VIEW_MODE.GRID;
52
+ this._canEdit = undefined;
51
53
  this.configName = undefined;
52
54
  this.selectionToastConfig = undefined;
53
55
  this.showActionButtons = false;
@@ -58,6 +60,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
58
60
  this.multipleSelection = true;
59
61
  this.presentationMode = PresentationMode.PRIMARY;
60
62
  this.messagesBuilder = undefined;
63
+ this.useEnterLikeTab = false;
61
64
  }
62
65
  /**
63
66
  * Usado para alternar a visão entre GRID e FORM externamente.
@@ -141,7 +144,7 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
141
144
  }
142
145
  componentWillLoad() {
143
146
  const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
144
- // application.hasAccess(AutorizationType.UPDATE).then(canEdit=>this._canEdit = canEdit)
147
+ application.hasAccess(AutorizationType.UPDATE).then(canEdit => this._canEdit = canEdit);
145
148
  let parent = this._element.parentElement;
146
149
  while (parent) {
147
150
  if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
@@ -188,8 +191,8 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
188
191
  this.configuratorCancel.emit();
189
192
  }
190
193
  render() {
191
- // this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
192
- 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, selectionToastConfig: this.selectionToastConfig }, 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("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') }, h("div", { slot: "SnkConfigContainerSlot" }, h("slot", { name: "SnkConfigContainerSlot" })))));
194
+ this._snkDataUnit.ignoreSaveMessage = this._currentViewMode === VIEW_MODE.GRID;
195
+ 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, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, canEdit: this._canEdit }, 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 }, 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') }, h("div", { slot: "SnkConfigContainerSlot" }, h("slot", { name: "SnkConfigContainerSlot" })))));
193
196
  }
194
197
  get _element() { return this; }
195
198
  static get watchers() { return {
@@ -207,10 +210,12 @@ const SnkCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
207
210
  "multipleSelection": [4, "multiple-selection"],
208
211
  "presentationMode": [1, "presentation-mode"],
209
212
  "messagesBuilder": [1040],
213
+ "useEnterLikeTab": [4, "use-enter-like-tab"],
210
214
  "_dataUnit": [32],
211
215
  "_dataState": [32],
212
216
  "attachmentRegisterKey": [32],
213
217
  "_currentViewMode": [32],
218
+ "_canEdit": [32],
214
219
  "goToView": [64],
215
220
  "openConfigurator": [64],
216
221
  "closeConfigurator": [64],
@@ -21,9 +21,9 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
21
21
  const duState = this.buildDataState();
22
22
  this.dataState = duState;
23
23
  if (action.type === Action.DATA_SAVED) {
24
- // if(this.ignoreSaveMessage){
25
- // return
26
- // }
24
+ if (this.ignoreSaveMessage) {
25
+ return;
26
+ }
27
27
  const msg = this.getMessage("snkDataUnit.saveInfo", action.payload.records[0]);
28
28
  if (msg != undefined) {
29
29
  this.showSuccessMessage(msg);
@@ -69,6 +69,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
69
69
  this.beforeSave = undefined;
70
70
  this.afterSave = undefined;
71
71
  this.useCancelConfirm = true;
72
+ this.ignoreSaveMessage = undefined;
72
73
  this.configName = undefined;
73
74
  }
74
75
  observePageSize() {
@@ -433,6 +434,7 @@ const SnkDataUnit = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
433
434
  "beforeSave": [16],
434
435
  "afterSave": [16],
435
436
  "useCancelConfirm": [4, "use-cancel-confirm"],
437
+ "ignoreSaveMessage": [4, "ignore-save-message"],
436
438
  "configName": [1, "config-name"],
437
439
  "getDataUnit": [64],
438
440
  "getSelectedRecordsIDsInfo": [64]