@sankhyalabs/sankhyablocks 5.1.2 → 5.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +52 -35
- package/dist/cjs/{snk-guides-viewer-190469c2.js → snk-guides-viewer-6225bb73.js} +26 -41
- package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
- package/dist/collection/components/snk-crud/subcomponents/GuideBuilder.js +43 -0
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view.js +34 -39
- package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +50 -41
- package/dist/components/snk-detail-view2.js +79 -75
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +52 -35
- package/dist/esm/{snk-guides-viewer-dd7023cd.js → snk-guides-viewer-73b9eb29.js} +26 -41
- package/dist/esm/snk-guides-viewer.entry.js +1 -1
- package/dist/sankhyablocks/p-10be1b2a.entry.js +1 -0
- package/dist/sankhyablocks/{p-a78dd297.js → p-983fef8f.js} +1 -1
- package/dist/sankhyablocks/{p-bbbea780.entry.js → p-9ce550b7.entry.js} +1 -1
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-crud/subcomponents/GuideBuilder.d.ts +11 -0
- package/dist/types/components/snk-crud/subcomponents/snk-detail-view.d.ts +6 -7
- package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +2 -3
- package/dist/types/components.d.ts +12 -1
- package/package.json +1 -1
- package/dist/sankhyablocks/p-994392fb.entry.js +0 -1
@@ -7,13 +7,56 @@ import '@sankhyalabs/core';
|
|
7
7
|
import { P as PresentationMode } from './index-6519a79e.js';
|
8
8
|
import { T as TaskbarElement } from './taskbar-elements-10d80c79.js';
|
9
9
|
import { c as VIEW_MODE } from './constants-15617e7d.js';
|
10
|
-
import { S as SnkGuidesViewer } from './snk-guides-viewer-
|
10
|
+
import { S as SnkGuidesViewer } from './snk-guides-viewer-73b9eb29.js';
|
11
11
|
import './ConfigStorage-479e3228.js';
|
12
12
|
import './form-config-fetcher-74e3e14b.js';
|
13
13
|
import './_commonjsHelpers-9943807e.js';
|
14
14
|
import './index-e467ade5.js';
|
15
15
|
import './taskbar-processor-94402e6e.js';
|
16
16
|
|
17
|
+
class GuideBuilder {
|
18
|
+
constructor(parentGuide, formMetadata, dataUnit) {
|
19
|
+
this._parentGuide = parentGuide;
|
20
|
+
this._formMetadata = formMetadata;
|
21
|
+
this._dataUnit = dataUnit;
|
22
|
+
}
|
23
|
+
get id() {
|
24
|
+
return this._parentGuide.id;
|
25
|
+
}
|
26
|
+
buildGuideItem(detailBuilders) {
|
27
|
+
const item = Object.assign({}, this._parentGuide);
|
28
|
+
delete item.expanded;
|
29
|
+
delete item.children;
|
30
|
+
const currentRecord = this._dataUnit.getSelectedRecord();
|
31
|
+
if (!currentRecord) {
|
32
|
+
return item;
|
33
|
+
}
|
34
|
+
const isNewRecord = this._dataUnit.isNewRecord(currentRecord.__record__id__);
|
35
|
+
const children = Array.from(this._formMetadata.getAllSheets().values()).map((sheet) => {
|
36
|
+
const { name, label } = sheet;
|
37
|
+
const isDetail = FormMetadata.getDetailName(name.split("::").pop()) != undefined;
|
38
|
+
const disabled = isDetail && isNewRecord;
|
39
|
+
const parentId = this._parentGuide.id;
|
40
|
+
const id = isDetail ? `${parentId}::${name}` : `${parentId}__FORM:${name}`;
|
41
|
+
if (isDetail && detailBuilders.has(id) && !disabled) {
|
42
|
+
const item = detailBuilders.get(id).buildGuideItem(detailBuilders);
|
43
|
+
return item;
|
44
|
+
}
|
45
|
+
return {
|
46
|
+
id,
|
47
|
+
label,
|
48
|
+
disabled,
|
49
|
+
tooltip: disabled ? "Finalize o cadastro para ter acesso a esta guia." : undefined
|
50
|
+
};
|
51
|
+
});
|
52
|
+
const newGuideItem = children.shift();
|
53
|
+
newGuideItem.label = isNewRecord ? "Novo Registro" : currentRecord.__record__label__;
|
54
|
+
newGuideItem.children = children;
|
55
|
+
item.children = [newGuideItem];
|
56
|
+
return item;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
17
60
|
const snkDetailViewCss = ".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";
|
18
61
|
|
19
62
|
const SnkDetailView = class {
|
@@ -30,9 +73,9 @@ const SnkDetailView = class {
|
|
30
73
|
this.dataUnit = undefined;
|
31
74
|
this.selectedForm = undefined;
|
32
75
|
this.dataState = undefined;
|
76
|
+
this.branchGuide = undefined;
|
33
77
|
}
|
34
78
|
observerDataState(newValue, oldValue) {
|
35
|
-
var _a;
|
36
79
|
const openInsertion = !(oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
|
37
80
|
const closeInsertion = (oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) && !(newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode);
|
38
81
|
if (openInsertion || closeInsertion) {
|
@@ -41,9 +84,11 @@ const SnkDetailView = class {
|
|
41
84
|
if (this._formMetadata == undefined) {
|
42
85
|
return;
|
43
86
|
}
|
44
|
-
const
|
45
|
-
const
|
46
|
-
|
87
|
+
const newRecord = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord;
|
88
|
+
const oldRecord = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord;
|
89
|
+
if ((newRecord === null || newRecord === void 0 ? void 0 : newRecord.__record__id__) !== (oldRecord === null || oldRecord === void 0 ? void 0 : oldRecord.__record__id__)) {
|
90
|
+
this.snkDetailGuidesChange.emit(new GuideBuilder(this.branchGuide, this._formMetadata, this.dataUnit));
|
91
|
+
}
|
47
92
|
if (openInsertion) {
|
48
93
|
setTimeout(() => {
|
49
94
|
//FIXME: A necessidade de usar esse timeout é por causa da renderização
|
@@ -99,37 +144,12 @@ const SnkDetailView = class {
|
|
99
144
|
const labels = guideItemPathSize > 0 ? this.guideItemPath.map(item => item.label) : undefined;
|
100
145
|
this.label = labels.pop();
|
101
146
|
this._levelPath = labels.length > 0 ? labels.join(" / ") : undefined;
|
102
|
-
this._guideId = this.guideItemPath[guideItemPathSize - 1].id;
|
103
147
|
}
|
104
148
|
else {
|
105
149
|
this.label = "";
|
106
150
|
this._levelPath = undefined;
|
107
|
-
this._guideId = undefined;
|
108
151
|
}
|
109
152
|
}
|
110
|
-
getNewGuideItem(currentRecord) {
|
111
|
-
if (currentRecord == undefined) {
|
112
|
-
return;
|
113
|
-
}
|
114
|
-
const isNewRecord = this.dataUnit.isNewRecord(currentRecord.__record__id__);
|
115
|
-
const children = Array.from(this._formMetadata.getAllSheets().values()).map((sheet) => {
|
116
|
-
const { name, label } = sheet;
|
117
|
-
const isDetail = FormMetadata.getDetailName(name.split("::").pop()) != undefined;
|
118
|
-
const disabled = isDetail && isNewRecord;
|
119
|
-
const id = isDetail ? this.getChildGuideId(name) : this.getFormGuideId(name);
|
120
|
-
return {
|
121
|
-
id,
|
122
|
-
label,
|
123
|
-
disabled,
|
124
|
-
tooltip: disabled ? "Finalize o cadastro para ter acesso a esta guia." : undefined
|
125
|
-
};
|
126
|
-
});
|
127
|
-
const newGuideItem = children.shift();
|
128
|
-
newGuideItem.label = isNewRecord ? "Novo Registro" : currentRecord.__record__label__;
|
129
|
-
newGuideItem.children = children;
|
130
|
-
newGuideItem.expanded = true;
|
131
|
-
return newGuideItem;
|
132
|
-
}
|
133
153
|
getFormGuideId(formName) {
|
134
154
|
var _a;
|
135
155
|
if (!formName) {
|
@@ -143,10 +163,7 @@ const SnkDetailView = class {
|
|
143
163
|
}
|
144
164
|
formName = forms[0];
|
145
165
|
}
|
146
|
-
return `${this.stripFormPattern(this.
|
147
|
-
}
|
148
|
-
getChildGuideId(child) {
|
149
|
-
return `${this.stripFormPattern(this._guideId)}::${child}`;
|
166
|
+
return `${this.stripFormPattern(this.branchGuide.id)}__FORM:${formName}`;
|
150
167
|
}
|
151
168
|
stripFormPattern(guideId) {
|
152
169
|
return guideId.replace(SnkDetailView.REGEX_FORM_ID, "");
|
@@ -177,7 +194,7 @@ const SnkDetailView = class {
|
|
177
194
|
return [];
|
178
195
|
}
|
179
196
|
emitSwitchEvent(mode) {
|
180
|
-
const guideId = mode === VIEW_MODE.GRID ? this.stripFormPattern(this.
|
197
|
+
const guideId = mode === VIEW_MODE.GRID ? this.stripFormPattern(this.branchGuide.id) : this.getFormGuideId();
|
181
198
|
if (guideId) {
|
182
199
|
this.snkSwitchGuide.emit(guideId);
|
183
200
|
}
|
@@ -17,7 +17,7 @@ const SnkGuidesViewer = class {
|
|
17
17
|
registerInstance(this, hostRef);
|
18
18
|
this.exit = createEvent(this, "exit", 7);
|
19
19
|
this.actionClick = createEvent(this, "actionClick", 7);
|
20
|
-
this.
|
20
|
+
this._guideBuilders = new Map();
|
21
21
|
this.dataUnit = undefined;
|
22
22
|
this.dataState = undefined;
|
23
23
|
this.configName = undefined;
|
@@ -37,7 +37,11 @@ const SnkGuidesViewer = class {
|
|
37
37
|
this.loadGuides(true);
|
38
38
|
}
|
39
39
|
observeDataState(newValue, oldValue) {
|
40
|
-
|
40
|
+
const newRecord = newValue === null || newValue === void 0 ? void 0 : newValue.selectedRecord;
|
41
|
+
const oldRecord = oldValue === null || oldValue === void 0 ? void 0 : oldValue.selectedRecord;
|
42
|
+
if ((newRecord === null || newRecord === void 0 ? void 0 : newRecord.__record__id__) !== (oldRecord === null || oldRecord === void 0 ? void 0 : oldRecord.__record__id__)) {
|
43
|
+
this.loadGuides((oldValue === null || oldValue === void 0 ? void 0 : oldValue.insertionMode) != (newValue === null || newValue === void 0 ? void 0 : newValue.insertionMode));
|
44
|
+
}
|
41
45
|
}
|
42
46
|
observeMasterFormConfig() {
|
43
47
|
this.loadGuides(false);
|
@@ -103,6 +107,9 @@ const SnkGuidesViewer = class {
|
|
103
107
|
guides.push(item);
|
104
108
|
});
|
105
109
|
this._guides = guides;
|
110
|
+
if (this._guideNavigator) {
|
111
|
+
this._guideNavigator.updateItem(this._guides);
|
112
|
+
}
|
106
113
|
if (changeSelection) {
|
107
114
|
this.selectedGuide = this._guides.length > 0 ? this._guides[0] : undefined;
|
108
115
|
}
|
@@ -110,42 +117,14 @@ const SnkGuidesViewer = class {
|
|
110
117
|
isDetail(formId) {
|
111
118
|
return FormMetadata.getDetailName(formId) != undefined;
|
112
119
|
}
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
}
|
117
|
-
return new Map(item.children.map(item => [item.id, item]));
|
118
|
-
}
|
119
|
-
restoreBranch(guide, recordId) {
|
120
|
-
if (!recordId) {
|
121
|
-
return;
|
122
|
-
}
|
123
|
-
const cacheChildrenMap = this.getChildrenMap(this._branchesCache.get(recordId));
|
124
|
-
if (Array.isArray(guide.children) && cacheChildrenMap) {
|
125
|
-
guide.children.forEach(child => {
|
126
|
-
const currentItem = cacheChildrenMap.get(child.id);
|
127
|
-
if (currentItem) {
|
128
|
-
child.children = currentItem.children;
|
129
|
-
child.expanded = currentItem.expanded;
|
130
|
-
}
|
131
|
-
});
|
132
|
-
}
|
133
|
-
this._branchesCache.set(recordId, guide);
|
134
|
-
}
|
135
|
-
updateGuide(parentId, { item: guide, recordId }) {
|
136
|
-
if (guide) {
|
137
|
-
this.restoreBranch(guide, recordId);
|
138
|
-
}
|
120
|
+
updateGuide(guideBuilder) {
|
121
|
+
this._guideBuilders.set(guideBuilder.id, guideBuilder);
|
122
|
+
const guideItem = guideBuilder.buildGuideItem(this._guideBuilders);
|
139
123
|
if (this._guideNavigator) {
|
140
|
-
this._guideNavigator.
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
this._guideNavigator.updateItem(parent);
|
145
|
-
this._guideNavigator.getCurrentPath().then(breadcrumbs => {
|
146
|
-
this._breadcrumbItems = breadcrumbs;
|
147
|
-
});
|
148
|
-
}
|
124
|
+
this._guideNavigator.updateItem(guideItem).then(() => {
|
125
|
+
this._guideNavigator.getCurrentPath().then(breadcrumbs => {
|
126
|
+
this._breadcrumbItems = breadcrumbs;
|
127
|
+
});
|
149
128
|
});
|
150
129
|
}
|
151
130
|
}
|
@@ -222,7 +201,7 @@ const SnkGuidesViewer = class {
|
|
222
201
|
return `${this.entityPath}/${entityName}`;
|
223
202
|
}
|
224
203
|
getContent() {
|
225
|
-
var _a, _b, _c, _d;
|
204
|
+
var _a, _b, _c, _d, _e;
|
226
205
|
if (!this.selectedGuide) {
|
227
206
|
return;
|
228
207
|
}
|
@@ -234,17 +213,23 @@ const SnkGuidesViewer = class {
|
|
234
213
|
let detailId = guideId;
|
235
214
|
if (childEntityName || levels.length > 0) {
|
236
215
|
let formName;
|
216
|
+
let detailBranch;
|
237
217
|
if (guideId.includes(FORM_NAME_PREFIX)) {
|
238
218
|
[detailId, formName] = guideId.split(FORM_NAME_PREFIX);
|
219
|
+
const pathSize = ((_a = this._breadcrumbItems) === null || _a === void 0 ? void 0 : _a.length) || 0;
|
220
|
+
detailBranch = pathSize > 1 ? this._breadcrumbItems[pathSize - 2] : this.selectedGuide;
|
221
|
+
}
|
222
|
+
else {
|
223
|
+
detailBranch = this.selectedGuide;
|
239
224
|
}
|
240
|
-
content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(
|
225
|
+
content = this.wrapDetail(levels, h("snk-detail-view", { ref: (ref) => this._currentDetail = ref, dataUnitName: this.getDataUnitName(levels, childEntityName), onSnkDetailGuidesChange: (evt) => this.updateGuide(evt.detail), entityName: childEntityName, selectedForm: formName, branchGuide: detailBranch, guideItemPath: this._breadcrumbItems, key: `detail${detailId}`, onSnkSwitchGuide: evt => this._guideNavigator.selectGuide(evt.detail) }));
|
241
226
|
}
|
242
227
|
else {
|
243
228
|
const cardId = this.selectedGuide.id;
|
244
229
|
const sheet = this._masterFormMetadata.getSheet(cardId);
|
245
230
|
if (sheet) {
|
246
|
-
const cardConfig = (
|
247
|
-
content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (
|
231
|
+
const cardConfig = (_c = (_b = this.masterFormConfig) === null || _b === void 0 ? void 0 : _b.cardsState) === null || _c === void 0 ? void 0 : _c.get(cardId);
|
232
|
+
content = h("snk-form-view", { ref: ref => this._mainForm = ref, fixed: cardConfig === null || cardConfig === void 0 ? void 0 : cardConfig.fixed, summaryFields: (_e = (_d = this.masterFormConfig) === null || _d === void 0 ? void 0 : _d.summary) === null || _e === void 0 ? void 0 : _e.get(cardId), name: cardId, label: sheet.label, fields: sheet.fields, dataUnit: this.dataUnit, formMetadata: this._masterFormMetadata, recordsValidator: this.recordsValidator, key: guideId }, this.presentationMode == PresentationMode.SECONDARY && this.buildTaskBar());
|
248
233
|
}
|
249
234
|
}
|
250
235
|
return content;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as t,c as i,f as s,h as e,H as a}from"./p-b9667fbe.js";import{S as o}from"./p-664c1543.js";import{FormMetadata as h,buildFormMetadata as n}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-7e475a6f.js";import"./p-75a83156.js";import"@sankhyalabs/core";import{P as r}from"./p-f132e371.js";import{T as d}from"./p-74724fa7.js";import{c as l}from"./p-f587a454.js";import{S as c}from"./p-983fef8f.js";import"./p-5fc11c5d.js";import"./p-86667fdf.js";import"./p-112455b1.js";import"./p-98f7f796.js";import"./p-c2beb95c.js";class u{constructor(t,i,s){this._parentGuide=t,this._formMetadata=i,this._dataUnit=s}get id(){return this._parentGuide.id}buildGuideItem(t){const i=Object.assign({},this._parentGuide);delete i.expanded,delete i.children;const s=this._dataUnit.getSelectedRecord();if(!s)return i;const e=this._dataUnit.isNewRecord(s.__record__id__),a=Array.from(this._formMetadata.getAllSheets().values()).map((i=>{const{name:s,label:a}=i,o=null!=h.getDetailName(s.split("::").pop()),n=o&&e,r=this._parentGuide.id,d=o?`${r}::${s}`:`${r}__FORM:${s}`;return o&&t.has(d)&&!n?t.get(d).buildGuideItem(t):{id:d,label:a,disabled:n,tooltip:n?"Finalize o cadastro para ter acesso a esta guia.":void 0}})),o=a.shift();return o.label=e?"Novo Registro":s.__record__label__,o.children=a,i.children=[o],i}}const m=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this._disabledButtons=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0,this.branchGuide=void 0}observerDataState(t,i){const s=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),e=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((s||e)&&this.loadMetadata(),null==this._formMetadata)return;const a=null==t?void 0:t.selectedRecord,o=null==i?void 0:i.selectedRecord;(null==a?void 0:a.__record__id__)!==(null==o?void 0:o.__record__id__)&&this.snkDetailGuidesChange.emit(new u(this.branchGuide,this._formMetadata,this.dataUnit)),s&&setTimeout((()=>{this.changeViewMode(l.FORM)}),0),e&&this.changeViewMode(l.GRID);const h=[];this.dataState.hasPrevious||h.push(d.PREVIOUS),this.dataState.hasNext||h.push(d.NEXT),this._disabledButtons=h}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}onContentCardChanged(t){c.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0}else this.label="",this._levelPath=void 0}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this.branchGuide.id)}__FORM:${t}`}stripFormPattern(t){return t.replace(m.REGEX_FORM_ID,"")}loadMetadata(){var t;if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(null===(t=this.dataState)||void 0===t?void 0:t.insertionMode,this.dataUnit);this._formMetadata=n(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){t.show(this.selectedForm?1:0)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===l.GRID?this.stripFormPattern(this.branchGuide.id):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}executeActionHandler(t){t.detail===d.GRID_MODE&&(this.emitSwitchEvent(l.GRID),t.stopPropagation()),t.detail===d.FORM_MODE&&(this.emitSwitchEvent(l.FORM),t.stopPropagation())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new o(this._configName,(()=>this.loadMetadata())),this.formConfigManager.loadConfig()}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:t=>this.dataState=t.detail},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-flex ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:t=>this._snkGrid=t,configName:this._configName,onGridDoubleClick:()=>this.emitSwitchEvent(l.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:r.SECONDARY,isDetail:!0}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),label:this.label,levelPath:this._levelPath},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:r.SECONDARY,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit}))))))}static get watchers(){return{dataState:["observerDataState"]}}};m.REGEX_FORM_ID=/__FORM:[^:]+/g,m.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";export{m as snk_detail_view}
|
@@ -1 +1 @@
|
|
1
|
-
import{r as i,c as e,h as s,F as t}from"./p-b9667fbe.js";import{ApplicationContext as r,ElementIDUtils as a}from"@sankhyalabs/core";import{S as n}from"./p-664c1543.js";import{buildFormMetadata as d,FormMetadata as o}from"@sankhyalabs/ezui/dist/collection/utils/form";import{T as h}from"./p-c2beb95c.js";import{T as l}from"./p-74724fa7.js";import{c as u}from"./p-f587a454.js";import"./p-7e475a6f.js";import"./p-75a83156.js";import{P as v}from"./p-f132e371.js";const g="__FORM:",c=class{constructor(s){i(this,s),this.exit=e(this,"exit",7),this.actionClick=e(this,"actionClick",7),this._branchesCache=new Map,this.dataUnit=void 0,this.dataState=void 0,this.configName=void 0,this.entityPath=void 0,this.actionsList=void 0,this.recordsValidator=void 0,this.masterFormConfig=void 0,this.selectedGuide=void 0,this.taskbarManager=void 0,this.presentationMode=void 0,this._breadcrumbItems=[],this._guides=void 0,this._formEditorConfigManager=void 0,this._formEditorDataUnit=void 0}observeDataUnit(){this.loadGuides(!0)}observeDataState(i,e){this.loadGuides((null==e?void 0:e.insertionMode)!=(null==i?void 0:i.insertionMode))}observeMasterFormConfig(){this.loadGuides(!1)}async showFormConfig(i=!1){const e=!i||null==this._currentDetail;this._formEditorConfigManager=e?this._configManager:this._currentDetail.formConfigManager,this._formEditorDataUnit=e?this.dataUnit:this._currentDetail.dataUnit}exitViewer(){this.dataUnit.isDirty()?this.dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}onActionClick(i){i.detail===l.CONFIGURATOR&&"master"!=i.target.dataset.taskbarOwner&&(this._snkConfigurator.open(),i.stopImmediatePropagation(),i.stopPropagation())}onContentCardChanged(i){c.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this._configManager).then((()=>this.masterFormConfig=this._configManager.getConfig(this.dataState.insertionMode,this.dataUnit)))}getMessage(i){return this._application.messagesBuilder.getMessage(i,this.dataUnit.getSelectedRecord())}loadGuides(i){if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this._masterFormMetadata=d(this.masterFormConfig,this.dataUnit,!0);const e=this._masterFormMetadata.getAllSheets(),s=this.dataUnit.getSelectedRecord(),t=!s||this.dataUnit.isNewRecord(s.__record__id__),r=[];Array.from(e.values()).forEach((i=>{const e={id:i.name,label:i.label};this.isDetail(i.name)&&t&&(e.tooltip="Para alterar detalhes é necessário estar com um registro selecionado.",e.disabled=!0),r.push(e)})),this._guides=r,i&&(this.selectedGuide=this._guides.length>0?this._guides[0]:void 0)}isDetail(i){return null!=o.getDetailName(i)}getChildrenMap(i){if(i&&Array.isArray(i.children))return new Map(i.children.map((i=>[i.id,i])))}restoreBranch(i,e){if(!e)return;const s=this.getChildrenMap(this._branchesCache.get(e));Array.isArray(i.children)&&s&&i.children.forEach((i=>{const e=s.get(i.id);e&&(i.children=e.children,i.expanded=e.expanded)})),this._branchesCache.set(e,i)}updateGuide(i,{item:e,recordId:s}){e&&this.restoreBranch(e,s),this._guideNavigator&&this._guideNavigator.getItem(i).then((i=>{i&&(i.children=e?[e]:void 0,i.expanded=!0,this._guideNavigator.updateItem(i),this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i})))}))}loadTaskbarProcessor(){var i,e;const s=(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkGuideViewer.finish_edition":"snkGuideViewer.regular",t=[];this.dataState&&this.dataState.hasPrevious||t.push("PREVIOUS"),this.dataState&&this.dataState.hasNext||t.push("NEXT"),(null===(e=this.dataState)||void 0===e?void 0:e.selectionInfo)&&(this.dataState.selectionInfo.length>1&&t.push("CLONE"),this.dataState.selectionInfo.isAllRecords()&&t.push("REMOVE"));const r=["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR"];this.presentationMode==v.SECONDARY?r.unshift("INSERT"):r.push("INSERT"),this._taskbarProcessor=new h({"snkGuideViewer.regular":r,"snkGuideViewer.finish_edition":["CANCEL","SAVE"]}),this._taskbarProcessor.process(s,this.taskbarManager,this.dataState,t)}static updateContentCard(i,e,s,t){return t.saveCardState(i,e,s)}static buildFixedForms(i,e,r,a,n,d){const o=null==i?void 0:i.cardsState;if(null!=o)return s(t,null,Array.from(o.entries()).filter((([i,e])=>(null==e?void 0:e.fixed)&&i!=r)).sort((([,i],[,e])=>((null==i?void 0:i.fixSequence)||0)-((null==e?void 0:e.fixSequence)||0))).map((([t,r])=>{var o;const h=e.getSheet(t);if(null!=h)return s("snk-form-view",{levelPath:d,label:h.label,name:t,fields:h.fields,formMetadata:e,dataUnit:a,recordsValidator:n,contracted:"CONTRACTED"===(null==r?void 0:r.presentation),fixed:null==r?void 0:r.fixed,summaryFields:null===(o=null==i?void 0:i.summary)||void 0===o?void 0:o.get(t),key:t})})))}wrapDetail(i,e){if(0===i.length)return e;const t=i.pop(),r=o.getDetailName(t);return r?this.wrapDetail(i,s("snk-data-unit",{dataUnitName:`${this.getDataUnitName(i,r)}`,entityName:r},e)):void 0}getDataUnitName(i,e){if(i.length>0){const s=i.map((i=>o.getDetailName(i)));return`${this.entityPath}/${s.join("/")}/${e}`}return`${this.entityPath}/${e}`}getContent(){var i,e,t,r;if(!this.selectedGuide)return;const a=this.selectedGuide.id;let n;const d=a.split("::"),h=d.pop(),l=o.getDetailName(h);let u=a;if(l||d.length>0){let i;a.includes(g)&&([u,i]=a.split(g)),n=this.wrapDetail(d,s("snk-detail-view",{ref:i=>this._currentDetail=i,dataUnitName:this.getDataUnitName(d,l),onSnkDetailGuidesChange:i=>this.updateGuide(u,i.detail),entityName:l,selectedForm:i,guideItemPath:this._breadcrumbItems,key:`detail${u}`,onSnkSwitchGuide:i=>this._guideNavigator.selectGuide(i.detail)}))}else{const d=this.selectedGuide.id,o=this._masterFormMetadata.getSheet(d);if(o){const h=null===(e=null===(i=this.masterFormConfig)||void 0===i?void 0:i.cardsState)||void 0===e?void 0:e.get(d);n=s("snk-form-view",{ref:i=>this._mainForm=i,fixed:null==h?void 0:h.fixed,summaryFields:null===(r=null===(t=this.masterFormConfig)||void 0===t?void 0:t.summary)||void 0===r?void 0:r.get(d),name:d,label:o.label,fields:o.fields,dataUnit:this.dataUnit,formMetadata:this._masterFormMetadata,recordsValidator:this.recordsValidator,key:a},this.presentationMode==v.SECONDARY&&this.buildTaskBar())}}return n}onBreadcrumbClickHandler(i){null!=(null==i?void 0:i.id)&&this._guideNavigator.selectGuide(i.id)}updateSelectedGuideHandler(i){this._guideHasChanged=this.selectedGuide!=i,this.selectedGuide=i,this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i}))}getConfigViewMode(){return u.GRID}changeConfigViewMode(i){this._currentDetail&&this._currentDetail.changeViewMode(i)}openConfig(i){this._snkConfigurator.close(),this._currentDetail&&(i===u.FORM?this.showFormConfig(!0):this._currentDetail.configGrid())}componentWillLoad(){this._application=r.getContextValue("__SNK__APPLICATION__"),this._configManager=new n(this.configName,(i=>this.masterFormConfig=i)),this._configManager.loadConfig()}componentDidRender(){this._guideHasChanged&&(this._currentDetail?this._currentDetail.showUp():this._mainForm&&this._mainForm.showUp(),this._guideHasChanged=!1)}buildTaskBar(){var i;return s("div",{class:"ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 "+(this.presentationMode!=v.SECONDARY?"ez-align--right":"ez-padding-bottom--medium")},s("snk-taskbar",{key:"guideViewerTaskbar","data-element-id":"guideViewer",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,presentationMode:this.presentationMode,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-taskbar-owner":"master",dataUnit:this.dataUnit}))}render(){var i,e;if(null!=this._formEditorConfigManager)return s("snk-form-config",{dataUnit:this._formEditorDataUnit,configManager:this._formEditorConfigManager,onConfigClose:()=>this._formEditorConfigManager=null});if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this.loadTaskbarProcessor();const t=this._guides&&this._guides.length>1;return s("section",{class:"snk-guides-viewer"},s("div",{class:"ez-row snk-guides-viewer__header"},s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large",key:"header"},s("ez-button",{onClick:()=>this.exitViewer(),title:this.getMessage("snkCrud.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small"}),s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto"},s("h1",{class:"ez-title ez-title--primary ez-title--xlarge"},this.getMessage("snkCrud.title")),(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)>1&&s("div",{class:"ez-margin-top--extra-small"},s("ez-breadcrumb",Object.assign({items:this._breadcrumbItems,onSelectedItem:i=>this.onBreadcrumbClickHandler(null==i?void 0:i.detail)},{[a.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${a.getInternalIDInfo("breadcrumb")}`}))))),this.presentationMode!=v.SECONDARY&&this.buildTaskBar()),s("div",{class:t?"snk-guides-viewer__container":void 0},t&&s("ez-guide-navigator",{ref:i=>this._guideNavigator=i,class:"snk-guides-viewer__guide-navigator",items:this._guides,selectedId:this.selectedGuide?this.selectedGuide.id:void 0,onEzChange:i=>this.updateSelectedGuideHandler(i.detail)}),s("div",{class:"snk-guides-viewer__detail-container"},c.buildFixedForms(this.masterFormConfig,this._masterFormMetadata,null===(e=this.selectedGuide)||void 0===e?void 0:e.id,this.dataUnit,this.recordsValidator),this.getContent())),s("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this.getConfigViewMode(),onConfigSelected:i=>this.changeConfigViewMode(i.detail),onOpenConfig:i=>this.openConfig(i.detail)}))}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observeDataState"],masterFormConfig:["observeMasterFormConfig"]}}};c.style=".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";export{c as S}
|
1
|
+
import{r as i,c as e,h as s,F as t}from"./p-b9667fbe.js";import{ApplicationContext as a,ElementIDUtils as r}from"@sankhyalabs/core";import{S as n}from"./p-664c1543.js";import{buildFormMetadata as d,FormMetadata as o}from"@sankhyalabs/ezui/dist/collection/utils/form";import{T as h}from"./p-c2beb95c.js";import{T as l}from"./p-74724fa7.js";import{c as u}from"./p-f587a454.js";import"./p-7e475a6f.js";import"./p-75a83156.js";import{P as v}from"./p-f132e371.js";const g="__FORM:",c=class{constructor(s){i(this,s),this.exit=e(this,"exit",7),this.actionClick=e(this,"actionClick",7),this._guideBuilders=new Map,this.dataUnit=void 0,this.dataState=void 0,this.configName=void 0,this.entityPath=void 0,this.actionsList=void 0,this.recordsValidator=void 0,this.masterFormConfig=void 0,this.selectedGuide=void 0,this.taskbarManager=void 0,this.presentationMode=void 0,this._breadcrumbItems=[],this._guides=void 0,this._formEditorConfigManager=void 0,this._formEditorDataUnit=void 0}observeDataUnit(){this.loadGuides(!0)}observeDataState(i,e){const s=null==i?void 0:i.selectedRecord,t=null==e?void 0:e.selectedRecord;(null==s?void 0:s.__record__id__)!==(null==t?void 0:t.__record__id__)&&this.loadGuides((null==e?void 0:e.insertionMode)!=(null==i?void 0:i.insertionMode))}observeMasterFormConfig(){this.loadGuides(!1)}async showFormConfig(i=!1){const e=!i||null==this._currentDetail;this._formEditorConfigManager=e?this._configManager:this._currentDetail.formConfigManager,this._formEditorDataUnit=e?this.dataUnit:this._currentDetail.dataUnit}exitViewer(){this.dataUnit.isDirty()?this.dataUnit.cancelEdition({after:()=>this.exit.emit()}):this.exit.emit()}onActionClick(i){i.detail===l.CONFIGURATOR&&"master"!=i.target.dataset.taskbarOwner&&(this._snkConfigurator.open(),i.stopImmediatePropagation(),i.stopPropagation())}onContentCardChanged(i){c.updateContentCard(i.detail.formName,i.detail.cardConfig,i.detail.propertyChanged,this._configManager).then((()=>this.masterFormConfig=this._configManager.getConfig(this.dataState.insertionMode,this.dataUnit)))}getMessage(i){return this._application.messagesBuilder.getMessage(i,this.dataUnit.getSelectedRecord())}loadGuides(i){if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this._masterFormMetadata=d(this.masterFormConfig,this.dataUnit,!0);const e=this._masterFormMetadata.getAllSheets(),s=this.dataUnit.getSelectedRecord(),t=!s||this.dataUnit.isNewRecord(s.__record__id__),a=[];Array.from(e.values()).forEach((i=>{const e={id:i.name,label:i.label};this.isDetail(i.name)&&t&&(e.tooltip="Para alterar detalhes é necessário estar com um registro selecionado.",e.disabled=!0),a.push(e)})),this._guides=a,this._guideNavigator&&this._guideNavigator.updateItem(this._guides),i&&(this.selectedGuide=this._guides.length>0?this._guides[0]:void 0)}isDetail(i){return null!=o.getDetailName(i)}updateGuide(i){this._guideBuilders.set(i.id,i);const e=i.buildGuideItem(this._guideBuilders);this._guideNavigator&&this._guideNavigator.updateItem(e).then((()=>{this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i}))}))}loadTaskbarProcessor(){var i,e;const s=(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"snkGuideViewer.finish_edition":"snkGuideViewer.regular",t=[];this.dataState&&this.dataState.hasPrevious||t.push("PREVIOUS"),this.dataState&&this.dataState.hasNext||t.push("NEXT"),(null===(e=this.dataState)||void 0===e?void 0:e.selectionInfo)&&(this.dataState.selectionInfo.length>1&&t.push("CLONE"),this.dataState.selectionInfo.isAllRecords()&&t.push("REMOVE"));const a=["PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","GRID_MODE","CONFIGURATOR"];this.presentationMode==v.SECONDARY?a.unshift("INSERT"):a.push("INSERT"),this._taskbarProcessor=new h({"snkGuideViewer.regular":a,"snkGuideViewer.finish_edition":["CANCEL","SAVE"]}),this._taskbarProcessor.process(s,this.taskbarManager,this.dataState,t)}static updateContentCard(i,e,s,t){return t.saveCardState(i,e,s)}static buildFixedForms(i,e,a,r,n,d){const o=null==i?void 0:i.cardsState;if(null!=o)return s(t,null,Array.from(o.entries()).filter((([i,e])=>(null==e?void 0:e.fixed)&&i!=a)).sort((([,i],[,e])=>((null==i?void 0:i.fixSequence)||0)-((null==e?void 0:e.fixSequence)||0))).map((([t,a])=>{var o;const h=e.getSheet(t);if(null!=h)return s("snk-form-view",{levelPath:d,label:h.label,name:t,fields:h.fields,formMetadata:e,dataUnit:r,recordsValidator:n,contracted:"CONTRACTED"===(null==a?void 0:a.presentation),fixed:null==a?void 0:a.fixed,summaryFields:null===(o=null==i?void 0:i.summary)||void 0===o?void 0:o.get(t),key:t})})))}wrapDetail(i,e){if(0===i.length)return e;const t=i.pop(),a=o.getDetailName(t);return a?this.wrapDetail(i,s("snk-data-unit",{dataUnitName:`${this.getDataUnitName(i,a)}`,entityName:a},e)):void 0}getDataUnitName(i,e){if(i.length>0){const s=i.map((i=>o.getDetailName(i)));return`${this.entityPath}/${s.join("/")}/${e}`}return`${this.entityPath}/${e}`}getContent(){var i,e,t,a,r;if(!this.selectedGuide)return;const n=this.selectedGuide.id;let d;const h=n.split("::"),l=h.pop(),u=o.getDetailName(l);let c=n;if(u||h.length>0){let e,t;if(n.includes(g)){[c,e]=n.split(g);const s=(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)||0;t=s>1?this._breadcrumbItems[s-2]:this.selectedGuide}else t=this.selectedGuide;d=this.wrapDetail(h,s("snk-detail-view",{ref:i=>this._currentDetail=i,dataUnitName:this.getDataUnitName(h,u),onSnkDetailGuidesChange:i=>this.updateGuide(i.detail),entityName:u,selectedForm:e,branchGuide:t,guideItemPath:this._breadcrumbItems,key:`detail${c}`,onSnkSwitchGuide:i=>this._guideNavigator.selectGuide(i.detail)}))}else{const i=this.selectedGuide.id,o=this._masterFormMetadata.getSheet(i);if(o){const h=null===(t=null===(e=this.masterFormConfig)||void 0===e?void 0:e.cardsState)||void 0===t?void 0:t.get(i);d=s("snk-form-view",{ref:i=>this._mainForm=i,fixed:null==h?void 0:h.fixed,summaryFields:null===(r=null===(a=this.masterFormConfig)||void 0===a?void 0:a.summary)||void 0===r?void 0:r.get(i),name:i,label:o.label,fields:o.fields,dataUnit:this.dataUnit,formMetadata:this._masterFormMetadata,recordsValidator:this.recordsValidator,key:n},this.presentationMode==v.SECONDARY&&this.buildTaskBar())}}return d}onBreadcrumbClickHandler(i){null!=(null==i?void 0:i.id)&&this._guideNavigator.selectGuide(i.id)}updateSelectedGuideHandler(i){this._guideHasChanged=this.selectedGuide!=i,this.selectedGuide=i,this._guideNavigator.getCurrentPath().then((i=>{this._breadcrumbItems=i}))}getConfigViewMode(){return u.GRID}changeConfigViewMode(i){this._currentDetail&&this._currentDetail.changeViewMode(i)}openConfig(i){this._snkConfigurator.close(),this._currentDetail&&(i===u.FORM?this.showFormConfig(!0):this._currentDetail.configGrid())}componentWillLoad(){this._application=a.getContextValue("__SNK__APPLICATION__"),this._configManager=new n(this.configName,(i=>this.masterFormConfig=i)),this._configManager.loadConfig()}componentDidRender(){this._guideHasChanged&&(this._currentDetail?this._currentDetail.showUp():this._mainForm&&this._mainForm.showUp(),this._guideHasChanged=!1)}buildTaskBar(){var i;return s("div",{class:"ez-col ez-flex-item--align-center ez-col--sd-6 ez-col--tb-6 "+(this.presentationMode!=v.SECONDARY?"ez-align--right":"ez-padding-bottom--medium")},s("snk-taskbar",{key:"guideViewerTaskbar","data-element-id":"guideViewer",configName:this.configName,buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,actionsList:this.actionsList,presentationMode:this.presentationMode,primaryButton:(null===(i=this.dataState)||void 0===i?void 0:i.isDirty)?"SAVE":"INSERT","data-taskbar-owner":"master",dataUnit:this.dataUnit}))}render(){var i,e;if(null!=this._formEditorConfigManager)return s("snk-form-config",{dataUnit:this._formEditorDataUnit,configManager:this._formEditorConfigManager,onConfigClose:()=>this._formEditorConfigManager=null});if(!this.dataUnit)return;if(!this._configManager.isLoaded)return;this.loadTaskbarProcessor();const t=this._guides&&this._guides.length>1;return s("section",{class:"snk-guides-viewer"},s("div",{class:"ez-row snk-guides-viewer__header"},s("div",{class:"ez-col ez-col--sd-6 ez-col--tb-6 ez-flex--align-items-center ez-flex-item--align-center ez-padding-left--large",key:"header"},s("ez-button",{onClick:()=>this.exitViewer(),title:this.getMessage("snkCrud.goBackTitle"),mode:"icon",iconName:"arrow_back",class:"ez-padding-right--medium",size:"small"}),s("div",{class:"ez-flex ez-flex--column ez-flex-item--auto"},s("h1",{class:"ez-title ez-title--primary ez-title--xlarge"},this.getMessage("snkCrud.title")),(null===(i=this._breadcrumbItems)||void 0===i?void 0:i.length)>1&&s("div",{class:"ez-margin-top--extra-small"},s("ez-breadcrumb",Object.assign({items:this._breadcrumbItems,onSelectedItem:i=>this.onBreadcrumbClickHandler(null==i?void 0:i.detail)},{[r.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${r.getInternalIDInfo("breadcrumb")}`}))))),this.presentationMode!=v.SECONDARY&&this.buildTaskBar()),s("div",{class:t?"snk-guides-viewer__container":void 0},t&&s("ez-guide-navigator",{ref:i=>this._guideNavigator=i,class:"snk-guides-viewer__guide-navigator",items:this._guides,selectedId:this.selectedGuide?this.selectedGuide.id:void 0,onEzChange:i=>this.updateSelectedGuideHandler(i.detail)}),s("div",{class:"snk-guides-viewer__detail-container"},c.buildFixedForms(this.masterFormConfig,this._masterFormMetadata,null===(e=this.selectedGuide)||void 0===e?void 0:e.id,this.dataUnit,this.recordsValidator),this.getContent())),s("snk-configurator",{ref:i=>this._snkConfigurator=i,viewMode:this.getConfigViewMode(),onConfigSelected:i=>this.changeConfigViewMode(i.detail),onOpenConfig:i=>this.openConfig(i.detail)}))}static get watchers(){return{dataUnit:["observeDataUnit"],dataState:["observeDataState"],masterFormConfig:["observeMasterFormConfig"]}}};c.style=".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";export{c as S}
|
@@ -1 +1 @@
|
|
1
|
-
export{S as snk_guides_viewer}from"./p-
|
1
|
+
export{S as snk_guides_viewer}from"./p-983fef8f.js";import"./p-b9667fbe.js";import"@sankhyalabs/core";import"./p-664c1543.js";import"./p-5fc11c5d.js";import"./p-86667fdf.js";import"./p-7e475a6f.js";import"./p-112455b1.js";import"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-c2beb95c.js";import"./p-74724fa7.js";import"./p-f132e371.js";import"./p-98f7f796.js";import"./p-f587a454.js";import"./p-75a83156.js";
|
@@ -1 +1 @@
|
|
1
|
-
import{p as e,b as t}from"./p-b9667fbe.js";export{s as setNonce}from"./p-b9667fbe.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),e(a)})().then((e=>t([["p-dd90bd52",[[6,"snk-simple-crud",{dataState:[16],dataUnit:[16],mode:[2],taskbarManager:[16],_currentViewMode:[32],_config:[32],goToView:[64],setMetadata:[64],setRecords:[64],getRecords:[64]},[[0,"actionClick","actionClickListener"]]]]],["p-e551b19a",[[1,"teste-pesquisa"]]],["p-86d29b6f",[[0,"snk-filter-binary-select",{value:[1544],config:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-79d22df0",[[2,"snk-filter-field-search",{searchable:[4],breadcrumbItems:[32],linkItems:[32],fieldItems:[32],setDataSource:[64],filterDataSource:[64]}]]],["p-ee82c157",[[0,"snk-filter-multi-select",{value:[1544],config:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-ad51bf1c",[[0,"snk-filter-number",{config:[16],value:[2],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-0154ae58",[[2,"snk-filter-param-config",{_opened:[32],_configType:[32],_expressionItem:[32],_informedInstance:[32],_canSave:[32],open:[64],close:[64]}]]],["p-5fc55684",[[0,"snk-filter-period",{config:[16],value:[8],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-d5c9c1f8",[[0,"snk-filter-personalized",{config:[16],value:[1040],fix:[16],unfix:[16],show:[64]}]]],["p-5e62a17b",[[0,"snk-filter-search",{config:[16],value:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-c336170d",[[0,"snk-filter-text",{config:[16],value:[1]},[[0,"ezChange","ezChangeListener"]]]]],["p-b3e71248",[[6,"snk-simple-bar",{label:[1],breadcrumbItens:[16]}]]],["p-
|
1
|
+
import{p as e,b as t}from"./p-b9667fbe.js";export{s as setNonce}from"./p-b9667fbe.js";(()=>{const t=import.meta.url,a={};return""!==t&&(a.resourcesUrl=new URL(".",t).href),e(a)})().then((e=>t([["p-dd90bd52",[[6,"snk-simple-crud",{dataState:[16],dataUnit:[16],mode:[2],taskbarManager:[16],_currentViewMode:[32],_config:[32],goToView:[64],setMetadata:[64],setRecords:[64],getRecords:[64]},[[0,"actionClick","actionClickListener"]]]]],["p-e551b19a",[[1,"teste-pesquisa"]]],["p-86d29b6f",[[0,"snk-filter-binary-select",{value:[1544],config:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-79d22df0",[[2,"snk-filter-field-search",{searchable:[4],breadcrumbItems:[32],linkItems:[32],fieldItems:[32],setDataSource:[64],filterDataSource:[64]}]]],["p-ee82c157",[[0,"snk-filter-multi-select",{value:[1544],config:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-ad51bf1c",[[0,"snk-filter-number",{config:[16],value:[2],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-0154ae58",[[2,"snk-filter-param-config",{_opened:[32],_configType:[32],_expressionItem:[32],_informedInstance:[32],_canSave:[32],open:[64],close:[64]}]]],["p-5fc55684",[[0,"snk-filter-period",{config:[16],value:[8],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-d5c9c1f8",[[0,"snk-filter-personalized",{config:[16],value:[1040],fix:[16],unfix:[16],show:[64]}]]],["p-5e62a17b",[[0,"snk-filter-search",{config:[16],value:[16],show:[64]},[[0,"ezChange","ezChangeListener"]]]]],["p-c336170d",[[0,"snk-filter-text",{config:[16],value:[1]},[[0,"ezChange","ezChangeListener"]]]]],["p-b3e71248",[[6,"snk-simple-bar",{label:[1],breadcrumbItens:[16]}]]],["p-10be1b2a",[[2,"snk-detail-view",{formConfigManager:[1040],dataUnitName:[1,"data-unit-name"],guideItemPath:[16],entityName:[1,"entity-name"],label:[1],dataUnit:[1040],selectedForm:[1025,"selected-form"],dataState:[1040],branchGuide:[16],_disabledButtons:[32],changeViewMode:[64],configGrid:[64],showUp:[64]},[[0,"snkContentCardChanged","onContentCardChanged"]]]]],["p-31d4e5d4",[[2,"snk-configurator",{configName:[1,"config-name"],viewMode:[2,"view-mode"],_opened:[32],_permissions:[32],open:[64],close:[64]}]]],["p-e701646c",[[2,"snk-pesquisa",{searchLoader:[16],selectItem:[16],argument:[1025],_itemList:[32],_startLoading:[32]}]]],["p-7d4bb27a",[[2,"snk-filter-bar",{dataUnit:[1040],configName:[1,"config-name"],filterConfig:[1040],allowDefault:[32],scrollerLocked:[32]},[[0,"filterChange","filterChangeListener"]]]]],["p-6ad356c2",[[2,"snk-grid-config",{selectedIndex:[1026,"selected-index"],application:[16],columns:[1040],config:[1040],configName:[1,"config-name"]}]]],["p-af8cf505",[[2,"snk-config-options",{fieldConfig:[16],idConfig:[513,"id-config"],dataUnit:[16],_defaultType:[32]}]]],["p-94fef424",[[2,"snk-data-unit",{dataState:[1040],dataUnitName:[1,"data-unit-name"],entityName:[1,"entity-name"],pageSize:[2,"page-size"],dataUnit:[1040],beforeSave:[16],afterSave:[16],getDataUnit:[64],getSelectedRecordsIDsInfo:[64]}]]],["p-f9ca6d74",[[2,"snk-field-config",{isConfigActive:[16],fieldConfig:[16],modeInsertion:[516,"mode-insertion"],dataUnit:[16]}]]],["p-c88c4f80",[[6,"snk-tab-config",{selectedIndex:[1538,"selected-index"],selectedTab:[1537,"selected-tab"],tabs:[1],_processedTabs:[32],_activeEditText:[32],_activeEditTextIndex:[32],_actionsHide:[32],_actionsShow:[32]}]]],["p-193b0fa5",[[2,"snk-form-config",{dataUnit:[16],configManager:[16],_formConfigOptions:[32],_fieldConfigSelected:[32],_layoutFormConfig:[32],_fieldsAvailable:[32],_formConfig:[32],_formConfigChanged:[32],_optionFormConfigSelected:[32],_optionFormConfigChanged:[32],_tempGroups:[32]}]]],["p-eb7b2496",[[6,"snk-taskbar",{configName:[1,"config-name"],buttons:[1],customButtons:[16],actionsList:[16],primaryButton:[1,"primary-button"],disabledButtons:[16],dataUnit:[16],presentationMode:[1537,"presentation-mode"],_permissions:[32]}]]],["p-3a2ce158",[[0,"snk-filter-item",{config:[1040],getMessage:[16],detailIsVisible:[32],showUp:[64],hideDetail:[64]},[[2,"click","clickListener"],[2,"mousedown","mouseDownListener"],[0,"filterChange","filterChangeListener"]]]]],["p-093febff",[[4,"snk-filter-list",{label:[1],iconName:[1,"icon-name"],items:[16],getMessage:[16],emptyText:[1,"empty-text"],findFilterText:[1,"find-filter-text"],buttonClass:[1,"button-class"],_filterArgument:[32],_showAll:[32],hideDetail:[64]},[[2,"keydown","keyDownHandler"]]]]],["p-3169584f",[[1,"snk-select-box",{selectedOption:[1,"selected-option"]}]]],["p-22e44b9d",[[0,"snk-exporter-email-sender",{getMessage:[16],_config:[32],_opened:[32],_currentStep:[32],open:[64],close:[64]}]]],["p-68507ace",[[2,"snk-data-exporter",{provider:[16],_items:[32],_showDropdown:[32],_releasedToExport:[32]}]]],["p-9ce550b7",[[2,"snk-guides-viewer",{_guideBuilders:[16],dataUnit:[16],dataState:[16],configName:[1,"config-name"],entityPath:[1,"entity-path"],actionsList:[16],recordsValidator:[16],masterFormConfig:[1040],selectedGuide:[16],taskbarManager:[16],presentationMode:[1,"presentation-mode"],_breadcrumbItems:[32],_guides:[32],_formEditorConfigManager:[32],_formEditorDataUnit:[32],showFormConfig:[64]},[[2,"actionClick","onActionClick"],[0,"snkContentCardChanged","onContentCardChanged"]]]]],["p-72277163",[[6,"snk-crud",{configName:[1025,"config-name"],actionsList:[16],taskbarManager:[16],recordsValidator:[16],statusResolver:[16],multipleSelection:[4,"multiple-selection"],presentationMode:[1,"presentation-mode"],_dataUnit:[32],_dataState:[32],_currentViewMode:[32],goToView:[64]}]]],["p-ecd3cad5",[[2,"snk-form",{configName:[1,"config-name"],recordsValidator:[16],_dataUnit:[32],_dataState:[32],_showFormConfig:[32],_configManager:[32],showConfig:[64],hideConfig:[64]}]]],["p-b9fe5ed3",[[2,"snk-application",{messagesBuilder:[1040],configName:[1,"config-name"],isUserSup:[64],hasAccess:[64],getAllAccess:[64],getStringParam:[64],getIntParam:[64],getFloatParam:[64],getBooleanParam:[64],getDateParam:[64],showPopUp:[64],showModal:[64],closeModal:[64],closePopUp:[64],temOpcional:[64],getConfig:[64],saveConfig:[64],getAttributeFromHTMLWrapper:[64],openApp:[64],webConnection:[64],createDataunit:[64],updateDataunitCache:[64],getDataUnit:[64],addClientEvent:[64],removeClientEvent:[64],hasClientEvent:[64],getResourceID:[64],getUserID:[64],alert:[64],error:[64],success:[64],message:[64],confirm:[64],info:[64],loadGridConfig:[64],loadTotals:[64],executeSearch:[64],executePreparedSearch:[64],isDebugMode:[64],getAppLabel:[64],addSearchListener:[64]}]]],["p-afba9bbe",[[0,"snk-filter-detail",{config:[1040],getMessage:[16],show:[64]}]]],["p-12d2dccf",[[6,"snk-grid",{configName:[1,"config-name"],actionsList:[16],isDetail:[4,"is-detail"],taskbarManager:[16],statusResolver:[16],multipleSelection:[4,"multiple-selection"],presentationMode:[1,"presentation-mode"],_dataUnit:[32],_dataState:[32],_gridConfig:[32],_popUpGridConfig:[32],showConfig:[64],hideConfig:[64],setConfig:[64]}]]],["p-900b2889",[[2,"snk-form-summary",{fixed:[1540],contracted:[1540],summary:[16]}]]],["p-9ebb164d",[[6,"snk-form-view",{levelPath:[1,"level-path"],label:[1],name:[1],fields:[16],formMetadata:[8,"form-metadata"],dataUnit:[16],contracted:[4],fixed:[1540],summaryFields:[16],canExpand:[4,"can-expand"],canFix:[4,"can-fix"],recordsValidator:[16],showUp:[64]}]]],["p-73e830cf",[[0,"snk-filter-modal",{getMessage:[16],items:[1040],modalTitle:[1,"modal-title"],modalSubTitle:[1,"modal-sub-title"],cancelButtonLabel:[1,"cancel-button-label"],okButtonLabel:[1,"ok-button-label"],infoText:[1,"info-text"],useSearch:[4,"use-search"],processModalAction:[16],_filterArgument:[32]}]]]],e)));
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { DataUnit } from "@sankhyalabs/core";
|
2
|
+
import { IGuideItem } from "@sankhyalabs/ezui/dist/types/components/ez-guide-navigator/interfaces";
|
3
|
+
import { FormMetadata } from "@sankhyalabs/ezui/dist/collection/utils/form";
|
4
|
+
export declare class GuideBuilder {
|
5
|
+
_parentGuide: IGuideItem;
|
6
|
+
_formMetadata: FormMetadata;
|
7
|
+
_dataUnit: DataUnit;
|
8
|
+
constructor(parentGuide: IGuideItem, formMetadata: FormMetadata, dataUnit: DataUnit);
|
9
|
+
get id(): string;
|
10
|
+
buildGuideItem(detailBuilders: Map<string, GuideBuilder>): IGuideItem;
|
11
|
+
}
|
@@ -5,6 +5,7 @@ import { IFormCardConfig } from '@sankhyalabs/ezui/dist/types/utils/form/interfa
|
|
5
5
|
import { DataState } from '../../snk-data-unit/snk-data-unit';
|
6
6
|
import { IGuideItem } from '@sankhyalabs/ezui/dist/types/components/ez-guide-navigator/interfaces';
|
7
7
|
import { VIEW_MODE } from '../../../lib/utils/constants';
|
8
|
+
import { GuideBuilder } from './GuideBuilder';
|
8
9
|
export declare class SnkDetailView {
|
9
10
|
private static REGEX_FORM_ID;
|
10
11
|
private _formMetadata;
|
@@ -12,7 +13,6 @@ export declare class SnkDetailView {
|
|
12
13
|
private _snkGrid;
|
13
14
|
private _snkFormView;
|
14
15
|
private _levelPath;
|
15
|
-
private _guideId;
|
16
16
|
private _disabledButtons;
|
17
17
|
/**
|
18
18
|
* Gerenciador de configuração do formulário.
|
@@ -46,6 +46,10 @@ export declare class SnkDetailView {
|
|
46
46
|
* Representa o estado do dataUnit detail.
|
47
47
|
*/
|
48
48
|
dataState: DataState;
|
49
|
+
/**
|
50
|
+
* Galho a partir do qual o detail está preso.
|
51
|
+
*/
|
52
|
+
branchGuide: IGuideItem;
|
49
53
|
observerDataState(newValue: DataState, oldValue: DataState): void;
|
50
54
|
/**
|
51
55
|
* Muda o modo de visualização do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM
|
@@ -60,10 +64,7 @@ export declare class SnkDetailView {
|
|
60
64
|
/**
|
61
65
|
* Emitido quando há necessidade de atualizar a estrutura de guias.
|
62
66
|
*/
|
63
|
-
snkDetailGuidesChange: EventEmitter<
|
64
|
-
item: IGuideItem;
|
65
|
-
recordId: string;
|
66
|
-
}>;
|
67
|
+
snkDetailGuidesChange: EventEmitter<GuideBuilder>;
|
67
68
|
/**
|
68
69
|
* Emitido quando há necessidade de comutar entre grid e form.
|
69
70
|
*/
|
@@ -74,9 +75,7 @@ export declare class SnkDetailView {
|
|
74
75
|
propertyChanged: string;
|
75
76
|
}>): void;
|
76
77
|
private updateLabel;
|
77
|
-
private getNewGuideItem;
|
78
78
|
private getFormGuideId;
|
79
|
-
private getChildGuideId;
|
80
79
|
private stripFormPattern;
|
81
80
|
private loadMetadata;
|
82
81
|
private dataUnitReadyHandler;
|
@@ -8,6 +8,7 @@ import { IBreadcrumbItem } from "@sankhyalabs/ezui/dist/types/components/ez-brea
|
|
8
8
|
import { IGuideItem } from "@sankhyalabs/ezui/dist/types/components/ez-guide-navigator/interfaces";
|
9
9
|
import { Action, TaskbarManager } from "../../snk-taskbar/snk-taskbar";
|
10
10
|
import { PresentationMode } from "../../../lib";
|
11
|
+
import { GuideBuilder } from "./GuideBuilder";
|
11
12
|
export declare class SnkGuidesViewer {
|
12
13
|
private _application;
|
13
14
|
private _configManager;
|
@@ -15,10 +16,10 @@ export declare class SnkGuidesViewer {
|
|
15
16
|
private _guideNavigator;
|
16
17
|
private _taskbarProcessor;
|
17
18
|
private _snkConfigurator;
|
18
|
-
private _branchesCache;
|
19
19
|
private _currentDetail;
|
20
20
|
private _mainForm;
|
21
21
|
private _guideHasChanged;
|
22
|
+
_guideBuilders: Map<string, GuideBuilder>;
|
22
23
|
/**
|
23
24
|
* Instância do DataUnit master.
|
24
25
|
*/
|
@@ -97,8 +98,6 @@ export declare class SnkGuidesViewer {
|
|
97
98
|
private getMessage;
|
98
99
|
private loadGuides;
|
99
100
|
private isDetail;
|
100
|
-
private getChildrenMap;
|
101
|
-
private restoreBranch;
|
102
101
|
private updateGuide;
|
103
102
|
private loadTaskbarProcessor;
|
104
103
|
static updateContentCard(formName: string, cardConfig: IFormCardConfig, propertyChanged: string, configManager: SnkFormConfigManager): Promise<Map<string, IFormCardConfig>>;
|
@@ -25,6 +25,7 @@ import { IRecordID } from "./components/snk-data-exporter/interfaces/IRecordID";
|
|
25
25
|
import { SnkFormConfigManager } from "./components/snk-form/SnkFormConfigManager";
|
26
26
|
import { IGuideItem } from "@sankhyalabs/ezui/dist/types/components/ez-guide-navigator/interfaces";
|
27
27
|
import { DataState as DataState1 } from "./components/snk-data-unit/snk-data-unit";
|
28
|
+
import { GuideBuilder } from "./components/snk-crud/subcomponents/GuideBuilder";
|
28
29
|
import { IExportResult } from "./components/snk-data-exporter/data/export-result";
|
29
30
|
import { IExportConfig } from "./components/snk-data-exporter/data/export-config";
|
30
31
|
import { SnkFilterItemConfig } from "./components/snk-filter-bar/filter-item/snk-filter-item";
|
@@ -330,6 +331,10 @@ export namespace Components {
|
|
330
331
|
"pageSize": number;
|
331
332
|
}
|
332
333
|
interface SnkDetailView {
|
334
|
+
/**
|
335
|
+
* Galho a partir do qual o detail está preso.
|
336
|
+
*/
|
337
|
+
"branchGuide": IGuideItem;
|
333
338
|
/**
|
334
339
|
* Muda o modo de visualização do componente entre VIEW_MODE.GRID e VIEW_MODE.FORM
|
335
340
|
* @param mode - Novo modo que o componente deve ser apresentado.
|
@@ -789,6 +794,7 @@ export namespace Components {
|
|
789
794
|
"selectedIndex": number;
|
790
795
|
}
|
791
796
|
interface SnkGuidesViewer {
|
797
|
+
"_guideBuilders": Map<string, GuideBuilder>;
|
792
798
|
/**
|
793
799
|
* Ações a serem colocadas no botão "Mais opções" do componente snk-taskbar.
|
794
800
|
*/
|
@@ -1425,6 +1431,10 @@ declare namespace LocalJSX {
|
|
1425
1431
|
"pageSize"?: number;
|
1426
1432
|
}
|
1427
1433
|
interface SnkDetailView {
|
1434
|
+
/**
|
1435
|
+
* Galho a partir do qual o detail está preso.
|
1436
|
+
*/
|
1437
|
+
"branchGuide"?: IGuideItem;
|
1428
1438
|
/**
|
1429
1439
|
* Representa o estado do dataUnit detail.
|
1430
1440
|
*/
|
@@ -1456,7 +1466,7 @@ declare namespace LocalJSX {
|
|
1456
1466
|
/**
|
1457
1467
|
* Emitido quando há necessidade de atualizar a estrutura de guias.
|
1458
1468
|
*/
|
1459
|
-
"onSnkDetailGuidesChange"?: (event: SnkDetailViewCustomEvent<
|
1469
|
+
"onSnkDetailGuidesChange"?: (event: SnkDetailViewCustomEvent<GuideBuilder>) => void;
|
1460
1470
|
/**
|
1461
1471
|
* Emitido quando há necessidade de comutar entre grid e form.
|
1462
1472
|
*/
|
@@ -1864,6 +1874,7 @@ declare namespace LocalJSX {
|
|
1864
1874
|
"selectedIndex"?: number;
|
1865
1875
|
}
|
1866
1876
|
interface SnkGuidesViewer {
|
1877
|
+
"_guideBuilders"?: Map<string, GuideBuilder>;
|
1867
1878
|
/**
|
1868
1879
|
* Ações a serem colocadas no botão "Mais opções" do componente snk-taskbar.
|
1869
1880
|
*/
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
import{r as t,c as i,f as s,h as e,H as a}from"./p-b9667fbe.js";import{S as o}from"./p-664c1543.js";import{FormMetadata as h,buildFormMetadata as r}from"@sankhyalabs/ezui/dist/collection/utils/form";import"./p-7e475a6f.js";import"./p-75a83156.js";import"@sankhyalabs/core";import{P as n}from"./p-f132e371.js";import{T as d}from"./p-74724fa7.js";import{c as l}from"./p-f587a454.js";import{S as c}from"./p-a78dd297.js";import"./p-5fc11c5d.js";import"./p-86667fdf.js";import"./p-112455b1.js";import"./p-98f7f796.js";import"./p-c2beb95c.js";const u=class{constructor(s){t(this,s),this.snkDetailGuidesChange=i(this,"snkDetailGuidesChange",7),this.snkSwitchGuide=i(this,"snkSwitchGuide",7),this._disabledButtons=void 0,this.formConfigManager=void 0,this.dataUnitName=void 0,this.guideItemPath=void 0,this.entityName=void 0,this.label=void 0,this.dataUnit=void 0,this.selectedForm=void 0,this.dataState=void 0}observerDataState(t,i){var s;const e=!(null==i?void 0:i.insertionMode)&&(null==t?void 0:t.insertionMode),a=(null==i?void 0:i.insertionMode)&&!(null==t?void 0:t.insertionMode);if((e||a)&&this.loadMetadata(),null==this._formMetadata)return;const o=null===(s=this.dataState)||void 0===s?void 0:s.selectedRecord,h=this.getNewGuideItem(o);this.snkDetailGuidesChange.emit({item:h,recordId:null==o?void 0:o.__record__id__}),e&&setTimeout((()=>{this.changeViewMode(l.FORM)}),0),a&&this.changeViewMode(l.GRID);const r=[];this.dataState.hasPrevious||r.push(d.PREVIOUS),this.dataState.hasNext||r.push(d.NEXT),this._disabledButtons=r}async changeViewMode(t){this.emitSwitchEvent(t)}async configGrid(){this._snkGrid&&this._snkGrid.showConfig()}async showUp(){this._snkFormView&&this._snkFormView.showUp(),this._snkGrid&&this._snkGrid.scrollIntoView({behavior:"smooth",block:"start"})}onContentCardChanged(t){c.updateContentCard(t.detail.formName,t.detail.cardConfig,t.detail.propertyChanged,this.formConfigManager).then((()=>s(this))),t.stopPropagation()}updateLabel(){const t=this.guideItemPath?this.guideItemPath.length:0;if(t>0){const i=t>0?this.guideItemPath.map((t=>t.label)):void 0;this.label=i.pop(),this._levelPath=i.length>0?i.join(" / "):void 0,this._guideId=this.guideItemPath[t-1].id}else this.label="",this._levelPath=void 0,this._guideId=void 0}getNewGuideItem(t){if(null==t)return;const i=this.dataUnit.isNewRecord(t.__record__id__),s=Array.from(this._formMetadata.getAllSheets().values()).map((t=>{const{name:s,label:e}=t,a=null!=h.getDetailName(s.split("::").pop()),o=a&&i;return{id:a?this.getChildGuideId(s):this.getFormGuideId(s),label:e,disabled:o,tooltip:o?"Finalize o cadastro para ter acesso a esta guia.":void 0}})),e=s.shift();return e.label=i?"Novo Registro":t.__record__label__,e.children=s,e.expanded=!0,e}getFormGuideId(t){var i;if(!t){if(null==(null===(i=this.dataState)||void 0===i?void 0:i.selectedRecord))return;const s=Array.from(this._formMetadata.getAllSheets().keys());if(!s||0==s.length)return;t=s[0]}return`${this.stripFormPattern(this._guideId)}__FORM:${t}`}getChildGuideId(t){return`${this.stripFormPattern(this._guideId)}::${t}`}stripFormPattern(t){return t.replace(u.REGEX_FORM_ID,"")}loadMetadata(){var t;if(!this.dataUnit)return;if(!this.formConfigManager.isLoaded)return;const i=this.formConfigManager.getConfig(null===(t=this.dataState)||void 0===t?void 0:t.insertionMode,this.dataUnit);this._formMetadata=r(null==i||0===i.fields.length?void 0:i,this.dataUnit,!0)}dataUnitReadyHandler(t){this.dataUnit=t.detail,this.loadMetadata()}updateViewStack(t){t.show(this.selectedForm?1:0)}getFormFields(){return this.selectedForm&&this._formMetadata?this._formMetadata.getSheet(this.selectedForm).fields:[]}emitSwitchEvent(t){const i=t===l.GRID?this.stripFormPattern(this._guideId):this.getFormGuideId();i&&this.snkSwitchGuide.emit(i)}executeActionHandler(t){t.detail===d.GRID_MODE&&(this.emitSwitchEvent(l.GRID),t.stopPropagation()),t.detail===d.FORM_MODE&&(this.emitSwitchEvent(l.FORM),t.stopPropagation())}componentWillLoad(){this._configName=`dynaform.${this.entityName}`,this.formConfigManager=new o(this._configName,(()=>this.loadMetadata())),this.formConfigManager.loadConfig()}render(){return this.updateLabel(),e(a,null,e("snk-data-unit",{dataUnitName:`${this.dataUnitName}`,onDataUnitReady:t=>this.dataUnitReadyHandler(t),entityName:this.entityName,onDataStateChange:t=>this.dataState=t.detail},e("ez-view-stack",{ref:t=>this.updateViewStack(t)},e("stack-item",null,e("div",{class:"ez-box ez-box--shadow grid-container"},e("div",{class:"ez-flex ez-size-width--full ez-padding--large detail-header"},e("div",{class:"ez-flex ez-text ez-text--bold ez-flex--justify-start ez-flex--align-items-center"},this._levelPath?e("span",{class:"level-path"},this._levelPath+" /"):void 0,this.label)),e("snk-grid",{class:"ez-size-width--full ez-size-height--full",ref:t=>this._snkGrid=t,configName:this._configName,onGridDoubleClick:()=>this.emitSwitchEvent(l.FORM),onActionClick:t=>this.executeActionHandler(t),presentationMode:n.SECONDARY,isDetail:!0}))),e("stack-item",null,e("snk-form-view",{ref:t=>this._snkFormView=t,canExpand:!1,canFix:!1,name:this.selectedForm,formMetadata:this._formMetadata,dataUnit:this.dataUnit,fields:this.getFormFields(),label:this.label,levelPath:this._levelPath},e("snk-taskbar",{key:"guideViewerTaskbar",class:"form-taskbar","data-element-id":"guideViewer",configName:this._configName,disabledButtons:this._disabledButtons,buttons:"INSERT,PREVIOUS,NEXT,DIVIDER,CLONE,REMOVE,MORE_OPTIONS,DIVIDER,GRID_MODE,CONFIGURATOR",primaryButton:"INSERT",presentationMode:n.SECONDARY,onActionClick:t=>this.executeActionHandler(t),dataUnit:this.dataUnit}))))))}static get watchers(){return{dataState:["observerDataState"]}}};u.REGEX_FORM_ID=/__FORM:[^:]+/g,u.style=".sc-snk-detail-view-h{display:flex;row-gap:24px;flex-direction:column;width:100%;height:100%}.level-path.sc-snk-detail-view{color:var(--color--title-primary, #2B3A54);font-weight:var(--text-weight--medium, 400);padding-right:3px}.form-taskbar.sc-snk-detail-view{padding-bottom:var(--space--medium)}.grid-container.sc-snk-detail-view{background-color:#FFF;min-height:100px}.detail-header.sc-snk-detail-view{padding-bottom:0}";export{u as snk_detail_view}
|