@sankhyalabs/sankhyablocks 3.2.4 → 3.4.0

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 (82) hide show
  1. package/dist/cjs/{SnkMessageBuilder-e103fb59.js → SnkMessageBuilder-e6dee2c2.js} +22 -2
  2. package/dist/cjs/{index-0e663819.js → index-f400b1d6.js} +34 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  5. package/dist/cjs/snk-application.cjs.entry.js +11 -11
  6. package/dist/cjs/snk-configurator_3.cjs.entry.js +1 -1
  7. package/dist/cjs/snk-crud.cjs.entry.js +2 -2
  8. package/dist/cjs/snk-data-exporter_8.cjs.entry.js +4 -9
  9. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  10. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +3 -2
  11. package/dist/cjs/snk-filter-param-config.cjs.entry.js +255 -0
  12. package/dist/cjs/snk-form.cjs.entry.js +1 -1
  13. package/dist/cjs/{taskbar-elements-d7eb170e.js → taskbar-elements-5e87cf44.js} +1 -1
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/snk-data-exporter/exporter-email-sender/snk-exporter-email-sender.js +3 -2
  16. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
  17. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.js +1 -0
  18. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/ISystemFilterConfig.js +1 -0
  19. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IUserFilterConfig.js +1 -0
  20. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.css +12 -0
  21. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.js +258 -0
  22. package/dist/collection/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.js +55 -0
  23. package/dist/collection/lib/@types/index.js +34 -0
  24. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +10 -10
  25. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  26. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +1 -1
  27. package/dist/collection/lib/message/resources/snk-filter-param-config.msg.js +18 -0
  28. package/dist/collection/lib/utils/fileViewer/index.js +1 -7
  29. package/dist/components/SnkMessageBuilder.js +22 -2
  30. package/dist/components/index.d.ts +1 -0
  31. package/dist/components/index.js +1 -0
  32. package/dist/{esm/index-87e6efed.js → components/index2.js} +35 -1
  33. package/dist/components/snk-application2.js +10 -10
  34. package/dist/components/snk-crud.js +2 -1
  35. package/dist/components/snk-data-exporter2.js +4 -40
  36. package/dist/components/snk-exporter-email-sender2.js +3 -2
  37. package/dist/components/snk-filter-param-config.d.ts +11 -0
  38. package/dist/components/snk-filter-param-config.js +276 -0
  39. package/dist/components/snk-form2.js +2 -1
  40. package/dist/components/snk-grid2.js +2 -1
  41. package/dist/components/snk-taskbar2.js +2 -1
  42. package/dist/esm/{SnkMessageBuilder-11038c4f.js → SnkMessageBuilder-f0d50bd6.js} +22 -2
  43. package/dist/esm/index-bd13bdcf.js +67 -0
  44. package/dist/esm/loader.js +1 -1
  45. package/dist/esm/sankhyablocks.js +1 -1
  46. package/dist/esm/snk-application.entry.js +11 -11
  47. package/dist/esm/snk-configurator_3.entry.js +1 -1
  48. package/dist/esm/snk-crud.entry.js +2 -2
  49. package/dist/esm/snk-data-exporter_8.entry.js +4 -9
  50. package/dist/esm/snk-data-unit.entry.js +1 -1
  51. package/dist/esm/snk-exporter-email-sender.entry.js +3 -2
  52. package/dist/esm/snk-filter-param-config.entry.js +251 -0
  53. package/dist/esm/snk-form.entry.js +1 -1
  54. package/dist/esm/{taskbar-elements-025f6c0c.js → taskbar-elements-8400dbe7.js} +1 -1
  55. package/dist/sankhyablocks/p-22e44b9d.entry.js +1 -0
  56. package/dist/sankhyablocks/{p-87ef5482.js → p-32d02fa4.js} +1 -1
  57. package/dist/sankhyablocks/p-69562bcf.js +1 -0
  58. package/dist/sankhyablocks/{p-25244256.entry.js → p-69738f28.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-3dcc1202.entry.js → p-7f195b37.entry.js} +1 -1
  60. package/dist/sankhyablocks/{p-4ba7e5e9.js → p-93c271e2.js} +1 -1
  61. package/dist/sankhyablocks/{p-c8244b9e.entry.js → p-a2ea13ed.entry.js} +1 -1
  62. package/dist/sankhyablocks/p-b326cf51.entry.js +1 -0
  63. package/dist/sankhyablocks/p-c81ced8a.entry.js +1 -0
  64. package/dist/sankhyablocks/{p-809ecd6b.entry.js → p-e906ba66.entry.js} +4 -4
  65. package/dist/sankhyablocks/{p-277968b3.entry.js → p-f559c71a.entry.js} +1 -1
  66. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  67. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IExpressionItem.d.ts +13 -0
  68. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/ISystemFilterConfig.d.ts +4 -0
  69. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/interfaces/IUserFilterConfig.d.ts +5 -0
  70. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/snk-filter-param-config.d.ts +41 -0
  71. package/dist/types/components/snk-personalized-filter/subcomponents/snk-filter-param-config/utils/PersonalizedFilterUtils.d.ts +15 -0
  72. package/dist/types/components.d.ts +16 -0
  73. package/dist/types/lib/@types/index.d.ts +30 -0
  74. package/dist/types/lib/message/resources/snk-filter-param-config.msg.d.ts +1 -0
  75. package/dist/types/lib/utils/fileViewer/index.d.ts +1 -1
  76. package/package.json +1 -1
  77. package/react/components.d.ts +1 -0
  78. package/react/components.js +1 -0
  79. package/react/components.js.map +1 -1
  80. package/dist/sankhyablocks/p-1f388b12.js +0 -1
  81. package/dist/sankhyablocks/p-8d8e859b.entry.js +0 -1
  82. package/dist/sankhyablocks/p-eb08de68.entry.js +0 -1
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h, g as getElement } from './i
2
2
  import { WaitingChangeException, WarningException, ErrorException, ObjectUtils, DataType, DataUnit, StringUtils, ChangeOperation, DateUtils, DependencyType, ElementIDUtils, ApplicationContext, ErrorTracking } from '@sankhyalabs/core';
3
3
  import { d as dist, D as DataFetcher, R as ResourceFetcher, U as UrlUtils, F as FormConfigFetcher, G as GridConfigFetcher, C as ConfigStorage } from './ConfigStorage-4654f57b.js';
4
4
  import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
5
- import { S as SnkMessageBuilder } from './SnkMessageBuilder-11038c4f.js';
5
+ import { S as SnkMessageBuilder } from './SnkMessageBuilder-f0d50bd6.js';
6
6
  import './_commonjsHelpers-9943807e.js';
7
7
 
8
8
  class SnkErrorHandler {
@@ -119,19 +119,19 @@ class PesquisaFetcher {
119
119
  })
120
120
  };
121
121
  }
