@sankhyalabs/sankhyablocks 4.5.1 → 4.5.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/snk-simple-crud.cjs.entry.js +11 -5
- package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +13 -5
- package/dist/components/snk-simple-crud.js +12 -6
- package/dist/esm/snk-simple-crud.entry.js +12 -6
- package/dist/sankhyablocks/p-8490ca88.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +1 -0
- package/package.json +1 -1
- package/dist/sankhyablocks/p-b5ba7ee0.entry.js +0 -1
@@ -171,6 +171,11 @@ const SnkSimpleCrud = class {
|
|
171
171
|
this.initInMemoryDataUnit();
|
172
172
|
}
|
173
173
|
}
|
174
|
+
observeDataState(newValue, oldValue) {
|
175
|
+
if (core.ObjectUtils.objectToString(oldValue) != core.ObjectUtils.objectToString(newValue)) {
|
176
|
+
this.dataStateChange.emit(newValue);
|
177
|
+
}
|
178
|
+
}
|
174
179
|
componentWillRender() {
|
175
180
|
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, undefined);
|
176
181
|
}
|
@@ -226,9 +231,10 @@ const SnkSimpleCrud = class {
|
|
226
231
|
userInterface: core.UserInterface[fieldElem.getAttribute("userInterface")] || core.UserInterface.SHORTTEXT,
|
227
232
|
readOnly: fieldElem.getAttribute("readOnly") == "true",
|
228
233
|
required: fieldElem.getAttribute("required") == "true",
|
229
|
-
tab: fieldElem.getAttribute("tab") || undefined
|
234
|
+
tab: fieldElem.getAttribute("tab") || undefined,
|
235
|
+
visible: fieldElem.getAttribute("visible") != "false"
|
230
236
|
};
|
231
|
-
const fieldConfig = { name: field.name, tab: field.tab };
|
237
|
+
const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
|
232
238
|
formConfig.fields.push(fieldConfig);
|
233
239
|
fieldMetadata.push(field);
|
234
240
|
});
|
@@ -242,8 +248,7 @@ const SnkSimpleCrud = class {
|
|
242
248
|
}
|
243
249
|
}
|
244
250
|
onDataStateChange(evt) {
|
245
|
-
this.
|
246
|
-
this.dataState = evt.detail;
|
251
|
+
this.dataState = Object.assign({}, evt.detail);
|
247
252
|
}
|
248
253
|
render() {
|
249
254
|
var _a;
|
@@ -251,7 +256,8 @@ const SnkSimpleCrud = class {
|
|
251
256
|
}
|
252
257
|
get _element() { return index.getElement(this); }
|
253
258
|
static get watchers() { return {
|
254
|
-
"mode": ["onModeChange"]
|
259
|
+
"mode": ["onModeChange"],
|
260
|
+
"dataState": ["observeDataState"]
|
255
261
|
}; }
|
256
262
|
};
|
257
263
|
SnkSimpleCrud.style = snkSimpleCrudCss;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataType, UserInterface } from '@sankhyalabs/core';
|
1
|
+
import { DataType, ObjectUtils, UserInterface } from '@sankhyalabs/core';
|
2
2
|
import { h } from '@stencil/core';
|
3
3
|
import { VIEW_MODE, SIMPLE_CRUD_MODE } from '../../lib/utils/constants';
|
4
4
|
import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
|
@@ -47,6 +47,11 @@ export class SnkSimpleCrud {
|
|
47
47
|
this.initInMemoryDataUnit();
|
48
48
|
}
|
49
49
|
}
|
50
|
+
observeDataState(newValue, oldValue) {
|
51
|
+
if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
|
52
|
+
this.dataStateChange.emit(newValue);
|
53
|
+
}
|
54
|
+
}
|
50
55
|
componentWillRender() {
|
51
56
|
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, undefined);
|
52
57
|
}
|
@@ -102,9 +107,10 @@ export class SnkSimpleCrud {
|
|
102
107
|
userInterface: UserInterface[fieldElem.getAttribute("userInterface")] || UserInterface.SHORTTEXT,
|
103
108
|
readOnly: fieldElem.getAttribute("readOnly") == "true",
|
104
109
|
required: fieldElem.getAttribute("required") == "true",
|
105
|
-
tab: fieldElem.getAttribute("tab") || undefined
|
110
|
+
tab: fieldElem.getAttribute("tab") || undefined,
|
111
|
+
visible: fieldElem.getAttribute("visible") != "false"
|
106
112
|
};
|
107
|
-
const fieldConfig = { name: field.name, tab: field.tab };
|
113
|
+
const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
|
108
114
|
formConfig.fields.push(fieldConfig);
|
109
115
|
fieldMetadata.push(field);
|
110
116
|
});
|
@@ -118,8 +124,7 @@ export class SnkSimpleCrud {
|
|
118
124
|
}
|
119
125
|
}
|
120
126
|
onDataStateChange(evt) {
|
121
|
-
this.
|
122
|
-
this.dataState = evt.detail;
|
127
|
+
this.dataState = Object.assign({}, evt.detail);
|
123
128
|
}
|
124
129
|
render() {
|
125
130
|
var _a;
|
@@ -377,6 +382,9 @@ export class SnkSimpleCrud {
|
|
377
382
|
return [{
|
378
383
|
"propName": "mode",
|
379
384
|
"methodName": "onModeChange"
|
385
|
+
}, {
|
386
|
+
"propName": "dataState",
|
387
|
+
"methodName": "observeDataState"
|
380
388
|
}];
|
381
389
|
}
|
382
390
|
static get listeners() {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
2
|
-
import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, UserInterface } from '@sankhyalabs/core';
|
2
|
+
import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, ObjectUtils, UserInterface } from '@sankhyalabs/core';
|
3
3
|
import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
|
4
4
|
import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
|
5
5
|
import './DataFetcher.js';
|
@@ -169,6 +169,11 @@ const SnkSimpleCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
169
169
|
this.initInMemoryDataUnit();
|
170
170
|
}
|
171
171
|
}
|
172
|
+
observeDataState(newValue, oldValue) {
|
173
|
+
if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
|
174
|
+
this.dataStateChange.emit(newValue);
|
175
|
+
}
|
176
|
+
}
|
172
177
|
componentWillRender() {
|
173
178
|
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, undefined);
|
174
179
|
}
|
@@ -224,9 +229,10 @@ const SnkSimpleCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
224
229
|
userInterface: UserInterface[fieldElem.getAttribute("userInterface")] || UserInterface.SHORTTEXT,
|
225
230
|
readOnly: fieldElem.getAttribute("readOnly") == "true",
|
226
231
|
required: fieldElem.getAttribute("required") == "true",
|
227
|
-
tab: fieldElem.getAttribute("tab") || undefined
|
232
|
+
tab: fieldElem.getAttribute("tab") || undefined,
|
233
|
+
visible: fieldElem.getAttribute("visible") != "false"
|
228
234
|
};
|
229
|
-
const fieldConfig = { name: field.name, tab: field.tab };
|
235
|
+
const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
|
230
236
|
formConfig.fields.push(fieldConfig);
|
231
237
|
fieldMetadata.push(field);
|
232
238
|
});
|
@@ -240,8 +246,7 @@ const SnkSimpleCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
240
246
|
}
|
241
247
|
}
|
242
248
|
onDataStateChange(evt) {
|
243
|
-
this.
|
244
|
-
this.dataState = evt.detail;
|
249
|
+
this.dataState = Object.assign({}, evt.detail);
|
245
250
|
}
|
246
251
|
render() {
|
247
252
|
var _a;
|
@@ -249,7 +254,8 @@ const SnkSimpleCrud$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
|
|
249
254
|
}
|
250
255
|
get _element() { return this; }
|
251
256
|
static get watchers() { return {
|
252
|
-
"mode": ["onModeChange"]
|
257
|
+
"mode": ["onModeChange"],
|
258
|
+
"dataState": ["observeDataState"]
|
253
259
|
}; }
|
254
260
|
static get style() { return snkSimpleCrudCss; }
|
255
261
|
}, [6, "snk-simple-crud", {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
|
2
|
-
import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, UserInterface } from '@sankhyalabs/core';
|
2
|
+
import { DataUnit, StringUtils, SortMode, DataType, ChangeOperation, ObjectUtils, UserInterface } from '@sankhyalabs/core';
|
3
3
|
import { c as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants-9560e54f.js';
|
4
4
|
import { T as TaskbarElement } from './taskbar-elements-10d80c79.js';
|
5
5
|
import './DataFetcher-5e99fa75.js';
|
@@ -167,6 +167,11 @@ const SnkSimpleCrud = class {
|
|
167
167
|
this.initInMemoryDataUnit();
|
168
168
|
}
|
169
169
|
}
|
170
|
+
observeDataState(newValue, oldValue) {
|
171
|
+
if (ObjectUtils.objectToString(oldValue) != ObjectUtils.objectToString(newValue)) {
|
172
|
+
this.dataStateChange.emit(newValue);
|
173
|
+
}
|
174
|
+
}
|
170
175
|
componentWillRender() {
|
171
176
|
this._taskbarProcessor.process(this.getTaskBarId(), this.taskbarManager, this.dataState, undefined);
|
172
177
|
}
|
@@ -222,9 +227,10 @@ const SnkSimpleCrud = class {
|
|
222
227
|
userInterface: UserInterface[fieldElem.getAttribute("userInterface")] || UserInterface.SHORTTEXT,
|
223
228
|
readOnly: fieldElem.getAttribute("readOnly") == "true",
|
224
229
|
required: fieldElem.getAttribute("required") == "true",
|
225
|
-
tab: fieldElem.getAttribute("tab") || undefined
|
230
|
+
tab: fieldElem.getAttribute("tab") || undefined,
|
231
|
+
visible: fieldElem.getAttribute("visible") != "false"
|
226
232
|
};
|
227
|
-
const fieldConfig = { name: field.name, tab: field.tab };
|
233
|
+
const fieldConfig = { name: field.name, tab: field.tab, visible: field.visible };
|
228
234
|
formConfig.fields.push(fieldConfig);
|
229
235
|
fieldMetadata.push(field);
|
230
236
|
});
|
@@ -238,8 +244,7 @@ const SnkSimpleCrud = class {
|
|
238
244
|
}
|
239
245
|
}
|
240
246
|
onDataStateChange(evt) {
|
241
|
-
this.
|
242
|
-
this.dataState = evt.detail;
|
247
|
+
this.dataState = Object.assign({}, evt.detail);
|
243
248
|
}
|
244
249
|
render() {
|
245
250
|
var _a;
|
@@ -247,7 +252,8 @@ const SnkSimpleCrud = class {
|
|
247
252
|
}
|
248
253
|
get _element() { return getElement(this); }
|
249
254
|
static get watchers() { return {
|
250
|
-
"mode": ["onModeChange"]
|
255
|
+
"mode": ["onModeChange"],
|
256
|
+
"dataState": ["observeDataState"]
|
251
257
|
}; }
|
252
258
|
};
|
253
259
|
SnkSimpleCrud.style = snkSimpleCrudCss;
|
@@ -0,0 +1 @@
|
|
1
|
+
import{r as t,c as e,h as s,g as i}from"./p-b9667fbe.js";import{DataUnit as r,StringUtils as a,SortMode as n,DataType as o,ChangeOperation as h,ObjectUtils as d,UserInterface as l}from"@sankhyalabs/core";import{c as m,S as u}from"./p-ecbfbb4a.js";import{T as c}from"./p-74724fa7.js";import"./p-0c11c980.js";import{P as p}from"./p-f132e371.js";import{T as b}from"./p-5a3e0eb6.js";import"./p-98f7f796.js";import"./p-112455b1.js";class k{constructor(t,e){this.records=e||[],this.metadata=t,this._dataUnit=new r("InMemoryDataUnit"),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(t,e)=>this.dataLoader(t,e),this._dataUnit.saveLoader=(t,e)=>this.saveLoader(t,e),this._dataUnit.removeLoader=(t,e)=>this.removeLoader(t,e),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}get dataUnit(){return this._dataUnit}get records(){return this._records}set records(t){this._records=null==t?void 0:t.map((t=>(t.__record__id__||(t.__record__id__=this.generateUniqueId()),t))),this._dataUnit&&(this._dataUnit.records=[...this._records])}get metadata(){return this._metadata}set metadata(t){this._metadata=t,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return a.generateUUID()}metadaLoader(){return Promise.resolve(this._metadata)}dataLoader(t,e){let s=[...this._records];return e.sort&&e.sort.forEach((t=>{s=s.sort(((e,s)=>{const i=e[t.field],r=s[t.field];return this.getSortFn(t.dataType)(i,r)*(t.mode==n.ASC?1:-1)}))})),Promise.resolve({records:s})}getSortFn(t){switch(t){case o.NUMBER:return this.sortNumber;case o.DATE:return this.sortDate;case o.OBJECT:return this.sortObject;default:return a.compare}}sortObject(t,e){return a.compare(t.label,e.label)}sortNumber(t,e){return t-e}sortDate(t,e){let s=t.getTime(),i=e.getTime();return s===i?0:s<i?-1:1}saveLoader(t,e){return new Promise((t=>{let s=[];e.forEach((t=>{let{record:e,updatingFields:i,operation:r}=t,a=!1;r!==h.INSERT&&r!==h.COPY||(e.__old__id__=e.__record__id__,e.__record__id__=this.generateUniqueId(),a=!0);const n=Object.assign(Object.assign({},e),i);if(a)this.records.push(n);else{const t=this.records.findIndex((t=>t.__record__id__==n.__record__id__));this.records[t]=n}s.push(n)})),t(s)}))}removeLoader(t,e){return new Promise((t=>{this._records=this._records.filter((t=>!e.includes(t.__record__id__))),t(e)}))}}const g=class{constructor(s){t(this,s),this.dataStateChange=e(this,"dataStateChange",3),this.dataUnitReady=e(this,"dataUnitReady",3),this.REGULAR_DEFAULT_BTNS=["INSERT","PREVIOUS","NEXT","DIVIDER"],this.REGULAR_SELECTED_BTNS=["INSERT","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER"],this._taskbarProcessor=new b({"snkSimpleCrudTaskbar.form_regular":this.REGULAR_DEFAULT_BTNS.concat(c.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.REGULAR_DEFAULT_BTNS.concat(c.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.REGULAR_SELECTED_BTNS.concat(c.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.REGULAR_SELECTED_BTNS.concat(c.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._currentViewMode=m.GRID,this._config=void 0,this.dataState=void 0,this.dataUnit=void 0,this.mode=u.SERVER,this.taskbarManager=void 0}async goToView(t){this._currentViewMode=t,this._viewStack&&this._viewStack.show(t)}actionClickListener(t){const e=t.detail;e===c.GRID_MODE?this.goToView(m.GRID):e===c.FORM_MODE&&this.goToView(m.FORM),t.stopPropagation()}onModeChange(){this.mode==u.IN_MEMORY&&this.initInMemoryDataUnit()}observeDataState(t,e){d.objectToString(e)!=d.objectToString(t)&&this.dataStateChange.emit(t)}componentWillRender(){this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,void 0)}componentWillLoad(){this.processMetadata(),this.onModeChange()}getTaskBarId(){var t,e;return(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(e=this.dataState)||void 0===e?void 0:e.selectedRecords.length)>0?this._currentViewMode===m.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===m.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new k(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(t){return this._inMemoryLoader?this._inMemoryLoader.metadata=t:this.dataUnit&&(this.dataUnit.metadata=t),Promise.resolve()}setRecords(t){return this._inMemoryLoader?this._inMemoryLoader.records=t:this.dataUnit&&(this.dataUnit.records=t),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}processMetadata(){const t=this._element.querySelectorAll("snk-field-metadata"),e=[],s={fields:[],emptyConfig:!1};t.forEach((t=>{const i={name:t.getAttribute("name")||t.getAttribute("label"),label:t.getAttribute("label"),dataType:o[t.getAttribute("dataType")]||o.TEXT,userInterface:l[t.getAttribute("userInterface")]||l.SHORTTEXT,readOnly:"true"==t.getAttribute("readOnly"),required:"true"==t.getAttribute("required"),tab:t.getAttribute("tab")||void 0,visible:"false"!=t.getAttribute("visible")};s.fields.push({name:i.name,tab:i.tab,visible:i.visible}),e.push(i)})),e.length>0&&(this._config=s,this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:e})}onDataStateChange(t){this.dataState=Object.assign({},t.detail)}render(){var t;return s("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,onDataStateChange:t=>this.onDataStateChange(t),onInsertionMode:()=>this.goToView(m.FORM),onDataUnitReady:t=>this.dataUnitReady.emit(t.detail)},s("header",null,s("slot",{name:"snkSimpleCrudHeader"})),s("section",{class:"ez-flex ez-box ez-box--shadow"},s("snk-taskbar",{class:"simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium",dataUnit:this.dataUnit,primaryButton:(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:p.SECONDARY}),s("ez-view-stack",{class:"ez-flex ez-flex--column",ref:t=>this._viewStack=t,"data-element-id":"simple-crud"},s("stack-item",null,s("ez-grid",{dataUnit:this.dataUnit,onEzDoubleClick:()=>this.goToView(m.FORM),"no-header":!0},s("div",{slot:"footer"},s("slot",{name:"snkSimpleCrudFooter"})))),s("stack-item",null,s("ez-form",{dataUnit:this.dataUnit,config:this._config})))))}get _element(){return i(this)}static get watchers(){return{mode:["onModeChange"],dataState:["observeDataState"]}}};g.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}.simple-crud__taskbar.sc-snk-simple-crud{z-index:var(--more-visible, 2);margin-bottom:var(--space--medium)}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{g as snk_simple_crud}
|
@@ -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-
|
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-8490ca88",[[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-4bd183ba",[[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],changeViewMode:[64],configGrid:[64],showUp:[64]},[[0,"snkContentCardChanged","onContentCardChanged"]]]]],["p-9f2306ba",[[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-a056d61f",[[2,"snk-filter-bar",{dataUnit:[1040],configName:[1,"config-name"],filterConfig:[1040],allowDefault:[32],scrollerLocked:[32]},[[0,"filterChange","filterChangeListener"]]]]],["p-b318cec6",[[2,"snk-grid-config",{selectedIndex:[1026,"selected-index"],application:[16],columns:[1040],config:[1040],configName:[1,"config-name"]}]]],["p-869d6616",[[2,"snk-config-options",{fieldConfig:[16],idConfig:[513,"id-config"],dataUnit:[16],_defaultType:[32]}]]],["p-7889d481",[[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-f83e3219",[[2,"snk-field-config",{isConfigActive:[16],fieldConfig:[16],modeInsertion:[516,"mode-insertion"],dataUnit:[16]}]]],["p-86efa17d",[[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-8b0e8deb",[[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-dbeac5db",[[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-cf9d1b55",[[2,"snk-data-exporter",{provider:[16],_items:[32],_showDropdown:[32],_releasedToExport:[32]}]]],["p-c0bfafcb",[[2,"snk-guides-viewer",{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-2a3996b0",[[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-d3199c18",[[2,"snk-form",{configName:[1,"config-name"],recordsValidator:[16],_dataUnit:[32],_dataState:[32],_showFormConfig:[32],_configManager:[32],showConfig:[64],hideConfig:[64]}]]],["p-9f00c061",[[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]}]]],["p-afba9bbe",[[0,"snk-filter-detail",{config:[1040],getMessage:[16],show:[64]}]]],["p-268ab84f",[[6,"snk-grid",{configName:[1,"config-name"],actionsList:[16],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)));
|
@@ -38,6 +38,7 @@ export declare class SnkSimpleCrud {
|
|
38
38
|
goToView(view: VIEW_MODE): Promise<void>;
|
39
39
|
actionClickListener(evt: CustomEvent): void;
|
40
40
|
onModeChange(): void;
|
41
|
+
observeDataState(newValue: DataState, oldValue: DataState): void;
|
41
42
|
componentWillRender(): void;
|
42
43
|
componentWillLoad(): void;
|
43
44
|
getTaskBarId(): string;
|
package/package.json
CHANGED
@@ -1 +0,0 @@
|
|
1
|
-
import{r as t,c as s,h as e,g as i}from"./p-b9667fbe.js";import{DataUnit as r,StringUtils as a,SortMode as n,DataType as o,ChangeOperation as h,UserInterface as d}from"@sankhyalabs/core";import{c as l,S as m}from"./p-ecbfbb4a.js";import{T as u}from"./p-74724fa7.js";import"./p-0c11c980.js";import{P as c}from"./p-f132e371.js";import{T as p}from"./p-5a3e0eb6.js";import"./p-98f7f796.js";import"./p-112455b1.js";class b{constructor(t,s){this.records=s||[],this.metadata=t,this._dataUnit=new r("InMemoryDataUnit"),this._dataUnit.metadataLoader=()=>this.metadaLoader(),this._dataUnit.dataLoader=(t,s)=>this.dataLoader(t,s),this._dataUnit.saveLoader=(t,s)=>this.saveLoader(t,s),this._dataUnit.removeLoader=(t,s)=>this.removeLoader(t,s),this.dataUnit.loadMetadata().then((()=>this.dataUnit.loadData()))}get dataUnit(){return this._dataUnit}get records(){return this._records}set records(t){this._records=null==t?void 0:t.map((t=>(t.__record__id__||(t.__record__id__=this.generateUniqueId()),t))),this._dataUnit&&(this._dataUnit.records=[...this._records])}get metadata(){return this._metadata}set metadata(t){this._metadata=t,this._dataUnit&&(this._dataUnit.metadata=this._metadata)}generateUniqueId(){return a.generateUUID()}metadaLoader(){return Promise.resolve(this._metadata)}dataLoader(t,s){let e=[...this._records];return s.sort&&s.sort.forEach((t=>{e=e.sort(((s,e)=>{const i=s[t.field],r=e[t.field];return this.getSortFn(t.dataType)(i,r)*(t.mode==n.ASC?1:-1)}))})),Promise.resolve({records:e})}getSortFn(t){switch(t){case o.NUMBER:return this.sortNumber;case o.DATE:return this.sortDate;case o.OBJECT:return this.sortObject;default:return a.compare}}sortObject(t,s){return a.compare(t.label,s.label)}sortNumber(t,s){return t-s}sortDate(t,s){let e=t.getTime(),i=s.getTime();return e===i?0:e<i?-1:1}saveLoader(t,s){return new Promise((t=>{let e=[];s.forEach((t=>{let{record:s,updatingFields:i,operation:r}=t,a=!1;r!==h.INSERT&&r!==h.COPY||(s.__old__id__=s.__record__id__,s.__record__id__=this.generateUniqueId(),a=!0);const n=Object.assign(Object.assign({},s),i);if(a)this.records.push(n);else{const t=this.records.findIndex((t=>t.__record__id__==n.__record__id__));this.records[t]=n}e.push(n)})),t(e)}))}removeLoader(t,s){return new Promise((t=>{this._records=this._records.filter((t=>!s.includes(t.__record__id__))),t(s)}))}}const k=class{constructor(e){t(this,e),this.dataStateChange=s(this,"dataStateChange",3),this.dataUnitReady=s(this,"dataUnitReady",3),this.REGULAR_DEFAULT_BTNS=["INSERT","PREVIOUS","NEXT","DIVIDER"],this.REGULAR_SELECTED_BTNS=["INSERT","PREVIOUS","NEXT","DIVIDER","CLONE","REMOVE","DIVIDER"],this._taskbarProcessor=new p({"snkSimpleCrudTaskbar.form_regular":this.REGULAR_DEFAULT_BTNS.concat(u.GRID_MODE),"snkSimpleCrudTaskbar.grid_regular":this.REGULAR_DEFAULT_BTNS.concat(u.FORM_MODE),"snkSimpleCrudTaskbar.form_selected":this.REGULAR_SELECTED_BTNS.concat(u.GRID_MODE),"snkSimpleCrudTaskbar.grid_selected":this.REGULAR_SELECTED_BTNS.concat(u.FORM_MODE),"snkSimpleCrudTaskbar.finish_edition":["CANCEL","SAVE"]}),this._currentViewMode=l.GRID,this._config=void 0,this.dataState=void 0,this.dataUnit=void 0,this.mode=m.SERVER,this.taskbarManager=void 0}async goToView(t){this._currentViewMode=t,this._viewStack&&this._viewStack.show(t)}actionClickListener(t){const s=t.detail;s===u.GRID_MODE?this.goToView(l.GRID):s===u.FORM_MODE&&this.goToView(l.FORM),t.stopPropagation()}onModeChange(){this.mode==m.IN_MEMORY&&this.initInMemoryDataUnit()}componentWillRender(){this._taskbarProcessor.process(this.getTaskBarId(),this.taskbarManager,this.dataState,void 0)}componentWillLoad(){this.processMetadata(),this.onModeChange()}getTaskBarId(){var t,s;return(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"snkSimpleCrudTaskbar.finish_edition":(null===(s=this.dataState)||void 0===s?void 0:s.selectedRecords.length)>0?this._currentViewMode===l.GRID?"snkSimpleCrudTaskbar.grid_selected":"snkSimpleCrudTaskbar.form_selected":this._currentViewMode===l.GRID?"snkSimpleCrudTaskbar.grid_regular":"snkSimpleCrudTaskbar.form_regular"}initInMemoryDataUnit(){this._inMemoryLoader=new b(this._metadata),this.dataUnit=this._inMemoryLoader.dataUnit,this.dataUnitReady.emit(this.dataUnit)}setMetadata(t){return this._inMemoryLoader?this._inMemoryLoader.metadata=t:this.dataUnit&&(this.dataUnit.metadata=t),Promise.resolve()}setRecords(t){return this._inMemoryLoader?this._inMemoryLoader.records=t:this.dataUnit&&(this.dataUnit.records=t),Promise.resolve()}getRecords(){return Promise.resolve(this.dataUnit.records)}processMetadata(){const t=this._element.querySelectorAll("snk-field-metadata"),s=[],e={fields:[],emptyConfig:!1};t.forEach((t=>{const i={name:t.getAttribute("name")||t.getAttribute("label"),label:t.getAttribute("label"),dataType:o[t.getAttribute("dataType")]||o.TEXT,userInterface:d[t.getAttribute("userInterface")]||d.SHORTTEXT,readOnly:"true"==t.getAttribute("readOnly"),required:"true"==t.getAttribute("required"),tab:t.getAttribute("tab")||void 0};e.fields.push({name:i.name,tab:i.tab}),s.push(i)})),s.length>0&&(this._config=e,this._metadata={name:"SimpleCrud",label:"SimpleCrud",fields:s})}onDataStateChange(t){this.dataStateChange.emit(t.detail),this.dataState=t.detail}render(){var t;return e("snk-data-unit",{class:"simple-crud__container",dataUnit:this.dataUnit,onDataStateChange:t=>this.onDataStateChange(t),onInsertionMode:()=>this.goToView(l.FORM),onDataUnitReady:t=>this.dataUnitReady.emit(t.detail)},e("header",null,e("slot",{name:"snkSimpleCrudHeader"})),e("section",{class:"ez-flex ez-box ez-box--shadow"},e("snk-taskbar",{class:"simple-crud__taskbar ez-box ez-box--shadow ez-padding--medium",dataUnit:this.dataUnit,primaryButton:(null===(t=this.dataState)||void 0===t?void 0:t.isDirty)?"SAVE":"INSERT","data-element-id":"grid_left",buttons:this._taskbarProcessor.buttons,disabledButtons:this._taskbarProcessor.disabledButtons,customButtons:this._taskbarProcessor.customButtons,slot:"leftButtons",presentationMode:c.SECONDARY}),e("ez-view-stack",{class:"ez-flex ez-flex--column",ref:t=>this._viewStack=t,"data-element-id":"simple-crud"},e("stack-item",null,e("ez-grid",{dataUnit:this.dataUnit,onEzDoubleClick:()=>this.goToView(l.FORM),"no-header":!0},e("div",{slot:"footer"},e("slot",{name:"snkSimpleCrudFooter"})))),e("stack-item",null,e("ez-form",{dataUnit:this.dataUnit,config:this._config})))))}get _element(){return i(this)}static get watchers(){return{mode:["onModeChange"]}}};k.style=".sc-snk-simple-crud-h{display:flex;height:100%;width:100%}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto;row-gap:12px;height:100%;width:100%}.simple-crud__taskbar.sc-snk-simple-crud{z-index:var(--more-visible, 2);margin-bottom:var(--space--medium)}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;min-height:300px}ez-form.sc-snk-simple-crud{min-height:300px}";export{k as snk_simple_crud}
|