122
+ const options = searchOptions != undefined
123
+ ? {
124
+ "pkFieldName": searchOptions.codeFieldName,
125
+ "label": searchOptions.descriptionFieldName,
126
+ "fieldName": searchOptions.codeFieldName,
127
+ "useDescriptionOptions": false,
128
+ "enableRowsCounter": true
129
+ }
130
+ : undefined;
122
131
  const reqBody = {
123
132
  "serviceName": serviceName,
124
133
  "requestBody": {
125
- "criteria": {
126
- "entityName": entityName,
127
- "compacted": false,
128
- "ignoreEntityCriteria": false,
129
- "limit": this._defaultPageSize,
130
- "query": { "$": argument },
131
- "orderByDesc": false,
132
- "externalCriteria": externalCriteria,
133
- "localEntityName": searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.rootEntity
134
- },
134
+ "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.rootEntity }, { options }),
135
135
  "clientEventList": {
136
136
  "clientEvent": []
137
137
  }
@@ -4,7 +4,7 @@ import { c as VIEW_MODE, A as ACTION_CONFIG } from './constants-965d7a7f.js';
4
4
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
5
5
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
6
6
  import { C as ConfigStorage } from './ConfigStorage-4654f57b.js';
7
- import { P as PresentationMode } from './index-87e6efed.js';
7
+ import { P as PresentationMode } from './index-bd13bdcf.js';
8
8
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
9
9
  import { s as store } from './index-e467ade5.js';
10
10
  import './_commonjsHelpers-9943807e.js';
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
2
2
  import { ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { c as VIEW_MODE } from './constants-965d7a7f.js';
4
- import { T as TaskbarElement } from './taskbar-elements-025f6c0c.js';
5
- import { P as PresentationMode } from './index-87e6efed.js';
4
+ import { T as TaskbarElement } from './taskbar-elements-8400dbe7.js';
5
+ import { P as PresentationMode } from './index-bd13bdcf.js';
6
6
  import './index-e467ade5.js';
7
7
 
8
8
  const snkCrudCss = ".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-cfd4bb13.js';
2
2
  import { ObjectUtils, ApplicationContext, ElementIDUtils, DataType, StringUtils, ErrorException, FloatingManager, ArrayUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType, CheckMode } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { D as DataExporterOption, a as DataExporterType, b as DataExporterFormat, P as PresentationMode } from './index-87e6efed.js';
4
+ import { D as DataExporterOption, d as DataExporterFormat, e as DataExporterType, P as PresentationMode } from './index-bd13bdcf.js';
5
5
  import { d as KEY_PORT_EXPORT, W as WEB_CONNECTION, R as REPORT_LAUNCHER_RESOURCE_ID, O as ORDER_VALUES } from './constants-965d7a7f.js';
6
6
  import { D as DataFetcher, C as ConfigStorage } from './ConfigStorage-4654f57b.js';
7
7
  import { EzScrollDirection } from '@sankhyalabs/ezui/dist/collection/components/ez-scroller/EzScrollDirection';
@@ -10,7 +10,7 @@ import { ModalAction, ModalButtonStatus } from '@sankhyalabs/ezui/dist/collectio
10
10
  import { toString } from '@sankhyalabs/core/dist/dataunit/metadata/DataType';
11
11
  import { CheckMode as CheckMode$1 } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
12
12
  import { A as AuthorizationConfig } from './AuthorizationConfig-dcbd207a.js';
13
- import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-025f6c0c.js';
13
+ import { T as TaskbarElement, V as VisibleWhenForbidden, A as AuthorizationElements, b as buildElem, a as buildCustomButton } from './taskbar-elements-8400dbe7.js';
14
14
  import './_commonjsHelpers-9943807e.js';
15
15
  import './index-e467ade5.js';
16
16
 
@@ -200,13 +200,8 @@ function webConnection(fileSessionKey, canPrint, canExport, application) {
200
200
  };
201
201
  application === null || application === void 0 ? void 0 : application.webConnection(keyPort, methodName, params);
202
202
  }
203
- function fileViewer({ fileSessionKey, canPrint, canExport, useAppPrint, isDownload, fileType }) {
203
+ function fileViewer({ fileSessionKey, canPrint, canExport, useAppPrint, isDownload }) {
204
204
  const application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
205
- if (isDownload && !canExport && fileType === DataExporterType.EXPORT_PAGE_TO_XLS) {
206
- const title = getMessage(application, "fileViewer.error.title");
207
- const message = getMessage(application, "fileViewer.error.message");
208
- return ApplicationUtils.error(title, message);
209
- }
210
205
  if (useAppPrint && !isDownload) {
211
206
  return webConnection(fileSessionKey, canPrint, canExport, application);
212
207
  }
@@ -339,7 +334,7 @@ const SnkDataExporter = class {
339
334
  }
340
335
  fetchDataExporter(params)
341
336
  .then((result) => callbackResolver(result))
342
- .catch(() => ApplicationUtils.error(this.getMessage("snkDataExporter.title.error"), this.getMessage("snkDataExporter.message.exportError")));
337
+ .catch((exception) => ApplicationUtils.error(this.getMessage("snkDataExporter.message.exportError"), exception ? exception.statusMessage : this.getMessage("snkDataExporter.message.exportError")));
343
338
  }
344
339
  getOptionKey(option) {
345
340
  return Object.keys(DataExporterOption)
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-cfd4bb13.js';
2
2
  import { Action, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
- import { O as OperationMap } from './SnkMessageBuilder-11038c4f.js';
4
+ import { O as OperationMap } from './SnkMessageBuilder-f0d50bd6.js';
5
5
 
6
6
  const snkDataUnitCss = ".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";
7
7
 
@@ -1,5 +1,6 @@
1
1
  import { h, r as registerInstance, g as getElement } from './index-cfd4bb13.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
+ import { ModalAction } from '@sankhyalabs/ezui/dist/collection/components/ez-modal-container';
3
4
 
4
5
  const EmailInfoStep = ({ getMessage, changeInfo, data }) => {
5
6
  const { format, email } = data || {};
@@ -116,8 +117,8 @@ const SnkExporterEmailSender = class {
116
117
  }
117
118
  render() {
118
119
  ElementIDUtils.addIDInfoIfNotExists(this._element, 'snkExporterEmailSender');
119
- return (h("ez-popup", { useHeader: false, size: "x-small", heightMode: "auto", opened: this._opened }, h("ez-modal-container", { onEzModalAction: evt => {
120
- if (evt.detail === "CLOSE")
120
+ return (h("ez-popup", { useHeader: false, size: "x-small", heightMode: "auto", opened: this._opened }, h("ez-modal-container", { onEzModalAction: (evt) => {
121
+ if (evt.detail === ModalAction.CLOSE)
121
122
  this.close();
122
123
  }, modalTitle: this.getMessage("snkExporter.emailSenderTitle"), modalSubTitle: this.getStepMessage("subTitle") }, h("ez-view-stack", { ref: ref => this._viewStack = ref }, h("stack-item", null, h(OptionsStep, { getMessage: this.getMessage, data: this._config, changeInfo: (field, value) => this.updateConfigInfo(field, value) })), h("stack-item", null, h(EmailInfoStep, { getMessage: this.getMessage, data: this._config, changeInfo: (field, value) => this.updateEmailInfo(field, value) }))), h("div", { class: "ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small" }, h("ez-button", Object.assign({ class: "ez-button--tertiary ez-padding-right--medium", label: this.getStepMessage("firstButton"), onClick: () => this.executeButtonAction(true), enabled: this.checkButtonEnabled(true) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("firstButton")}` })), h("ez-button", Object.assign({ class: this.getSecondButtonClass(), label: this.getStepMessage("secondButton"), onClick: () => this.executeButtonAction(false), enabled: this.checkButtonEnabled(false) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: `${ElementIDUtils.getInternalIDInfo("secondButton")}` }))))));
123
124
  }
@@ -0,0 +1,251 @@
1
+ import { r as registerInstance, h, g as getElement } from './index-cfd4bb13.js';
2
+ import { StringUtils, DataType, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
+ import { ModalAction } from '@sankhyalabs/ezui/dist/collection/components/ez-modal-container';
4
+ import { F as FilterOperand, a as FilterConfigType, b as FilterEntities, c as FilterUserConfigTypes } from './index-bd13bdcf.js';
5
+
6
+ class PersonalizedFilterUtils {
7
+ /**
8
+ * Cria uma expressão de filtro a partir de um IExpressionItem.
9
+ * @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
10
+ * @returns Retorna a expressão de filtro.
11
+ */
12
+ static buildFilterExpression(expressionItem) {
13
+ if (expressionItem == undefined) {
14
+ return;
15
+ }
16
+ const value = this.buildVariableParameterValue(expressionItem);
17
+ let expression = expressionItem.expression || "";
18
+ switch (expressionItem.operand) {
19
+ case FilterOperand.IN:
20
+ expression += ` ${expressionItem.operand} (${value})`;
21
+ break;
22
+ case FilterOperand.NULL:
23
+ case FilterOperand.NOT_NULL:
24
+ expression += ` IS ${value}`;
25
+ break;
26
+ case FilterOperand.LIKE:
27
+ expression += ` LIKE '%${value}%'`;
28
+ break;
29
+ case FilterOperand.START_WITH:
30
+ expression += ` LIKE '${value}%'`;
31
+ break;
32
+ case FilterOperand.FINISHED_WITH:
33
+ expression += ` LIKE '%${value}'`;
34
+ break;
35
+ default:
36
+ expression += ` ${expressionItem.operand} ${value}`;
37
+ }
38
+ return expression;
39
+ }
40
+ /**
41
+ * Obtém o valor do parâmetro a partir de um IExpressionItem.
42
+ * @param expressionItem - Objeto com os parâmetros necessários para montar a expressão.
43
+ * @returns Retorna o valor do parâmetro.
44
+ */
45
+ static buildVariableParameterValue(expressionItem) {
46
+ if (expressionItem == undefined) {
47
+ return;
48
+ }
49
+ if (expressionItem.systemConfig != undefined) {
50
+ const systemConfig = expressionItem.systemConfig;
51
+ return `?:{entidade=${systemConfig.entity || ""};campo=${systemConfig.fieldName || ""}}`;
52
+ }
53
+ if (expressionItem.userConfig != undefined) {
54
+ const userConfig = expressionItem.userConfig;
55
+ return `?:{desc=${userConfig.description || ""};tipo=${userConfig.type || ""}}`;
56
+ }
57
+ return `?:{entidade=${expressionItem.entityName || ""};campo=${expressionItem.fieldName || ""}}`;
58
+ }
59
+ }
60
+
61
+ const snkFilterParamConfigCss = ".sc-snk-filter-param-config-h{--snk-filter-param-config__expression--color:var(--title--primary, #2b3a54);display:flex;position:relative}.snk-filter-param-config__expression.sc-snk-filter-param-config{--text-area__input--disabled--color:var(--snk-filter-param-config__expression--color)}";
62
+
63
+ const SnkFilterParamConfig = class {
64
+ constructor(hostRef) {
65
+ registerInstance(this, hostRef);
66
+ this._opened = false;
67
+ this._configType = FilterConfigType.SYSTEM_CONFIG;
68
+ this._expressionItem = undefined;
69
+ this._informedInstance = false;
70
+ this._canSave = false;
71
+ }
72
+ open(expressionItem) {
73
+ this._opened = true;
74
+ this._expressionItem = expressionItem;
75
+ this.loadValues();
76
+ return new Promise(accept => {
77
+ this._promiseResolver = accept;
78
+ });
79
+ }
80
+ close() {
81
+ this._opened = false;
82
+ return new Promise(accept => {
83
+ this._promiseResolver = accept;
84
+ });
85
+ }
86
+ /**
87
+ * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
88
+ * através de um pequeno modulo na estrutura da aplicação:
89
+ * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
90
+ * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-param-config.msg.ts"
91
+ */
92
+ getMessage(key, params) {
93
+ return this._application.messagesBuilder.getMessage(key, params);
94
+ }
95
+ getConfigValue(configName, inputName, inputAlias = "") {
96
+ var _a, _b, _c;
97
+ return ((_b = (_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a[configName]) === null || _b === void 0 ? void 0 : _b[inputName])
98
+ || ((_c = this._expressionItem) === null || _c === void 0 ? void 0 : _c[inputAlias || inputName]);
99
+ }
100
+ loadValues() {
101
+ var _a;
102
+ const entityName = this.getConfigValue("systemConfig", "entity", "entityName");
103
+ const fieldName = this.getConfigValue("systemConfig", "fieldName");
104
+ const description = this.getConfigValue("userConfig", "description");
105
+ const type = this.getConfigValue("userConfig", "type");
106
+ if (((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.userConfig) != undefined) {
107
+ this._configType = FilterConfigType.USER_CONFIG;
108
+ }
109
+ else {
110
+ this._configType = FilterConfigType.SYSTEM_CONFIG;
111
+ }
112
+ if (!StringUtils.isEmpty(entityName) && !StringUtils.isEmpty(fieldName)) {
113
+ this._instanceElement.value = { value: entityName, label: "" };
114
+ this._fieldElement.value = { value: fieldName, label: "" };
115
+ }
116
+ if (!StringUtils.isEmpty(description) && !StringUtils.isEmpty(type)) {
117
+ this._descriptionElement.value = description;
118
+ this._typeElement.value = type;
119
+ }
120
+ this.buildFilterExpression();
121
+ }
122
+ changeDefinitionUsed(option) {
123
+ this._configType = option !== null && option !== void 0 ? option : FilterConfigType.SYSTEM_CONFIG;
124
+ if (this._configType === FilterConfigType.SYSTEM_CONFIG) {
125
+ const entityName = this.getConfigValue("systemConfig", "entity", "entityName");
126
+ const fieldName = this.getConfigValue("systemConfig", "fieldName");
127
+ this._instanceElement.value = this._instanceElement.value || { value: entityName, label: "" };
128
+ this._fieldElement.value = this._fieldElement.value || { value: fieldName, label: "" };
129
+ }
130
+ else if (this._configType === FilterConfigType.USER_CONFIG) {
131
+ const description = this.getConfigValue("userConfig", "description");
132
+ const type = this.getConfigValue("userConfig", "type");
133
+ this._descriptionElement.value = this._descriptionElement.value || description;
134
+ this._typeElement.value = this._typeElement.value || type;
135
+ }
136
+ this.buildFilterExpression();
137
+ }
138
+ getTypeValue() {
139
+ var _a;
140
+ const value = (_a = this._typeElement) === null || _a === void 0 ? void 0 : _a.value;
141
+ return ((value === null || value === void 0 ? void 0 : value.value) || value);
142
+ }
143
+ getExpressionValues() {
144
+ var _a, _b, _c, _d, _e;
145
+ let systemConfig;
146
+ let userConfig;
147
+ if (this._configType === FilterConfigType.SYSTEM_CONFIG) {
148
+ const entity = (_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value;
149
+ const fieldName = (_d = (_c = this._fieldElement) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.value;
150
+ systemConfig = { entity, fieldName };
151
+ }
152
+ else if (this._configType === FilterConfigType.USER_CONFIG) {
153
+ const description = (_e = this._descriptionElement) === null || _e === void 0 ? void 0 : _e.value;
154
+ const type = this.getTypeValue();
155
+ userConfig = { description, type };
156
+ }
157
+ return Object.assign(Object.assign(Object.assign({}, this._expressionItem), { systemConfig }), { userConfig });
158
+ }
159
+ isEnabled(value) {
160
+ return this._configType === value;
161
+ }
162
+ isInformedInstance() {
163
+ var _a, _b;
164
+ return !StringUtils.isEmpty((_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value);
165
+ }
166
+ save() {
167
+ var _a;
168
+ this._expressionItem = Object.assign(Object.assign({}, this.getExpressionValues()), { expression: (_a = this._expressionElement) === null || _a === void 0 ? void 0 : _a.value });
169
+ this._promiseResolver(this._expressionItem);
170
+ this._opened = false;
171
+ }
172
+ buildFilterExpression() {
173
+ var _a;
174
+ this._informedInstance = this.isInformedInstance();
175
+ const expression = PersonalizedFilterUtils.buildFilterExpression(this.getExpressionValues());
176
+ this._expressionElement.value = expression || ((_a = this._expressionItem) === null || _a === void 0 ? void 0 : _a.expression);
177
+ this._canSave = this.getCanSave();
178
+ }
179
+ handleChangeInstance() {
180
+ this._informedInstance = this.isInformedInstance();
181
+ if (this._fieldElement != undefined && !StringUtils.isEmpty(this._fieldElement.value)) {
182
+ this._fieldElement.value = null;
183
+ }
184
+ this.buildFilterExpression();
185
+ }
186
+ getInstanceCriteria() {
187
+ var _a, _b;
188
+ const value = (_b = (_a = this._instanceElement) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.value;
189
+ return {
190
+ expression: "this.NOMETAB = (SELECT NOMETAB FROM TDDINS WHERE NOMEINSTANCIA = ?)",
191
+ params: [
192
+ {
193
+ name: "NOMEINSTANCIA",
194
+ dataType: DataType.TEXT,
195
+ value
196
+ }
197
+ ]
198
+ };
199
+ }
200
+ onSearch({ mode, argument }, entity) {
201
+ if (this._application == undefined) {
202
+ return;
203
+ }
204
+ const isField = entity === FilterEntities.FIELD;
205
+ const criteria = isField ? this.getInstanceCriteria() : undefined;
206
+ const messageKey = `snkFilterParamConfig.label${isField ? "Field" : "Instance"}`;
207
+ const entityDescription = this.getMessage(messageKey);
208
+ const searchOptions = {
209
+ descriptionFieldName: isField ? "DESCRCAMPO" : "DESCRINSTANCIA",
210
+ codeFieldName: isField ? "NOMECAMPO" : "NOMEINSTANCIA",
211
+ showInactives: false
212
+ };
213
+ const options = {
214
+ entity,
215
+ entityDescription,
216
+ criteria,
217
+ searchOptions
218
+ };
219
+ return this._application.executePreparedSearch(mode, argument, options);
220
+ }
221
+ getElementID(sufix) {
222
+ return {
223
+ [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(sufix)
224
+ };
225
+ }
226
+ getCanSave() {
227
+ var _a;
228
+ if (this._configType === FilterConfigType.USER_CONFIG) {
229
+ const description = (_a = this._descriptionElement) === null || _a === void 0 ? void 0 : _a.value;
230
+ const type = this.getTypeValue();
231
+ return !StringUtils.isEmpty(description) && !StringUtils.isEmpty(type);
232
+ }
233
+ return true;
234
+ }
235
+ componentWillLoad() {
236
+ this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
237
+ }
238
+ render() {
239
+ ElementIDUtils.addIDInfoIfNotExists(this._element, 'snkFilterParamConfig');
240
+ return (h("ez-popup", Object.assign({ useHeader: false, size: "small", heightMode: "auto", opened: this._opened }, this.getElementID("popup")), h("ez-modal-container", Object.assign({ onEzModalAction: (evt) => {
241
+ if (evt.detail === ModalAction.CLOSE)
242
+ this.close();
243
+ }, modalTitle: this.getMessage("snkFilterParamConfig.modalTitle") }, this.getElementID("modalContainer")), h("div", { class: "ez-flex" }, h("div", { class: "ez-col ez-col--sd-6 ez-flex--column" }, h("ez-radio-button", Object.assign({ value: this._configType, onEzChange: (evt) => this.changeDefinitionUsed(evt.detail) }, this.getElementID("systemConfigOption")), h("ez-radio-button-option", { label: this.getMessage("snkFilterParamConfig.labelSystemConfig"), value: FilterConfigType.SYSTEM_CONFIG })), h("ez-search", Object.assign({ ref: (ref) => this._instanceElement = ref, label: this.getMessage("snkFilterParamConfig.labelInstance"), enabled: this.isEnabled(FilterConfigType.SYSTEM_CONFIG), suppressEmptyOption: true, showOptionValue: false, showSelectedValue: false, onEzChange: () => this.handleChangeInstance(), optionLoader: (searchArgument) => this.onSearch(searchArgument, FilterEntities.INSTANCE) }, this.getElementID("configFindEntity"))), h("ez-search", Object.assign({ ref: (ref) => this._fieldElement = ref, label: this.getMessage("snkFilterParamConfig.labelField"), enabled: this.isEnabled(FilterConfigType.SYSTEM_CONFIG) && this._informedInstance, suppressEmptyOption: true, showOptionValue: false, showSelectedValue: false, onEzChange: () => this.buildFilterExpression(), optionLoader: (searchArgument) => this.onSearch(searchArgument, FilterEntities.FIELD) }, this.getElementID("configFindField")))), h("div", { class: "ez-flex ez-padding--medium" }, h("hr", { class: "ez-divider-vertical" })), h("div", { class: "ez-col ez-col--sd-6 ez-flex--column" }, h("ez-radio-button", Object.assign({ value: this._configType, onEzChange: (evt) => this.changeDefinitionUsed(evt.detail) }, this.getElementID("userConfigOption")), h("ez-radio-button-option", { label: this.getMessage("snkFilterParamConfig.labelUserConfig"), value: FilterConfigType.USER_CONFIG })), h("ez-text-input", Object.assign({ ref: (ref) => this._descriptionElement = ref, label: this.getMessage("snkFilterParamConfig.labelDescription"), enabled: this.isEnabled(FilterConfigType.USER_CONFIG), onEzChange: () => this.buildFilterExpression() }, this.getElementID("configParamLabel"))), h("ez-combo-box", Object.assign({ ref: (ref) => this._typeElement = ref, label: this.getMessage("snkFilterParamConfig.labelType"), enabled: this.isEnabled(FilterConfigType.USER_CONFIG), suppressEmptyOption: true, onEzChange: () => this.buildFilterExpression() }, this.getElementID("configParamType")), Object.keys(FilterUserConfigTypes).map((configType) => {
244
+ return (h("option", { value: FilterUserConfigTypes[configType] }, this.getMessage(`snkFilterParamConfig.labelTypeValues.${configType.toLowerCase()}`)));
245
+ })))), h("ez-text-area", Object.assign({ ref: (ref) => this._expressionElement = ref, class: "snk-filter-param-config__expression", label: this.getMessage("snkFilterParamConfig.labelExpression"), enabled: false }, this.getElementID("presentationExpression"))), h("div", { class: "ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small" }, h("ez-button", Object.assign({ class: "ez-padding-right--medium", label: this.getMessage("snkFilterParamConfig.labelCancel"), onClick: () => this.close() }, this.getElementID("cancelEditParam"))), h("ez-button", Object.assign({ class: "ez-button--primary", label: this.getMessage("snkFilterParamConfig.labelSave"), onClick: () => this.save(), enabled: this._canSave }, this.getElementID("saveEditParam")))))));
246
+ }
247
+ get _element() { return getElement(this); }
248
+ };
249
+ SnkFilterParamConfig.style = snkFilterParamConfigCss;
250
+
251
+ export { SnkFilterParamConfig as snk_filter_param_config };
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
2
2
  import { DateUtils, ObjectUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
3
  import { C as ConfigStorage } from './ConfigStorage-4654f57b.js';
4
- import { P as PresentationMode } from './index-87e6efed.js';
4
+ import { P as PresentationMode } from './index-bd13bdcf.js';
5
5
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
6
6
  import './_commonjsHelpers-9943807e.js';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-cfd4bb13.js';
2
- import { P as PresentationMode } from './index-87e6efed.js';
2
+ import { P as PresentationMode } from './index-bd13bdcf.js';
3
3
  import { s as store } from './index-e467ade5.js';
4
4
 
5
5
  var TaskbarElement;
@@ -0,0 +1 @@
1
+ import{h as e,r as t,g as n}from"./p-b9667fbe.js";import{ElementIDUtils as o}from"@sankhyalabs/core";import{ModalAction as i}from"@sankhyalabs/ezui/dist/collection/components/ez-modal-container";const s=({getMessage:t,changeInfo:n,data:i})=>{const{format:s,email:l}=i||{};return e("div",null,e("ez-text-input",Object.assign({label:`${t("snkExporter.emailSenderInfoStep_sendTo")} (obrigatório) *`,value:null==l?void 0:l.to,onEzChange:e=>{var t;return n("to",null===(t=e.detail)||void 0===t?void 0:t.trim())}},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("sendTo")}`})),e("ez-text-input",Object.assign({label:`${t("snkExporter.emailSenderInfoStep_subject")} (obrigatório) *`,value:null==l?void 0:l.subject,onEzChange:e=>{var t;return n("subject",null===(t=e.detail)||void 0===t?void 0:t.trim())}},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("subject")}`})),e("ez-text-area",Object.assign({label:t("snkExporter.emailSenderInfoStep_message"),value:null==l?void 0:l.message,onEzChange:e=>n("message",e.detail)},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("message")}`})),((null==l?void 0:l.attachments)||[]).map(((t,n)=>e("ez-file-item",Object.assign({class:"ez-padding-bottom--large",fileName:`${t.name}.${s}`,fileSize:t.size,canRemove:!1},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("fileItem_")+(n+1)}`})))))},l=({getMessage:t,changeInfo:n,data:i})=>{const s=(null==i?void 0:i.selectedRows)||0,l=[{label:t("snkExporter.emailSenderOptStep_formatPDF"),value:"pdf"},{label:t("snkExporter.emailSenderOptStep_formatXLSX"),value:"xlsx"}],a=[{label:t("snkExporter.emailSenderOptStep_allData"),value:"all"},{label:t("snkExporter.emailSenderOptStep_currentPage"),value:"page"}];if(s>0){const e=t(s>1?"snkExporter.emailSenderOptStep_someRecords":"snkExporter.emailSenderOptStep_oneRecord",{SELECTION_COUNT:s});a.push({label:e,value:"selection"})}return e("div",null,e("ez-radio-button",Object.assign({class:"ez-margin-bottom--large"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("formato")}`},{label:t("snkExporter.emailSenderOptStep_lblFormat"),direction:"horizontal",value:null==i?void 0:i.format,onEzChange:e=>n("format",e.detail),options:l})),e("ez-radio-button",Object.assign({class:"ez-margin-bottom--large"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("type")}`},{label:t("snkExporter.emailSenderOptStep_export"),value:(null==i?void 0:i.type)||"all",onEzChange:e=>n("type",e.detail),options:a})))},a=class{constructor(e){t(this,e),this._stepInfo=[{subTitle:"snkExporter.emailSenderOptStep_subtitle",firstButton:"snkExporter.emailSenderCancelButton",secondButton:"snkExporter.emailSenderNextButton",firstButtonAction:()=>this.close(),secondButtonAction:()=>this.changeStep(1)},{subTitle:"snkExporter.emailSenderInfoStep_subtitle",firstButton:"snkExporter.emailSenderBackButton",secondButton:"snkExporter.emailSenderSendButton",firstButtonAction:()=>this.changeStep(0),secondButtonAction:()=>this.send(),secondButtonEnabledTester:()=>this.isFilled(),secondButtonClass:"ez-button--primary"}],this._config=void 0,this._opened=!1,this._currentStep=0,this.getMessage=void 0}open(e){var t;return this._config=Object.assign(Object.assign({},e),{format:null!==(t=null==e?void 0:e.format)&&void 0!==t?t:"pdf"}),this._opened=!0,this.changeStep(0),new Promise((e=>{this._promiseResolver=e}))}close(){return this._opened=!1,new Promise((e=>{this._promiseResolver=e}))}getStepMessage(e){return this.getMessage((this._stepInfo[this._currentStep]||{})[e])}executeButtonAction(e){(this._stepInfo[this._currentStep]||{})[e?"firstButtonAction":"secondButtonAction"]()}checkButtonEnabled(e){const t=(this._stepInfo[this._currentStep]||{})[e?"firstButtonEnabledTester":"secondButtonEnabledTester"];return!t||t()}changeStep(e){this._currentStep=e,this._viewStack&&this._viewStack.show(this._currentStep)}send(){const{format:e,type:t,email:n,resolver:o}=this._config;o({format:e,type:t,email:n,report:void 0})}isFilled(){var e,t;return!(!(null===(e=this._config.email)||void 0===e?void 0:e.to)||!(null===(t=this._config.email)||void 0===t?void 0:t.subject))}updateEmailInfo(e,t){this._config=Object.assign(Object.assign({},this._config),{email:Object.assign(Object.assign({},this._config.email),{[e]:t})})}updateConfigInfo(e,t){this._config=Object.assign(Object.assign({},this._config),{[e]:t})}getSecondButtonClass(){return(this._stepInfo[this._currentStep]||{}).secondButtonClass||"ez-button--secondary"}render(){return o.addIDInfoIfNotExists(this._element,"snkExporterEmailSender"),e("ez-popup",{useHeader:!1,size:"x-small",heightMode:"auto",opened:this._opened},e("ez-modal-container",{onEzModalAction:e=>{e.detail===i.CLOSE&&this.close()},modalTitle:this.getMessage("snkExporter.emailSenderTitle"),modalSubTitle:this.getStepMessage("subTitle")},e("ez-view-stack",{ref:e=>this._viewStack=e},e("stack-item",null,e(l,{getMessage:this.getMessage,data:this._config,changeInfo:(e,t)=>this.updateConfigInfo(e,t)})),e("stack-item",null,e(s,{getMessage:this.getMessage,data:this._config,changeInfo:(e,t)=>this.updateEmailInfo(e,t)}))),e("div",{class:"ez-col ez-col--sd-12 ez-flex--justify-end ez-margin-vertical--small"},e("ez-button",Object.assign({class:"ez-button--tertiary ez-padding-right--medium",label:this.getStepMessage("firstButton"),onClick:()=>this.executeButtonAction(!0),enabled:this.checkButtonEnabled(!0)},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("firstButton")}`})),e("ez-button",Object.assign({class:this.getSecondButtonClass(),label:this.getStepMessage("secondButton"),onClick:()=>this.executeButtonAction(!1),enabled:this.checkButtonEnabled(!1)},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("secondButton")}`})))))}get _element(){return n(this)}};export{a as snk_exporter_email_sender}
@@ -1 +1 @@
1
- const e={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Aleração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão descartada!",update:"A edição foi descartada!"},confirm:{cancel:"Cancelar",delete:"Excluir"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Aviso",removeConfirmation:"Deseja realmente excluir o registro atual?",forbidden:"Sem permissão",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso."},a={addFilter:"Adicionar filtro",pinFilter:"Fixar filtro",unpinFilter:"Desfixar filtro",removeFilter:"Remover filtro",cleanFilter:"Limpar",applyFilter:"Aplicar",findFilter:"Buscar filtros...",findField:"Buscar filtros...",modalFindFilter:"Buscar filtro",emptyFiltersList:"Não há filtros disponíveis",emptyAppliedFiltersList:"Não há filtros aplicados",customFilter:"Filtro personalizado",defaultFilter:"Filtro padrão",failToLoadConfig:"Falha ao buscar configuração de filtros",clearAllFilters:"Limpar todos os filtros",successfullyCleaned:"Filtro limpo com sucesso!",activeFilter:"{{ACTIVE_FILTERS}} filtro aplicado",activeFilters:"{{ACTIVE_FILTERS}} filtros aplicados",noActiveFilters:"Nenhum filtro aplicado",modalDefaultFilterTitle:"Filtro padrão",modalInfoTextEditDefault:"Use o layout antigo para editar o seu filtro padrão, em breve traremos uma nova experiência.",modalInfoTextCreateDefault:"Use o layout antigo para criar o seu filtro padrão, em breve traremos uma nova experiência.",modalPersonalizedFilterTitle:"Filtro personalizado",modalPersonalizedFilterSubTitle:"Gerencie seus filtros",modalInfoTextCreateEditPersonalized:"Use o layout antigo para criar ou editar filtros, em breve traremos uma nova experiência",modalOkButtonLabel:"Aplicar",modalCancelButtonLabel:"Limpar"},r={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleFormMode:"Modo Formulário",titleConfigurator:"Configurações",forbidden:"Permissão não liberada"},o={errorArray:"CrudUtils.find deve receber um array de fields, ou uma lista separada por virgula."},i={emailSenderTitle:"Enviar por email",emailSenderBackButton:"Voltar",emailSenderNextButton:"Avançar",emailSenderCancelButton:"Cancelar",emailSenderSendButton:"Enviar",emailSenderOptStep_subtitle:"Primeiro, escolha o formato do arquivo",emailSenderOptStep_lblFormat:"Formato:",emailSenderOptStep_formatPDF:"PDF (.pdf)",emailSenderOptStep_formatXLSX:"Planilha (.xlsx)",emailSenderOptStep_export:"Exportar:",emailSenderOptStep_allData:"Toda a grade",emailSenderOptStep_currentPage:"Somente a página atual",emailSenderOptStep_someRecords:"{{SELECTION_COUNT}} linhas selecionadas",emailSenderOptStep_oneRecord:"Somente a linha selecionada",emailSenderInfoStep_subtitle:"Informações de email",emailSenderInfoStep_sendTo:"Enviar para",emailSenderInfoStep_subject:"Assunto",emailSenderInfoStep_message:"Mensagem"},l={error:{title:"Erro na Exportação",message:"O usuário não possui permissão para exportar o arquivo."},message:{exportSuccess:"Exportado com sucesso!"}},s={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},goBackTitle:"Voltar"},t={label:{nameField:"Nome do Campo *",typeValueDefault:"Tipo de valor padrão *",valueDefault:"Valor Padrão",clearDuplicate:"Limpar ao Duplicar",requiredField:"Campo Obrigatório",protectedField:"Campo Protegido"},options:{valueFixed:"Valor Fixo",variable:"Variável"}},n={title:"Configuração do formulário",applyConfig:"Aplicar configuração",availableFields:{title:"Campos disponíveis",labelNoFields:"Nenhum campo disponível",labelOneField:"1 campo disponível",labelAvailableFields:"Campos disponíveis",labelSearchField:"Procurar campo"},form:{subTitleInfo:"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário!",labelDropField:"Arraste e solte um campo aqui",labelNewGroup:"Adicionar novo grupo",mainArea:"Área principal",tabGeneral:"Geral"},confirm:{title:"Aviso",deleteTab:"Você realmente deseja excluir a aba",cancel:"As alterações realizadas serão descartadas.<br/><br/><b>Gostaria de continuar?</b>",exit:"Ao sair as alterações serão descartadas.<br/><br/><b>Você realmente gostaria de sair?</b>",apply:"A <b>{0}</b> irá substituir a sua configuração {1}!<br/><br/><b>Deseja continuar?</b>",group:"Não é possível salvar as configurações com um grupo vazio!",labelCancel:"Cancelar",labelDelete:"Excluir"},alert:{titleGroupExists:"Já existe um grupo com título",infoValidTitle:"Por favor, digite um título válido.",inTab:"na aba"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"}},d={titleRemove:"Remover",titleConfigurations:"Configurações",titleAdd:"Adicionar"},u={labelRename:"Renomear",labelHide:"Ocultar",labelShow:"Exibir",labelDelete:"Excluir"},c={titleConfigurations:"Configurações",subTitleModeConfig:"Modo de visualização",labelConfigGrid:"Configurar grade",labelConfigForm:"Configurar formulário",labelGrid:"Grade",labelForm:"Formulário"},p={},m={gridConfiguration:"Configuração da Grade",columnVisibilityOrder:"Defina visibilidade e ordem das colunas.",sortingSequence:"Sequência da ordenação",findColumn:"Localizar coluna",cancel:"Cancelar",complete:"Concluir",tab:{columns:"Colunas",lineOrdering:"Ordenação das linhas"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"},confirm:{cancel:"Descartar",save:"Salvar",alert:"Aviso",msgCancel:"As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?"},group:{visible:"Visíveis",hidden:"Ocultas"}},f={group:{export:{default:"Exportar para",multiSelected:"Exportar {0} linhas selecionadas",selectedLine:"Exportar somente 1 linha selecionada",title:"Exportar"},custom:"Personalizado"},label:{currentPage:"Somente a página atual",spreadsheet:"Planilha",cube:"Cubo",sendByEmail:"Enviar por email"},message:{emailSuccess:"E-mail enviado com sucesso",exportError:"Erro ao realizar a exportação",exportPermission:"O usuário não possui permissão para exportar o arquivo."},title:{error:"Erro"},limitExceeded:{title:"Atenção",description:"Apenas os {{limit}} primeiros registros serão exportados. Deseja continuar?",subdescription:"Caso seja necessária uma quantidade maior de registros exportados, utilize o Extrator de Dados através de um Relatório Personalizado.",cancel:"Cancelar",continue:"Continuar"}};class g{constructor(){this._defaults={snkDataUnit:e,snkForm:s,snkFormConfig:n,snkConfigOptions:t,snkTaskbar:r,snkFieldConfig:d,snkFilterBar:a,snkConfigurator:c,snkTabConfig:u,crudUtils:o,snkGrid:p,snkGridConfig:m,snkExporter:i,snkDataExporter:f,fileViewer:l},this._currentOperation=v.CLEAN,this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,a){if(null==e)return;var r=e.split(".");let o=this.resolveMessage(r,this._appMessages);if(null==o&&(o=this.resolveMessage(r,this._defaults)),this.customMessageBuilder){const r=this.customMessageBuilder(e,o,a);o=r.message,a=r.params}return this.postProcess(o,a)}resolveMessage(e,a){if(null==a)return;const r=a[e[0]];return r?this.isOperationSensitive(r)?r[this._currentOperation]:1===e.length||null==r||"string"==typeof r?r:this.resolveMessage(e.slice(1),r):void 0}isOperationSensitive(e){return null!=e[v.CLONE]||null!=e[v.INSERT]||null!=e[v.UPDATE]||null!=e[v.CLEAN]}postProcess(e,a){if(e){const r=/(.*?)\{\{(.+?)\}\}/g;let o,i="",l=e;for(;null!==(o=r.exec(e));){const[r,s,t]=o,n=o.index+r.length;l=n<e.length?e.substring(n):"";let d=a?a[t]:void 0;null==d&&(d=""),i+=s+d}return i+l}return e}loadAppMessages(){return new Promise(((e,a)=>{const r="dev"!==window.applicationenv?`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/build/messages/appmessages.js`:"/messages/appmessages.js";import(r).then((a=>{e(a.default)})).catch((e=>{a(e)}))}))}}var v;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(v||(v={}));export{v as O,g as S}
1
+ const e={saveInfo:{clone:"Duplicação realizada!",insert:"Inclusão realizada!",update:"Aleração realizada!"},cancelInfo:{clone:"Duplicação descartada!",insert:"A inclusão descartada!",update:"A edição foi descartada!"},confirm:{cancel:"Cancelar",delete:"Excluir"},removeInfo:"Registro removido com sucesso!",cancelConfirmationTitle:"Aviso",cancelConfirmation:"As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?",removeConfirmationTitle:"Aviso",removeConfirmation:"Deseja realmente excluir o registro atual?",forbidden:"Sem permissão",forbiddenUpdate:"Não é possível fazer alterações. Verifique as permissões de acesso.",forbiddenInsert:"Não é possível incluir. Verifique as permissões de acesso.",forbiddenClone:"Não é possível duplicar. Verifique as permissões de acesso.",forbiddenRemove:"Não é possível remover. Verifique as permissões de acesso."},a={addFilter:"Adicionar filtro",pinFilter:"Fixar filtro",unpinFilter:"Desfixar filtro",removeFilter:"Remover filtro",cleanFilter:"Limpar",applyFilter:"Aplicar",findFilter:"Buscar filtros...",findField:"Buscar filtros...",modalFindFilter:"Buscar filtro",emptyFiltersList:"Não há filtros disponíveis",emptyAppliedFiltersList:"Não há filtros aplicados",customFilter:"Filtro personalizado",defaultFilter:"Filtro padrão",failToLoadConfig:"Falha ao buscar configuração de filtros",clearAllFilters:"Limpar todos os filtros",successfullyCleaned:"Filtro limpo com sucesso!",activeFilter:"{{ACTIVE_FILTERS}} filtro aplicado",activeFilters:"{{ACTIVE_FILTERS}} filtros aplicados",noActiveFilters:"Nenhum filtro aplicado",modalDefaultFilterTitle:"Filtro padrão",modalInfoTextEditDefault:"Use o layout antigo para editar o seu filtro padrão, em breve traremos uma nova experiência.",modalInfoTextCreateDefault:"Use o layout antigo para criar o seu filtro padrão, em breve traremos uma nova experiência.",modalPersonalizedFilterTitle:"Filtro personalizado",modalPersonalizedFilterSubTitle:"Gerencie seus filtros",modalInfoTextCreateEditPersonalized:"Use o layout antigo para criar ou editar filtros, em breve traremos uma nova experiência",modalOkButtonLabel:"Aplicar",modalCancelButtonLabel:"Limpar"},r={titleUpdate:"Editar",titlePrevious:"Anterior",titleNext:"Próximo",titleRefresh:"Atualizar",titleClone:"Duplicar",titleRemove:"Excluir",titleMoreOptions:"Mais Opções",titleInsert:"Cadastrar",titleCancel:"Cancelar",titleSave:"Salvar",titleGridMode:"Modo Grade",titleFormMode:"Modo Formulário",titleConfigurator:"Configurações",forbidden:"Permissão não liberada"},o={errorArray:"CrudUtils.find deve receber um array de fields, ou uma lista separada por virgula."},i={emailSenderTitle:"Enviar por email",emailSenderBackButton:"Voltar",emailSenderNextButton:"Avançar",emailSenderCancelButton:"Cancelar",emailSenderSendButton:"Enviar",emailSenderOptStep_subtitle:"Primeiro, escolha o formato do arquivo",emailSenderOptStep_lblFormat:"Formato:",emailSenderOptStep_formatPDF:"PDF (.pdf)",emailSenderOptStep_formatXLSX:"Planilha (.xlsx)",emailSenderOptStep_export:"Exportar:",emailSenderOptStep_allData:"Toda a grade",emailSenderOptStep_currentPage:"Somente a página atual",emailSenderOptStep_someRecords:"{{SELECTION_COUNT}} linhas selecionadas",emailSenderOptStep_oneRecord:"Somente a linha selecionada",emailSenderInfoStep_subtitle:"Informações de email",emailSenderInfoStep_sendTo:"Enviar para",emailSenderInfoStep_subject:"Assunto",emailSenderInfoStep_message:"Mensagem"},l={error:{title:"Erro na Exportação",message:"O usuário não possui permissão para exportar o arquivo."},message:{exportSuccess:"Exportado com sucesso!"}},s={title:{clone:"Duplicar registro",insert:"Cadastrar registro",update:"Alterar registro",clean:"{{ENTITY_NAME}}"},goBackTitle:"Voltar"},t={label:{nameField:"Nome do Campo *",typeValueDefault:"Tipo de valor padrão *",valueDefault:"Valor Padrão",clearDuplicate:"Limpar ao Duplicar",requiredField:"Campo Obrigatório",protectedField:"Campo Protegido"},options:{valueFixed:"Valor Fixo",variable:"Variável"}},n={title:"Configuração do formulário",applyConfig:"Aplicar configuração",availableFields:{title:"Campos disponíveis",labelNoFields:"Nenhum campo disponível",labelOneField:"1 campo disponível",labelAvailableFields:"Campos disponíveis",labelSearchField:"Procurar campo"},form:{subTitleInfo:"Inclua estes campos nos grupos ou deixe-os separados no topo do formulário!",labelDropField:"Arraste e solte um campo aqui",labelNewGroup:"Adicionar novo grupo",mainArea:"Área principal",tabGeneral:"Geral"},confirm:{title:"Aviso",deleteTab:"Você realmente deseja excluir a aba",cancel:"As alterações realizadas serão descartadas.<br/><br/><b>Gostaria de continuar?</b>",exit:"Ao sair as alterações serão descartadas.<br/><br/><b>Você realmente gostaria de sair?</b>",apply:"A <b>{0}</b> irá substituir a sua configuração {1}!<br/><br/><b>Deseja continuar?</b>",group:"Não é possível salvar as configurações com um grupo vazio!",labelCancel:"Cancelar",labelDelete:"Excluir"},alert:{titleGroupExists:"Já existe um grupo com título",infoValidTitle:"Por favor, digite um título válido.",inTab:"na aba"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"}},d={titleRemove:"Remover",titleConfigurations:"Configurações",titleAdd:"Adicionar"},u={labelRename:"Renomear",labelHide:"Ocultar",labelShow:"Exibir",labelDelete:"Excluir"},c={titleConfigurations:"Configurações",subTitleModeConfig:"Modo de visualização",labelConfigGrid:"Configurar grade",labelConfigForm:"Configurar formulário",labelGrid:"Grade",labelForm:"Formulário"},p={},m={gridConfiguration:"Configuração da Grade",columnVisibilityOrder:"Defina visibilidade e ordem das colunas.",sortingSequence:"Sequência da ordenação",findColumn:"Localizar coluna",cancel:"Cancelar",complete:"Concluir",tab:{columns:"Colunas",lineOrdering:"Ordenação das linhas"},info:{successfullyConfigSaved:"As configurações foram salvas com sucesso!"},confirm:{cancel:"Descartar",save:"Salvar",alert:"Aviso",msgCancel:"As alterações realizadas serão descartadas. Gostaria de salvar antes de sair?"},group:{visible:"Visíveis",hidden:"Ocultas"}},f={group:{export:{default:"Exportar para",multiSelected:"Exportar {0} linhas selecionadas",selectedLine:"Exportar somente 1 linha selecionada",title:"Exportar"},custom:"Personalizado"},label:{currentPage:"Somente a página atual",spreadsheet:"Planilha",cube:"Cubo",sendByEmail:"Enviar por email"},message:{emailSuccess:"E-mail enviado com sucesso",exportError:"Usuário sem permissão",exportPermission:"O usuário não possui permissão para exportar o arquivo."},title:{error:"Erro"},limitExceeded:{title:"Atenção",description:"Apenas os {{limit}} primeiros registros serão exportados. Deseja continuar?",subdescription:"Caso seja necessária uma quantidade maior de registros exportados, utilize o Extrator de Dados através de um Relatório Personalizado.",cancel:"Cancelar",continue:"Continuar"}},b={modalTitle:"Configuração de parâmetro variável",labelSystemConfig:"Usar definições do sistema",labelUserConfig:"Usar definições personalizadas",labelInstance:"Categoria",labelField:"Campo",labelDescription:"Descrição (obrigatório) *",labelType:"Tipo (obrigatório) *",labelTypeValues:{date:"Data",text:"Texto",integer:"Número Inteiro",decimal:"Número com Decimal"},labelExpression:"Expressão",labelCancel:"Cancelar",labelSave:"Salvar"};class g{constructor(){this._defaults={snkDataUnit:e,snkForm:s,snkFormConfig:n,snkConfigOptions:t,snkTaskbar:r,snkFieldConfig:d,snkFilterBar:a,snkConfigurator:c,snkTabConfig:u,crudUtils:o,snkGrid:p,snkGridConfig:m,snkExporter:i,snkDataExporter:f,fileViewer:l,snkFilterParamConfig:b},this._currentOperation=v.CLEAN,this.loadAppMessages().then((e=>{this._appMessages=e}),(e=>{console.info("O arquivo de mensagens personalizadas não foi encontrado no caminho /messages/appmessages.js",e)}))}set currentOperation(e){this._currentOperation=e}getMessage(e,a){if(null==e)return;var r=e.split(".");let o=this.resolveMessage(r,this._appMessages);if(null==o&&(o=this.resolveMessage(r,this._defaults)),this.customMessageBuilder){const r=this.customMessageBuilder(e,o,a);o=r.message,a=r.params}return this.postProcess(o,a)}resolveMessage(e,a){if(null==a)return;const r=a[e[0]];return r?this.isOperationSensitive(r)?r[this._currentOperation]:1===e.length||null==r||"string"==typeof r?r:this.resolveMessage(e.slice(1),r):void 0}isOperationSensitive(e){return null!=e[v.CLONE]||null!=e[v.INSERT]||null!=e[v.UPDATE]||null!=e[v.CLEAN]}postProcess(e,a){if(e){const r=/(.*?)\{\{(.+?)\}\}/g;let o,i="",l=e;for(;null!==(o=r.exec(e));){const[r,s,t]=o,n=o.index+r.length;l=n<e.length?e.substring(n):"";let d=a?a[t]:void 0;null==d&&(d=""),i+=s+d}return i+l}return e}loadAppMessages(){return new Promise(((e,a)=>{const r="dev"!==window.applicationenv?`/${window.MGE_MODULE_NAME}/labsApps/${window.APPLICATION_NAME}/build/messages/appmessages.js`:"/messages/appmessages.js";import(r).then((a=>{e(a.default)})).catch((e=>{a(e)}))}))}}var v;!function(e){e.CLONE="clone",e.INSERT="insert",e.UPDATE="update",e.CLEAN="clean"}(v||(v={}));export{v as O,g as S}
@@ -0,0 +1 @@
1
+ var o,a,t,n,e,r,i,L;!function(o){o.PRIMARY="primary",o.SECONDARY="secondary"}(o||(o={})),function(o){o.EXPORT_TO_PDF="exportToPDF",o.EXPORT_TO_XLS="exportToXLS",o.EXPORT_CURRENT_PAGE="exportCurrentPage",o.EXPORT_PAGE_TO_PDF="exportPageToPDF",o.EXPORT_PAGE_TO_XLS="exportPageToXLS",o.EXPORT_BY_EMAIL="exportToEmail",o.EXPORT_PDF_TO_EMAIL="exportPDFToEmail",o.EXPORT_XLS_TO_EMAIL="exportXLSToEmail"}(a||(a={})),function(o){o.PDF="exportPDFToEmail",o.XLS="exportXLSToEmail",o.XLSX="exportXLSToEmail"}(t||(t={})),function(o){o.EXPORT_TO_PDF="PDF",o.EXPORT_TO_XLS="XLS",o.EXPORT_PAGE_TO_PDF="PDF",o.EXPORT_PAGE_TO_XLS="XLS",o.EXPORT_PDF_TO_EMAIL="PDF",o.EXPORT_XLS_TO_EMAIL="XLS"}(n||(n={})),function(o){o.SYSTEM_CONFIG="S",o.USER_CONFIG="E"}(e||(e={})),function(o){o.DATE="D",o.TEXT="S",o.INTEGER="I",o.DECIMAL="F"}(r||(r={})),function(o){o.AND="AND",o.OR="OR",o.IN="IN",o.DIFFERENT="<>",o.LIKE="LIKE",o.START_WITH="LIKE_START",o.FINISHED_WITH="LIKE_END",o.NULL="NULL",o.NOT_NULL="NOT NULL",o.EQUAL="=",o.LARGER=">",o.LARGER_EQUAL=">=",o.SMALLER="<",o.SMALLER_EQUAL="<="}(i||(i={})),function(o){o.FIELD="Campo",o.INSTANCE="Instancia"}(L||(L={}));export{a as D,i as F,o as P,e as a,L as b,r as c,t as d,n as e}
@@ -1 +1 @@
1
- import{r as t,c as i,h as s,g as e,H as n}from"./p-b9667fbe.js";import{Action as a,ApplicationContext as h}from"@sankhyalabs/core";import{ApplicationUtils as o,DialogType as r}from"@sankhyalabs/ezui/dist/collection/utils";import{O as c}from"./p-87ef5482.js";const l=class{constructor(s){t(this,s),this.dataStateChange=i(this,"dataStateChange",3),this.dataUnitReady=i(this,"dataUnitReady",3),this.insertionMode=i(this,"insertionMode",3),this.cancelEdition=i(this,"cancelEdition",3),this._onDataUnitResolve=[],this._dataUnitObserver=t=>{const i={insertionMode:!1,hasNext:this.dataUnit.hasNext(),hasPrevious:this.dataUnit.hasPrevious(),copyMode:!1,isDirty:this.dataUnit.isDirty(),hasDirtyRecords:this.dataUnit.hasDirtyRecords(),selectedRecords:this.dataUnit.getSelectedRecords(),selectedRecord:this.dataUnit.getSelectedRecord()};if(this.dataUnit.records.forEach((t=>{t.__record__id__.startsWith("NEW_")&&(i.insertionMode=!0,i.copyMode||(i.copyMode=null!=t.__record__source__id__))})),this.dataState=i,t.type===a.DATA_SAVED){const i=this.getMessage("snkDataUnit.saveInfo",t.payload.records[0]);null!=i&&this.showSuccessMessage(i)}if(t.type!==a.RECORDS_ADDED&&t.type!==a.RECORDS_COPIED||this.insertionMode.emit(),t.type===a.EDITION_CANCELED&&this.cancelEdition.emit(),t.type===a.RECORDS_REMOVED){const i=this.getMessage("snkDataUnit.removeInfo",t.payload.cachedRecords[0]);null!=i&&this.showSuccessMessage(i)}this._application.messagesBuilder.currentOperation=this.getMessageOperation()},this.dataState=void 0,this.dataUnitName=void 0,this.entityName=void 0,this.pageSize=150,this.dataUnit=void 0,this.beforeSave=void 0,this.afterSave=void 0}observePageSize(){this.dataUnit&&(this.dataUnit.pageSize=this.pageSize)}observeDataUnitName(t,i){i!=t&&(this.dataUnit=void 0,this.dataUnitName=t,this.loadDataUnit())}observeEntityName(t,i){i!=t&&(this.dataUnit=void 0,this.entityName=t,this.loadDataUnit())}observeDataState(t,i){i!=t&&this.dataStateChange.emit(t)}observeDataUnit(){this.handlerLinkFields(),this.dataUnitReady.emit(this.dataUnit)}async getDataUnit(){return new Promise((t=>{this.dataUnit?t(this.dataUnit):this._onDataUnitResolve.push(t)}))}async getSelectedRecordsIDsInfo(){var t;const i=[],s=null===(t=this.dataUnit)||void 0===t?void 0:t.getSelectedRecords();return(null==s?void 0:s.length)>0&&s.forEach((({__record__id__:t})=>{if(!this.dataUnit.isNewRecord(t)){const s=JSON.parse(window.atob(t));Object.entries(s).forEach((([t,s])=>{var e;const n=null===(e=this.dataUnit)||void 0===e?void 0:e.getField(t);null!=n&&i.push(Object.assign({name:t,type:n.dataType},s))}))}})),i}async interceptAction(t){return new Promise((i=>{switch(t.type){case a.RECORDS_ADDED:this.isAllowed("INSERT")?i(t):o.info(this.getMessage("snkDataUnit.forbiddenInsert"));break;case a.RECORDS_COPIED:this.isAllowed("CLONE")?i(t):o.info(this.getMessage("snkDataUnit.forbiddenClone"));break;case a.DATA_CHANGED:case a.CHANGING_DATA:this.isAllowed("UPDATE")?i(t):(this.dataUnit.cancelEdition(),o.alert(this.getMessage("snkDataUnit.forbidden"),this.getMessage("snkDataUnit.forbiddenUpdate")));break;case a.SAVING_DATA:if(this.beforeSave){const s=this.beforeSave(this.dataUnit);s instanceof Promise?s.then((s=>i(s?t:void 0))):i(s?t:void 0)}else i(t);break;case a.DATA_SAVED:this.afterSave?this.afterSave(this.dataUnit):i(t);break;case a.EDITION_CANCELED:if(this.dataState.hasDirtyRecords){const s=this.getMessage("snkDataUnit.cancelConfirmation");if(null==s)this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(t);else{const e=this.getMessage("snkDataUnit.cancelConfirmationTitle");o.confirm(e,s).then((s=>{this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(s?t:void 0)}))}}else i(t);break;case a.REMOVING_RECORDS:if(this.isAllowed("REMOVE")){const s=this.getMessage("snkDataUnit.removeConfirmation");if(null==s)i(t);else{const e={canClose:!1,labelCancel:this.getMessage("snkDataUnit.confirm.cancel"),labelConfirm:this.getMessage("snkDataUnit.confirm.delete"),btnConfirmDanger:!1},n=this.getMessage("snkDataUnit.removeConfirmationTitle");o.confirm(n,s,null,r.WARN,e).then((s=>i(s?t:void 0)))}}else o.info(this.getMessage("snkDataUnit.forbiddenRemove"));break;default:i(t)}}))}showSuccessMessage(t){o.info(t,{iconName:"check"})}isAllowed(t){return!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getMessage(t,i){return i||(i=this.getMessageParams()),this._application.messagesBuilder.getMessage(t,i)}getMessageParams(){return this.dataState.selectedRecords?this.dataState.selectedRecords[0]:void 0}getMessageOperation(){return this.dataState.copyMode?c.CLONE:this.dataState.insertionMode?c.INSERT:this.dataState.isDirty?c.UPDATE:c.CLEAN}async getDataUnitParentOrChild(){var t;const i=this.dataUnitName?this.dataUnitName:this.entityName;return this._parentSnkDataUnit?(this._parentDataUnit=await(null===(t=this._parentSnkDataUnit)||void 0===t?void 0:t.getDataUnit()),await this._application.getDataUnit(this.entityName,void 0,this._parentDataUnit)):await this._application.getDataUnit(this.entityName,i)}async loadDataUnit(){if(!this.dataUnit&&this._application&&this.entityName){let t;for(this.dataUnit=await this.getDataUnitParentOrChild(),this.dataUnit.pageSize=this.pageSize,this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this._dataUnitObserver);t=this._onDataUnitResolve.pop();)t(this.dataUnit)}}getParentSnkDataUnit(){let t=this.element;for(;t.parentNode;){if("SNK-DATA-UNIT"===t.parentNode.nodeName)return t.parentNode;t=t.parentNode}}handlerLinkFields(){var t,i;const s=Object.assign({},this.dataUnit.metadata);if(!this._parentDataUnit)return;const e=this._parentDataUnit.getChildInfo(this.entityName);if(!e)return;const n=null===(t=null==e?void 0:e.links)||void 0===t?void 0:t.map((t=>t.target));null===(i=null==s?void 0:s.fields)||void 0===i||i.forEach((t=>{(null==n?void 0:n.includes(t.name))&&(t.visible=!1)})),this.dataUnit.metadata=s}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__"),this._application.getAllAccess().then((t=>this._permissions=t)),this._parentSnkDataUnit=this.getParentSnkDataUnit()}componentDidLoad(){this.loadDataUnit()}render(){return s(n,null)}get element(){return e(this)}static get watchers(){return{pageSize:["observePageSize"],dataUnitName:["observeDataUnitName"],entityName:["observeEntityName"],dataState:["observeDataState"],dataUnit:["observeDataUnit"]}}};l.style=".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";export{l as snk_data_unit}
1
+ import{r as t,c as i,h as s,g as e,H as n}from"./p-b9667fbe.js";import{Action as a,ApplicationContext as h}from"@sankhyalabs/core";import{ApplicationUtils as o,DialogType as r}from"@sankhyalabs/ezui/dist/collection/utils";import{O as c}from"./p-32d02fa4.js";const l=class{constructor(s){t(this,s),this.dataStateChange=i(this,"dataStateChange",3),this.dataUnitReady=i(this,"dataUnitReady",3),this.insertionMode=i(this,"insertionMode",3),this.cancelEdition=i(this,"cancelEdition",3),this._onDataUnitResolve=[],this._dataUnitObserver=t=>{const i={insertionMode:!1,hasNext:this.dataUnit.hasNext(),hasPrevious:this.dataUnit.hasPrevious(),copyMode:!1,isDirty:this.dataUnit.isDirty(),hasDirtyRecords:this.dataUnit.hasDirtyRecords(),selectedRecords:this.dataUnit.getSelectedRecords(),selectedRecord:this.dataUnit.getSelectedRecord()};if(this.dataUnit.records.forEach((t=>{t.__record__id__.startsWith("NEW_")&&(i.insertionMode=!0,i.copyMode||(i.copyMode=null!=t.__record__source__id__))})),this.dataState=i,t.type===a.DATA_SAVED){const i=this.getMessage("snkDataUnit.saveInfo",t.payload.records[0]);null!=i&&this.showSuccessMessage(i)}if(t.type!==a.RECORDS_ADDED&&t.type!==a.RECORDS_COPIED||this.insertionMode.emit(),t.type===a.EDITION_CANCELED&&this.cancelEdition.emit(),t.type===a.RECORDS_REMOVED){const i=this.getMessage("snkDataUnit.removeInfo",t.payload.cachedRecords[0]);null!=i&&this.showSuccessMessage(i)}this._application.messagesBuilder.currentOperation=this.getMessageOperation()},this.dataState=void 0,this.dataUnitName=void 0,this.entityName=void 0,this.pageSize=150,this.dataUnit=void 0,this.beforeSave=void 0,this.afterSave=void 0}observePageSize(){this.dataUnit&&(this.dataUnit.pageSize=this.pageSize)}observeDataUnitName(t,i){i!=t&&(this.dataUnit=void 0,this.dataUnitName=t,this.loadDataUnit())}observeEntityName(t,i){i!=t&&(this.dataUnit=void 0,this.entityName=t,this.loadDataUnit())}observeDataState(t,i){i!=t&&this.dataStateChange.emit(t)}observeDataUnit(){this.handlerLinkFields(),this.dataUnitReady.emit(this.dataUnit)}async getDataUnit(){return new Promise((t=>{this.dataUnit?t(this.dataUnit):this._onDataUnitResolve.push(t)}))}async getSelectedRecordsIDsInfo(){var t;const i=[],s=null===(t=this.dataUnit)||void 0===t?void 0:t.getSelectedRecords();return(null==s?void 0:s.length)>0&&s.forEach((({__record__id__:t})=>{if(!this.dataUnit.isNewRecord(t)){const s=JSON.parse(window.atob(t));Object.entries(s).forEach((([t,s])=>{var e;const n=null===(e=this.dataUnit)||void 0===e?void 0:e.getField(t);null!=n&&i.push(Object.assign({name:t,type:n.dataType},s))}))}})),i}async interceptAction(t){return new Promise((i=>{switch(t.type){case a.RECORDS_ADDED:this.isAllowed("INSERT")?i(t):o.info(this.getMessage("snkDataUnit.forbiddenInsert"));break;case a.RECORDS_COPIED:this.isAllowed("CLONE")?i(t):o.info(this.getMessage("snkDataUnit.forbiddenClone"));break;case a.DATA_CHANGED:case a.CHANGING_DATA:this.isAllowed("UPDATE")?i(t):(this.dataUnit.cancelEdition(),o.alert(this.getMessage("snkDataUnit.forbidden"),this.getMessage("snkDataUnit.forbiddenUpdate")));break;case a.SAVING_DATA:if(this.beforeSave){const s=this.beforeSave(this.dataUnit);s instanceof Promise?s.then((s=>i(s?t:void 0))):i(s?t:void 0)}else i(t);break;case a.DATA_SAVED:this.afterSave?this.afterSave(this.dataUnit):i(t);break;case a.EDITION_CANCELED:if(this.dataState.hasDirtyRecords){const s=this.getMessage("snkDataUnit.cancelConfirmation");if(null==s)this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(t);else{const e=this.getMessage("snkDataUnit.cancelConfirmationTitle");o.confirm(e,s).then((s=>{this.showSuccessMessage(this.getMessage("snkDataUnit.cancelInfo")),i(s?t:void 0)}))}}else i(t);break;case a.REMOVING_RECORDS:if(this.isAllowed("REMOVE")){const s=this.getMessage("snkDataUnit.removeConfirmation");if(null==s)i(t);else{const e={canClose:!1,labelCancel:this.getMessage("snkDataUnit.confirm.cancel"),labelConfirm:this.getMessage("snkDataUnit.confirm.delete"),btnConfirmDanger:!1},n=this.getMessage("snkDataUnit.removeConfirmationTitle");o.confirm(n,s,null,r.WARN,e).then((s=>i(s?t:void 0)))}}else o.info(this.getMessage("snkDataUnit.forbiddenRemove"));break;default:i(t)}}))}showSuccessMessage(t){o.info(t,{iconName:"check"})}isAllowed(t){return!!this._permissions&&(this._permissions.isSup||this._permissions[t])}getMessage(t,i){return i||(i=this.getMessageParams()),this._application.messagesBuilder.getMessage(t,i)}getMessageParams(){return this.dataState.selectedRecords?this.dataState.selectedRecords[0]:void 0}getMessageOperation(){return this.dataState.copyMode?c.CLONE:this.dataState.insertionMode?c.INSERT:this.dataState.isDirty?c.UPDATE:c.CLEAN}async getDataUnitParentOrChild(){var t;const i=this.dataUnitName?this.dataUnitName:this.entityName;return this._parentSnkDataUnit?(this._parentDataUnit=await(null===(t=this._parentSnkDataUnit)||void 0===t?void 0:t.getDataUnit()),await this._application.getDataUnit(this.entityName,void 0,this._parentDataUnit)):await this._application.getDataUnit(this.entityName,i)}async loadDataUnit(){if(!this.dataUnit&&this._application&&this.entityName){let t;for(this.dataUnit=await this.getDataUnitParentOrChild(),this.dataUnit.pageSize=this.pageSize,this.dataUnit.unsubscribe(this._dataUnitObserver),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this._dataUnitObserver);t=this._onDataUnitResolve.pop();)t(this.dataUnit)}}getParentSnkDataUnit(){let t=this.element;for(;t.parentNode;){if("SNK-DATA-UNIT"===t.parentNode.nodeName)return t.parentNode;t=t.parentNode}}handlerLinkFields(){var t,i;const s=Object.assign({},this.dataUnit.metadata);if(!this._parentDataUnit)return;const e=this._parentDataUnit.getChildInfo(this.entityName);if(!e)return;const n=null===(t=null==e?void 0:e.links)||void 0===t?void 0:t.map((t=>t.target));null===(i=null==s?void 0:s.fields)||void 0===i||i.forEach((t=>{(null==n?void 0:n.includes(t.name))&&(t.visible=!1)})),this.dataUnit.metadata=s}componentWillLoad(){this._application=h.getContextValue("__SNK__APPLICATION__"),this._application.getAllAccess().then((t=>this._permissions=t)),this._parentSnkDataUnit=this.getParentSnkDataUnit()}componentDidLoad(){this.loadDataUnit()}render(){return s(n,null)}get element(){return e(this)}static get watchers(){return{pageSize:["observePageSize"],dataUnitName:["observeDataUnitName"],entityName:["observeEntityName"],dataState:["observeDataState"],dataUnit:["observeDataUnit"]}}};l.style=".sc-snk-data-unit-h{display:flex;flex-direction:column;height:100%}";export{l as snk_data_unit}
@@ -1 +1 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-b9667fbe.js";import{ElementIDUtils as o,ApplicationContext as h}from"@sankhyalabs/core";import{c as n}from"./p-b4093344.js";import{T as a}from"./p-4ba7e5e9.js";import{P as r}from"./p-1f388b12.js";import"./p-98f7f796.js";const d=n.grid,c=n.form,l=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this._dataUnit=void 0,this._dataState=void 0,this._viewMode=d.name,this.configName=void 0,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=r.PRIMARY}async goToView(t){this.executeAction(t)}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===d.index,this.setViewMode(c)}async executeAction(t){t===a.GRID_MODE?this.setViewMode(d):t===a.FORM_MODE||t===a.UPDATE?this.gridToForm(t!==a.UPDATE):t===a.CONFIGURATOR&&this._snkConfigurator.open()}setViewMode(t){this._viewStack.show(t.index),this._viewMode=t.name}openConfig(t){this._snkConfigurator.close(),t===d.name?this._snkGrid.showConfig():t===c.name&&this._snkForm.showConfig()}validatePresentationMode(){Object.values(r).includes(this.presentationMode)||(this.presentationMode=r.PRIMARY)}addDataElementID(){o.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(d)}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.addDataElementID():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.addDataElementID()})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}if(!this.configName){const t=h.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}componentWillRender(){this.validatePresentationMode()}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"data-element-id":"crud_grid",configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,presentationMode:this.presentationMode},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-form",{ref:t=>this._snkForm=t,"data-element-id":"crud_form",configName:this.configName,actionsList:this.actionsList,onExit:()=>this.setViewMode(d),recordsValidator:this.recordsValidator,taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),presentationMode:this.presentationMode},s("slot",{name:"SnkFormTaskBar"}))),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._viewMode,onConfigSelected:t=>this.executeAction(t.detail),onOpenConfig:t=>this.openConfig(t.detail)}))}get _element(){return e(this)}};l.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{l as snk_crud}
1
+ import{r as t,c as i,h as s,g as e}from"./p-b9667fbe.js";import{ElementIDUtils as o,ApplicationContext as h}from"@sankhyalabs/core";import{c as n}from"./p-b4093344.js";import{T as a}from"./p-93c271e2.js";import{P as r}from"./p-69562bcf.js";import"./p-98f7f796.js";const d=n.grid,c=n.form,l=class{constructor(s){t(this,s),this.actionClick=i(this,"actionClick",7),this._dataUnit=void 0,this._dataState=void 0,this._viewMode=d.name,this.configName=void 0,this.actionsList=void 0,this.taskbarManager=void 0,this.recordsValidator=void 0,this.statusResolver=void 0,this.multipleSelection=!0,this.presentationMode=r.PRIMARY}async goToView(t){this.executeAction(t)}async gridToForm(t=!1){this._backToGrid=!t&&await this._viewStack.getSelectedIndex()===d.index,this.setViewMode(c)}async executeAction(t){t===a.GRID_MODE?this.setViewMode(d):t===a.FORM_MODE||t===a.UPDATE?this.gridToForm(t!==a.UPDATE):t===a.CONFIGURATOR&&this._snkConfigurator.open()}setViewMode(t){this._viewStack.show(t.index),this._viewMode=t.name}openConfig(t){this._snkConfigurator.close(),t===d.name?this._snkGrid.showConfig():t===c.name&&this._snkForm.showConfig()}validatePresentationMode(){Object.values(r).includes(this.presentationMode)||(this.presentationMode=r.PRIMARY)}addDataElementID(){o.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}insertionModeHandler(){this.gridToForm()}cancelHandler(){this._backToGrid&&this.setViewMode(d)}componentWillLoad(){let t=this._element.parentElement;for(;t;){if("SNK-DATA-UNIT"===t.tagName.toUpperCase()){this._snkDataUnit=t,this._snkDataUnit.addEventListener("insertionMode",(()=>this.insertionModeHandler())),this._snkDataUnit.addEventListener("cancelEdition",(()=>this.cancelHandler())),this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.addDataElementID():this._snkDataUnit.addEventListener("dataUnitReady",(t=>{this._dataUnit=t.detail,this.addDataElementID()})),this._snkDataUnit.addEventListener("dataStateChange",(t=>{this._dataState=t.detail}));break}t=t.parentElement}if(!this.configName){const t=h.getContextValue("__SNK__APPLICATION__");this.configName=t.configName}}componentWillRender(){this.validatePresentationMode()}render(){return s("ez-view-stack",{ref:t=>this._viewStack=t,"data-element-id":"crud"},s("stack-item",null,s("snk-grid",{ref:t=>this._snkGrid=t,"data-element-id":"crud_grid",configName:this.configName,onGridDoubleClick:()=>this.gridToForm(!0),taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),actionsList:this.actionsList,statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,presentationMode:this.presentationMode},s("slot",{name:"SnkGridHeader"}),s("slot",{name:"SnkGridFooter"}),s("slot",{name:"SnkGridTaskBar"}))),s("stack-item",null,s("snk-form",{ref:t=>this._snkForm=t,"data-element-id":"crud_form",configName:this.configName,actionsList:this.actionsList,onExit:()=>this.setViewMode(d),recordsValidator:this.recordsValidator,taskbarManager:this.taskbarManager,onActionClick:t=>this.executeAction(t.detail),presentationMode:this.presentationMode},s("slot",{name:"SnkFormTaskBar"}))),s("snk-configurator",{ref:t=>this._snkConfigurator=t,viewMode:this._viewMode,onConfigSelected:t=>this.executeAction(t.detail),onOpenConfig:t=>this.openConfig(t.detail)}))}get _element(){return e(this)}};l.style=".sc-snk-crud-h{display:flex;flex-direction:column;height:100%;width:100%}";export{l as snk_crud}
@@ -1 +1 @@
1
- import{h as e}from"./p-b9667fbe.js";import{P as t}from"./p-1f388b12.js";import{s as n}from"./p-98f7f796.js";var a,r,s;!function(e){e.PREVIOUS="PREVIOUS",e.NEXT="NEXT",e.REFRESH="REFRESH",e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CANCEL="CANCEL",e.SAVE="SAVE",e.GRID_MODE="GRID_MODE",e.FORM_MODE="FORM_MODE",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER",e.CONFIGURATOR="CONFIGURATOR",e.DATA_EXPORTER="DATA_EXPORTER"}(a||(a={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIGURATOR="CONFIGURATOR"}(r||(r={})),function(e){e.CONFIGURATOR="CONFIGURATOR"}(s||(s={}));const i=(e,t,n,a,r)=>{const{hint:s,text:i,iconName:c}=e;return c?i?d(c,e.name,t,n,s,i,a,r):l(c,e.name,t,n,s,a,r):o(e.name,t,n,i,s,a,r)},c=(r,s,i,c,u,m,E,R,O)=>{var v;const b=c(r);switch(r){case a.PREVIOUS:return l("chevron-left",r,s,i,b,u,m);case a.NEXT:return l("chevron-right",r,s,i,b,u,m);case a.REFRESH:return l("sync",r,s,i,b,u,m);case a.UPDATE:return l("edit",r,s,i,b,u,m);case a.CLONE:return l("copy",r,s,i,b,u,m);case a.REMOVE:return l("delete",r,s,i,b,u,m);case a.INSERT:return O===t.PRIMARY?d("plus",r,s,i,b,b,u,m):l("plus",r,s,i,b,u,m);case a.CANCEL:return o(r,s,i,b,b,u,m);case a.SAVE:return O===t.PRIMARY?d("save",r,s,i,b,b,u,m):l("save",r,s,i,b,u,m);case a.GRID_MODE:return l("table",r,s,i,b,u,m);case a.FORM_MODE:return l("list",r,s,i,b,u,m);case a.CONFIGURATOR:return l("settings-inverted",r,s,i,b,u,m);case a.MORE_OPTIONS:return function(t,n,a,r,s,i,c){return c&&c.length>0?e("ez-actions-button",{title:r,size:"small","data-element-id":a,arrowActive:!0,class:n,enabled:i(t),onEzAction:e=>s(e.detail.value),actions:c}):void 0}(r,s,i,b,u,m,E);case a.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium","data-taskbar-divider":!0});case a.DATA_EXPORTER:const c=null===(v=n.get("exporterProviders"))||void 0===v?void 0:v[R];return e("snk-data-exporter",{class:s,provider:c,"data-element-id":i})}};function o(t,n,a,r,s,i,c){return e("ez-button",{title:s,label:r,size:"small",class:n,"data-element-id":a,enabled:c(t),onClick:()=>i(t)})}function l(t,n,a,r,s,i,c){return e("ez-button",{title:s,mode:"icon",size:"small",class:a,"data-element-id":r,iconName:t,enabled:c(n),onClick:()=>i(n)})}function d(t,n,a,r,s,i,c,o){return e("ez-button",{title:i,label:s,size:"small",class:a,"data-element-id":r,enabled:o(n),onClick:()=>c(n)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{r as A,a as T,s as V,i as a,c as b}
1
+ import{h as e}from"./p-b9667fbe.js";import{P as t}from"./p-69562bcf.js";import{s as n}from"./p-98f7f796.js";var a,r,s;!function(e){e.PREVIOUS="PREVIOUS",e.NEXT="NEXT",e.REFRESH="REFRESH",e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CANCEL="CANCEL",e.SAVE="SAVE",e.GRID_MODE="GRID_MODE",e.FORM_MODE="FORM_MODE",e.MORE_OPTIONS="MORE_OPTIONS",e.DIVIDER="DIVIDER",e.CONFIGURATOR="CONFIGURATOR",e.DATA_EXPORTER="DATA_EXPORTER"}(a||(a={})),function(e){e.UPDATE="UPDATE",e.CLONE="CLONE",e.REMOVE="REMOVE",e.INSERT="INSERT",e.CONFIGURATOR="CONFIGURATOR"}(r||(r={})),function(e){e.CONFIGURATOR="CONFIGURATOR"}(s||(s={}));const i=(e,t,n,a,r)=>{const{hint:s,text:i,iconName:c}=e;return c?i?d(c,e.name,t,n,s,i,a,r):l(c,e.name,t,n,s,a,r):o(e.name,t,n,i,s,a,r)},c=(r,s,i,c,u,m,E,R,O)=>{var v;const b=c(r);switch(r){case a.PREVIOUS:return l("chevron-left",r,s,i,b,u,m);case a.NEXT:return l("chevron-right",r,s,i,b,u,m);case a.REFRESH:return l("sync",r,s,i,b,u,m);case a.UPDATE:return l("edit",r,s,i,b,u,m);case a.CLONE:return l("copy",r,s,i,b,u,m);case a.REMOVE:return l("delete",r,s,i,b,u,m);case a.INSERT:return O===t.PRIMARY?d("plus",r,s,i,b,b,u,m):l("plus",r,s,i,b,u,m);case a.CANCEL:return o(r,s,i,b,b,u,m);case a.SAVE:return O===t.PRIMARY?d("save",r,s,i,b,b,u,m):l("save",r,s,i,b,u,m);case a.GRID_MODE:return l("table",r,s,i,b,u,m);case a.FORM_MODE:return l("list",r,s,i,b,u,m);case a.CONFIGURATOR:return l("settings-inverted",r,s,i,b,u,m);case a.MORE_OPTIONS:return function(t,n,a,r,s,i,c){return c&&c.length>0?e("ez-actions-button",{title:r,size:"small","data-element-id":a,arrowActive:!0,class:n,enabled:i(t),onEzAction:e=>s(e.detail.value),actions:c}):void 0}(r,s,i,b,u,m,E);case a.DIVIDER:return e("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-horizontal--medium","data-taskbar-divider":!0});case a.DATA_EXPORTER:const c=null===(v=n.get("exporterProviders"))||void 0===v?void 0:v[R];return e("snk-data-exporter",{class:s,provider:c,"data-element-id":i})}};function o(t,n,a,r,s,i,c){return e("ez-button",{title:s,label:r,size:"small",class:n,"data-element-id":a,enabled:c(t),onClick:()=>i(t)})}function l(t,n,a,r,s,i,c){return e("ez-button",{title:s,mode:"icon",size:"small",class:a,"data-element-id":r,iconName:t,enabled:c(n),onClick:()=>i(n)})}function d(t,n,a,r,s,i,c,o){return e("ez-button",{title:i,label:s,size:"small",class:a,"data-element-id":r,enabled:o(n),onClick:()=>c(n)},e("ez-icon",{class:"ez-padding-right--small",slot:"leftIcon",iconName:t}))}export{r as A,a as T,s as V,i as a,c as b}
@@ -1 +1 @@
1
- import{r as i,c as t,h as s,g as e}from"./p-b9667fbe.js";import{DateUtils as a,ObjectUtils as o,ElementIDUtils as r,ApplicationContext as n}from"@sankhyalabs/core";import{C as h}from"./p-93d8ea09.js";import{P as d}from"./p-1f388b12.js";import{T as l}from"./p-5a3e0eb6.js";import"./p-112455b1.js";const c=class{constructor(s){i(this,s),this.exit=t(this,"exit",7),this.actionClick=t(this,"actionClick",7),this._renderTimer=500,this._dataUnit=void 0,this._dataState=void 0,this._editionFormConfig={},this._insertionFormConfig={},this._showFormConfig=!1,this.configName=void 0,this.recordsValidator=void 0,this.actionsList=void 0,this.taskbarManager=void 0,this.presentationMode=d.PRIMARY}async showConfig(){this._showFormConfig=!0}async hideConfig(){this._showFormConfig=!1}getFinishEditionTaskbarButtons(){return this.presentationMode===d.PRIMARY?["CANCEL","SAVE"]:["SAVE","CANCEL"]}getRegularTaskbarButtons(){return this.presentationMode===d.PRIMARY?["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR","INSERT"]:["INSERT","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR"]}loadConfig(){null!=this.configName&&h.get().then((i=>{i.loadFormConfig(this.configName).then((i=>{this.setConfig(i)||this.loadInsertionConfig()})).catch((i=>{console.warn(i)}))}))}setConfig(i){return null!=(null==i?void 0:i.fields)&&(setTimeout((async()=>{for(const t of i.fields)if(t.defaultValue&&"value"in t.defaultValue){const i=t.defaultValue.value;await this.getFormattedValue(i).then((i=>{t.defaultValue.formattedValue=i}))}this._editionFormConfig=i,this.loadInsertionConfig()}),this._renderTimer),!0)}async getFormattedValue(i){switch(i){case"${data}":return()=>a.getToday();case"${datahora}":return()=>a.getToday(!0);case"${usuario}":case"${usuario.empresa}":case"${usuario.vendedor}":case"${usuario.centroresultado}":let t;return await this._application.getDefaultValue(i).then((i=>{t=i})),{value:t};default:return i}}loadInsertionConfig(){var i;if(this._dataUnit){const t=o.copy(this._editionFormConfig||{});t.fields=null===(i=t.fields)||void 0===i?void 0:i.filter((i=>{const t=this._dataUnit.getField(i.name);return!(null==t?void 0:t.readOnly)})),this._insertionFormConfig=t}}getFormConfig(){return this._dataState&&this._dataState.insertionMode?this._insertionFormConfig:this._editionFormConfig}exitForm(){this._dataUnit.isDirty()?this._dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}getMessage(i){return this._application.messagesBuilder.getMessage(i,this.getMessageParams())}getMessageParams(){var i;return(null===(i=this._dataState)||void 0===i?void 0:i.selectedRecords)?this._dataState.selectedRecords[0]:void 0}changeConfig(i){this._editionFormConfig={},this.setConfig(i)||this.loadInsertionConfig()}closeConfig(){this.hideConfig()}validatePresentationMode(){Object.values(d).includes(this.presentationMode)||(this.presentationMode=d.PRIMARY)}dataunitReady(){this.loadInsertionConfig(),r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}loadTaskbarProcessor(){var i;const t=(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"snkForm.finish_edition":"snkForm.regular",s=[];this._dataState&&this._dataState.hasPrevious||s.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||s.push("NEXT"),this._taskbarProcessor=new l({"snkForm.regular":this.getRegularTaskbarButtons(),"snkForm.finish_edition":this.getFinishEditionTaskbarButtons()}),this._taskbarProcessor.process(t,this.taskbarManager,this._dataState,s)}getDisabledButtons(){const i=[];return this._dataState.hasPrevious||i.push("PREVIOUS"),this._dataState.hasNext||i.push("NEXT"),i}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this.validatePresentationMode(),this.loadTaskbarProcessor()}render(){var i;if(this._dataUnit&&this._dataState)return s("section",{class:"snk-form"},s("div",{class:`snk-form__header ez-row\n ${this.presentationMode===d.PRIMARY?"snk-form__header--fixed":""}\n `},this.presentationMode===d.PRIMARY&&s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},s("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm(),"data-element-id":"formToBack"}),s("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),s("div",{class:`ez-col\n ${this.presentationMode===d.PRIMARY?"ez-col--sd-6 ez-col--tb-6 ez-align--right":""}\n `},s("snk-taskbar",{key:"formTaskbar","data-element-id":"form",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit,presentationMode:this.presentationMode}))),s("section",null,s("div",{class:"ez-row"},s("div",{class:"ez-col ez-col--sd-12"},s("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":"embedded",dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&s("snk-form-config",{dataUnit:this._dataUnit,formConfig:this.getFormConfig(),configName:this.configName,onConfigChange:i=>this.changeConfig(i.detail),onConfigClose:()=>this.closeConfig()})))))}get _element(){return e(this)}};c.style=".sc-snk-form-h{display:block}.snk-form.sc-snk-form{position:relative;padding:var(--space--large);padding-top:var(--space--medium)}.snk-form__header.sc-snk-form{position:relative;padding-top:var(--space--medium);padding-bottom:var(--space--medium);margin-bottom:var(--space--medium)}.snk-form__header--fixed.sc-snk-form{position:sticky;top:0;background:var(--background--body);z-index:var(--visible);padding-left:var(--space--large);padding-right:var(--space--large);margin-left:calc(var(--space--large) * -1);margin-right:calc(var(--space--large) * -1);width:calc(100% + (var(--space--large) * 2))}.snk-form__form--hidden.sc-snk-form{display:none}";export{c as snk_form}
1
+ import{r as i,c as t,h as s,g as e}from"./p-b9667fbe.js";import{DateUtils as a,ObjectUtils as o,ElementIDUtils as r,ApplicationContext as n}from"@sankhyalabs/core";import{C as h}from"./p-93d8ea09.js";import{P as d}from"./p-69562bcf.js";import{T as l}from"./p-5a3e0eb6.js";import"./p-112455b1.js";const c=class{constructor(s){i(this,s),this.exit=t(this,"exit",7),this.actionClick=t(this,"actionClick",7),this._renderTimer=500,this._dataUnit=void 0,this._dataState=void 0,this._editionFormConfig={},this._insertionFormConfig={},this._showFormConfig=!1,this.configName=void 0,this.recordsValidator=void 0,this.actionsList=void 0,this.taskbarManager=void 0,this.presentationMode=d.PRIMARY}async showConfig(){this._showFormConfig=!0}async hideConfig(){this._showFormConfig=!1}getFinishEditionTaskbarButtons(){return this.presentationMode===d.PRIMARY?["CANCEL","SAVE"]:["SAVE","CANCEL"]}getRegularTaskbarButtons(){return this.presentationMode===d.PRIMARY?["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR","INSERT"]:["INSERT","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR"]}loadConfig(){null!=this.configName&&h.get().then((i=>{i.loadFormConfig(this.configName).then((i=>{this.setConfig(i)||this.loadInsertionConfig()})).catch((i=>{console.warn(i)}))}))}setConfig(i){return null!=(null==i?void 0:i.fields)&&(setTimeout((async()=>{for(const t of i.fields)if(t.defaultValue&&"value"in t.defaultValue){const i=t.defaultValue.value;await this.getFormattedValue(i).then((i=>{t.defaultValue.formattedValue=i}))}this._editionFormConfig=i,this.loadInsertionConfig()}),this._renderTimer),!0)}async getFormattedValue(i){switch(i){case"${data}":return()=>a.getToday();case"${datahora}":return()=>a.getToday(!0);case"${usuario}":case"${usuario.empresa}":case"${usuario.vendedor}":case"${usuario.centroresultado}":let t;return await this._application.getDefaultValue(i).then((i=>{t=i})),{value:t};default:return i}}loadInsertionConfig(){var i;if(this._dataUnit){const t=o.copy(this._editionFormConfig||{});t.fields=null===(i=t.fields)||void 0===i?void 0:i.filter((i=>{const t=this._dataUnit.getField(i.name);return!(null==t?void 0:t.readOnly)})),this._insertionFormConfig=t}}getFormConfig(){return this._dataState&&this._dataState.insertionMode?this._insertionFormConfig:this._editionFormConfig}exitForm(){this._dataUnit.isDirty()?this._dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}getMessage(i){return this._application.messagesBuilder.getMessage(i,this.getMessageParams())}getMessageParams(){var i;return(null===(i=this._dataState)||void 0===i?void 0:i.selectedRecords)?this._dataState.selectedRecords[0]:void 0}changeConfig(i){this._editionFormConfig={},this.setConfig(i)||this.loadInsertionConfig()}closeConfig(){this.hideConfig()}validatePresentationMode(){Object.values(d).includes(this.presentationMode)||(this.presentationMode=d.PRIMARY)}dataunitReady(){this.loadInsertionConfig(),r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}loadTaskbarProcessor(){var i;const t=(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"snkForm.finish_edition":"snkForm.regular",s=[];this._dataState&&this._dataState.hasPrevious||s.push("PREVIOUS"),this._dataState&&this._dataState.hasNext||s.push("NEXT"),this._taskbarProcessor=new l({"snkForm.regular":this.getRegularTaskbarButtons(),"snkForm.finish_edition":this.getFinishEditionTaskbarButtons()}),this._taskbarProcessor.process(t,this.taskbarManager,this._dataState,s)}getDisabledButtons(){const i=[];return this._dataState.hasPrevious||i.push("PREVIOUS"),this._dataState.hasNext||i.push("NEXT"),i}componentWillLoad(){this._application=n.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataState=this._snkDataUnit.dataState,this._dataUnit?this.dataunitReady():this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this.loadInsertionConfig()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}componentWillRender(){this.validatePresentationMode(),this.loadTaskbarProcessor()}render(){var i;if(this._dataUnit&&this._dataState)return s("section",{class:"snk-form"},s("div",{class:`snk-form__header ez-row\n ${this.presentationMode===d.PRIMARY?"snk-form__header--fixed":""}\n `},this.presentationMode===d.PRIMARY&&s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6",key:"formHeader"},s("ez-button",{title:this.getMessage("snkForm.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small",onClick:()=>this.exitForm(),"data-element-id":"formToBack"}),s("h1",{class:"ez-title ez-title--primary ez-title--xlarge ez-align--middle"},this.getMessage("snkForm.title"))),s("div",{class:`ez-col\n ${this.presentationMode===d.PRIMARY?"ez-col--sd-6 ez-col--tb-6 ez-align--right":""}\n `},s("snk-taskbar",{key:"formTaskbar","data-element-id":"form",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,primaryButton:(null===(i=this._dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT",dataUnit:this._dataUnit,presentationMode:this.presentationMode}))),s("section",null,s("div",{class:"ez-row"},s("div",{class:"ez-col ez-col--sd-12"},s("ez-form",{key:"ezForm"+this._snkDataUnit.entityName,"data-element-id":"embedded",dataUnit:this._dataUnit,config:this.getFormConfig(),recordsValidator:this.recordsValidator,class:this._showFormConfig?"snk-form__form--hidden":""}),this._showFormConfig&&s("snk-form-config",{dataUnit:this._dataUnit,formConfig:this.getFormConfig(),configName:this.configName,onConfigChange:i=>this.changeConfig(i.detail),onConfigClose:()=>this.closeConfig()})))))}get _element(){return e(this)}};c.style=".sc-snk-form-h{display:block}.snk-form.sc-snk-form{position:relative;padding:var(--space--large);padding-top:var(--space--medium)}.snk-form__header.sc-snk-form{position:relative;padding-top:var(--space--medium);padding-bottom:var(--space--medium);margin-bottom:var(--space--medium)}.snk-form__header--fixed.sc-snk-form{position:sticky;top:0;background:var(--background--body);z-index:var(--visible);padding-left:var(--space--large);padding-right:var(--space--large);margin-left:calc(var(--space--large) * -1);margin-right:calc(var(--space--large) * -1);width:calc(100% + (var(--space--large) * 2))}.snk-form__form--hidden.sc-snk-form{display:none}";export{c as snk_form}