@sankhyalabs/sankhyablocks 5.18.1 → 5.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{dataunit-fetcher-8f5ade55.js → dataunit-fetcher-01fabb36.js} +28 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +10 -1
- package/dist/cjs/snk-attach.cjs.entry.js +2 -1
- package/dist/cjs/snk-configurator.cjs.entry.js +5 -4
- package/dist/cjs/snk-grid.cjs.entry.js +39 -5
- package/dist/collection/components/snk-application/snk-application.js +40 -0
- package/dist/collection/components/snk-configurator/snk-configurator.js +5 -4
- package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +29 -0
- package/dist/collection/components/snk-grid/snk-grid.js +11 -5
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +28 -0
- package/dist/components/dataunit-fetcher.js +28 -0
- package/dist/components/snk-application2.js +10 -1
- package/dist/components/snk-configurator2.js +5 -4
- package/dist/components/snk-grid2.js +42 -8
- package/dist/esm/{dataunit-fetcher-d32c6a47.js → dataunit-fetcher-784325e9.js} +28 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +10 -1
- package/dist/esm/snk-attach.entry.js +2 -1
- package/dist/esm/snk-configurator.entry.js +5 -4
- package/dist/esm/snk-grid.entry.js +42 -8
- package/dist/sankhyablocks/p-538c057a.entry.js +1 -0
- package/dist/sankhyablocks/p-553f5dcf.js +76 -0
- package/dist/sankhyablocks/p-82bc4666.entry.js +1 -0
- package/dist/sankhyablocks/{p-cbe93a18.entry.js → p-8652d177.entry.js} +3 -3
- package/dist/sankhyablocks/p-971abcc2.entry.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +6 -0
- package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -5
- package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +12 -0
- package/dist/types/components/snk-grid/snk-grid.d.ts +3 -0
- package/dist/types/components.d.ts +4 -0
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +1 -0
- package/package.json +1 -1
- package/dist/sankhyablocks/p-44cf545f.entry.js +0 -1
- package/dist/sankhyablocks/p-eb07d0eb.entry.js +0 -1
- package/dist/sankhyablocks/p-f821768b.js +0 -74
- package/dist/sankhyablocks/p-fa2d0376.entry.js +0 -1
@@ -1,74 +0,0 @@
|
|
1
|
-
import{DataUnit as e,StringUtils as t,DataType as a,DataUnitStorage as r,ChangeOperation as n}from"@sankhyalabs/core";import{d as i,D as s}from"./p-41d92871.js";class o{constructor(){this.templateByQuery=new Map,this._loadDataTimeout={},this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",i.gql`query($name: String!) {
|
2
|
-
$queryAlias$: fetchDataUnit(name: $name){
|
3
|
-
name
|
4
|
-
fields{
|
5
|
-
name
|
6
|
-
defaultValue
|
7
|
-
label
|
8
|
-
visible
|
9
|
-
readOnly
|
10
|
-
required
|
11
|
-
dataType
|
12
|
-
userInterface
|
13
|
-
calculated
|
14
|
-
group
|
15
|
-
order
|
16
|
-
properties{
|
17
|
-
name
|
18
|
-
value
|
19
|
-
}
|
20
|
-
dependencies{
|
21
|
-
masterFields
|
22
|
-
type
|
23
|
-
expression
|
24
|
-
}
|
25
|
-
}
|
26
|
-
children{
|
27
|
-
name
|
28
|
-
label
|
29
|
-
links{
|
30
|
-
source
|
31
|
-
target
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
35
|
-
}`),this.templateByQuery.set("fetchData",i.gql`query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
|
36
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
37
|
-
data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
|
38
|
-
limit
|
39
|
-
offset
|
40
|
-
total
|
41
|
-
hasMore
|
42
|
-
records{
|
43
|
-
id
|
44
|
-
label
|
45
|
-
fields {
|
46
|
-
name
|
47
|
-
value
|
48
|
-
}
|
49
|
-
}
|
50
|
-
}
|
51
|
-
}
|
52
|
-
}`),this.templateByQuery.set("saveData",i.gql`mutation($changes: [InputBatchChange!]!) {
|
53
|
-
$queryAlias$: batchOperationDataUnit(changes: $changes){
|
54
|
-
oldId
|
55
|
-
id
|
56
|
-
label
|
57
|
-
ownerDataUnitName
|
58
|
-
fields {
|
59
|
-
name
|
60
|
-
value
|
61
|
-
}
|
62
|
-
}
|
63
|
-
}`),this.templateByQuery.set("fetchDataRecord",i.gql`query($dataunit: String! $recordID: [String!]) {
|
64
|
-
$queryAlias$: fetchDataUnit(name: $dataunit){
|
65
|
-
record(id: $recordID){
|
66
|
-
id
|
67
|
-
label
|
68
|
-
fields {
|
69
|
-
name
|
70
|
-
value
|
71
|
-
}
|
72
|
-
}
|
73
|
-
}
|
74
|
-
}`)}getDataUnit(t,a,r){const n=null!=r?r.getChildDataunit(`dd://${t}/${a}`):new e(`dd://${t}/${a}`);return n.metadataLoader=e=>this.loadMetadata(e),n.dataLoader=(e,t)=>this.loadData(e,t),n.saveLoader=(e,t)=>this.saveData(n,t),n.removeLoader=(e,t)=>this.removeRecords(e,t),n.recordLoader=(e,t)=>this.loadRecord(e,t),n}loadMetadata(e){return new Promise(((t,a)=>{s.get().callGraphQL({values:{name:e.name},query:this.templateByQuery.get("fetchDataUnit")}).then((e=>{var a;const r={name:e.name,label:e.name,children:[...e.children],fields:[]};null===(a=e.fields)||void 0===a||a.forEach((e=>{let t;Array.isArray(e.properties)&&(t={},e.calculated&&(t.gridHeaderTooltip="Campos calculados não podem ser ordenados"),e.properties.forEach((e=>t[e.name]=e.value))),r.fields.push(Object.assign(Object.assign({},e),{properties:t}))})),r.fields.sort(((e,t)=>e.order-t.order)),t(r)})).catch((e=>{a(e)}))}))}loadData(e,t){const a=e.name;return this._loadDataTimeout[a]&&(clearTimeout(this._loadDataTimeout[a]),delete this._loadDataTimeout[a]),new Promise(((r,n)=>{this._loadDataTimeout[a]=setTimeout((()=>{delete this._loadDataTimeout[a],this.doLoadData(e,t).then((e=>r(e))).catch((e=>n(e)))}),200)}))}doLoadData(e,r){return new Promise(((n,i)=>{var o;const{sort:l,filters:d,limit:c,offset:u,quickFilter:_}=r,m={dataunit:e.name,sort:l,filters:d};if(m.limit=c,m.offset=u,m.parentRecordId=r.parentRecordId,!t.isEmpty(null==_?void 0:_.term)){void 0===m.filter&&(m.filter=[]);const e={name:"__QUICK_FILTER__",expression:"__QUICK_FILTER__",params:[{name:"term",dataType:a.TEXT,value:_.term}]};(null===(o=null==_?void 0:_.fields)||void 0===o?void 0:o.length)>0&&e.params.push({name:"fields",dataType:a.OBJECT,value:_.fields}),m.filter.push(e)}s.get().callGraphQL({values:m,query:this.templateByQuery.get("fetchData")}).then((t=>{const{limit:a,offset:r,total:i,hasMore:s,records:o}=t.data;let l;a&&(l={firstRecord:0==i?0:r+1,lastRecord:r+Math.min(o.length,a),total:i,currentPage:r/a,hasMore:s});const d=[];o.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),d.push(a)})),n({paginationInfo:l,records:d})})).catch((e=>{i(e)}))}))}saveData(e,t){const n=t.map((e=>{const{dataUnit:t,record:n,updatingFields:i,operation:s}=e,o=r.get(t);let l;i&&(l=Object.entries(i).map((([e,t])=>{const r=o.getField(e);return{fieldName:e,dataType:r?r.dataType:a.TEXT,value:o.valueToString(e,t)}})));const d={dataUnit:t,fields:l,operation:s,recordId:n.__record__id__};return e.sourceId&&(d.sourceId=e.sourceId),n.__parent__record__id__&&(d.parentRecordId=n.__parent__record__id__),d}));return new Promise(((t,a)=>{const i=n.map((e=>function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]])}return a}(e,[])));s.get().callGraphQL({values:{changes:i},query:this.templateByQuery.get("saveData")}).then((a=>{const n=[];null==a||a.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label,__owner__dataunit__name__:t.ownerDataUnitName},i=r.get(a.__owner__dataunit__name__)||e;t.oldId&&(a.__old__id__=t.oldId),t.fields.forEach((({name:e,value:t})=>{var r;a[e]=(null===(r=null==i?void 0:i.valueFromString)||void 0===r?void 0:r.call(i,e,t))||t})),n.push(a)})),t(n)})).catch((e=>{a(e)}))}))}removeRecords(e,t){const a=t.map((t=>({dataUnit:e.name,operation:n.DELETE,recordId:t})));return new Promise(((e,r)=>{s.get().callGraphQL({values:{changes:a},query:this.templateByQuery.get("saveData")}).then((()=>{e(t)})).catch((e=>{r(e)}))}))}loadRecord(e,t){return new Promise(((a,r)=>{s.get().callGraphQL({values:{recordID:t,dataunit:e.name},query:this.templateByQuery.get("fetchDataRecord")}).then((t=>{const r=[];t.record.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),r.push(a)})),a(r)})).catch((e=>{r(e)}))}))}}export{o as D}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r as i,c as t,h as s,g as e}from"./p-b9667fbe.js";import{ElementIDUtils as r,ApplicationContext as d,DataType as a}from"@sankhyalabs/core";import{UserInterface as n}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";import{T as o}from"./p-19692f92.js";import{C as l}from"./p-b1c02726.js";import{P as h}from"./p-4c2015a9.js";import{T as c}from"./p-384c4a6b.js";import{s as u}from"./p-6a02e236.js";import"./p-2ea933b2.js";import"./p-41d92871.js";import"./p-112455b1.js";import"./p-79f78e10.js";import"./p-6c2c71ca.js";import"./p-584d7212.js";const v=class{constructor(s){i(this,s),this.actionClick=t(this,"actionClick",7),this.gridDoubleClick=t(this,"gridDoubleClick",7),this._topTaskbarProcessor=new c({"snkGridTopTaskbar.regular":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.regular.secondary":["FORM_MODE","CONFIGURATOR","INSERT"],"snkGridTopTaskbar.finish_edition":["CANCEL","SAVE"],"snkGridTopTaskbar.finish_edition.secondary":[]}),this._headerTaskbarProcessor=new c({"snkGridHeaderTaskbar.unselected":["REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.selected":["UPDATE","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","ATTACH","REFRESH","DATA_EXPORTER","ACTIONS_BUTTON"],"snkGridHeaderTaskbar.detail.unselected":["REFRESH"],"snkGridHeaderTaskbar.detail.selected":["UPDATE","ATTACH","CLONE","REMOVE","MORE_OPTIONS","DIVIDER","REFRESH"]}),this._dataUnit=void 0,this._dataState=void 0,this._gridConfig=void 0,this._popUpGridConfig=!1,this.configName=void 0,this.actionsList=void 0,this.isDetail=void 0,this.taskbarManager=void 0,this.statusResolver=void 0,this.multipleSelection=void 0,this.presentationMode=h.PRIMARY,this.messagesBuilder=void 0}async showConfig(){null!=this._grid&&this.openGridConfig()}async hideConfig(){null!=this._grid&&this.closeGridConfig()}async setConfig(i){this.setGridConfig(i)}async reloadFilterBar(){var i;null===(i=this._snkFilterBar)||void 0===i||i.reload()}openGridConfig(){this._grid.getColumnsState().then((i=>{this._snkGridConfig.columns=i.filter((i=>i.name)),this._snkGridConfig.selectedIndex=0,this._popUpGridConfig=!0}))}closeGridConfig(){this._popUpGridConfig=!1}setGridConfig(i){this._gridConfig=i}loadConfig(){l.get().then((i=>{i.loadGridConfig(this.configName).then((i=>{this.setGridConfig(i)})).catch((i=>{console.warn(i)}))}))}gridConfigChangeHandler(i){l.saveGridConfig(i.detail,this.configName),i.stopPropagation()}modalConfigChangeHandler(i){const t=i.detail;this._grid.setColumnsState(t.columns).then((()=>{this.setGridConfig(t),this.closeGridConfig(),this.dataExporterProviderStore()})),i.stopPropagation()}buildColumnsMetadata(i){const t=[];return null==i||i.forEach((i=>{var s,e;if(i.hidden&&"RECDESP"!==i.name)return;const r=null===(s=this._dataUnit)||void 0===s?void 0:s.getField(i.name);if(t.push({label:i.label,id:i.name,width:i.width,type:null==r?void 0:r.dataType,userInterface:null==r?void 0:r.userInterface}),null!=(null===(e=null==r?void 0:r.properties)||void 0===e?void 0:e.DESCRIPTIONFIELD)){const i=r.properties.mergedFrom;t.push({label:r.properties.DESCRIPTIONENTITY,id:`${i?i+".":""}${r.properties.ENTITYNAME}.${r.properties.DESCRIPTIONFIELD}`,width:200,type:a.TEXT,userInterface:n.LONGTEXT})}})),t||[]}getPaginationInfo(){var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo()}getExporterOffset(i){if(null==i)return;const t=i.firstRecord;return t>0?t-1:t}async dataExporterProviderStore(){var i;const t=await(null===(i=this._snkDataUnit)||void 0===i?void 0:i.getSelectedRecordsIDsInfo()),s={getFilters:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getAppliedFilters()},getColumnsMetadata:async()=>{var i;const t=await(null===(i=this._grid)||void 0===i?void 0:i.getColumnsState());return this.buildColumnsMetadata(t)},getOrders:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.getSort()},getResourceURI:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.name},getSelectedNumber:()=>{var i,t;return null===(t=null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)||void 0===t?void 0:t.length},getTotalRecords:()=>{var i,t,s;const{total:e}=(null===(i=this._dataUnit)||void 0===i?void 0:i.getPaginationInfo())||{};return null!=e?e:null===(s=null===(t=this._dataUnit)||void 0===t?void 0:t.records)||void 0===s?void 0:s.length},getSelectedIDs:()=>t||[],getOffset:()=>this.getExporterOffset(this.getPaginationInfo()),getLimit:()=>{var i;return null===(i=this._dataUnit)||void 0===i?void 0:i.pageSize},getRecordID:()=>{var i,t,s;return null===(s=null===(t=null===(i=this._dataUnit)||void 0===i?void 0:i.records)||void 0===t?void 0:t[0])||void 0===s?void 0:s.__record__id__}};u.set("exporterProviders",Object.assign(Object.assign({},u.get("exporterProviders")),{[this.configName]:s}))}addElementID(){r.addIDInfo(this._element,null,{dataUnit:this._dataUnit})}componentWillLoad(){this._application=d.getContextValue("__SNK__APPLICATION__");let i=this._element.parentElement;for(;i;){if("SNK-DATA-UNIT"===i.tagName.toUpperCase()){this._snkDataUnit=i,this._dataUnit=this._snkDataUnit.dataUnit,this._dataUnit?(this._dataUnitLoadLockerResolver=this._dataUnit.addLoadingLocker(),this.addElementID()):this._snkDataUnit.addEventListener("dataUnitReady",(i=>{this._dataUnit=i.detail,this._dataUnitLoadLockerResolver=this._dataUnit.addLoadingLocker(),this.addElementID()})),this._snkDataUnit.addEventListener("dataStateChange",(i=>{this._dataState=i.detail}));break}i=i.parentElement}this.loadConfig()}getHeaderDisabledButtons(){var i;const t=[];return(null===(i=this._dataState)||void 0===i?void 0:i.selectionInfo)&&(this._dataState.selectionInfo.length>1&&t.push(o.CLONE,"ATTACH"),this._dataState.selectionInfo.isAllRecords()&&t.push("REMOVE")),t}componentWillRender(){var i;const t=this._dataUnit&&this._dataUnit.records.length>0?[]:["DATA_EXPORTER"];let s;s=this._dataState&&(null===(i=this._dataState.selectionInfo)||void 0===i?void 0:i.length)?this.isDetail?"snkGridHeaderTaskbar.detail.selected":"snkGridHeaderTaskbar.selected":this.isDetail?"snkGridHeaderTaskbar.detail.unselected":"snkGridHeaderTaskbar.unselected",this._headerTaskbarProcessor.process(s,this.taskbarManager,this._dataState,this.getHeaderDisabledButtons(),t),this._topTaskbarProcessor.process(this.getTopTaskBarId(this.presentationMode===h.SECONDARY?".secondary":""),this.taskbarManager,this._dataState,void 0,t),this.dataExporterProviderStore()}getTopTaskBarId(i){var t;return(null===(t=this._dataState)||void 0===t?void 0:t.isDirty)?`snkGridTopTaskbar.finish_edition${i}`:`snkGridTopTaskbar.regular${i}`}getPrimaryButton(){return this.presentationMode===h.PRIMARY?"INSERT":""}onEzGridReady(){var i;null===(i=this._dataUnitLoadLockerResolver)||void 0===i||i.call(this),this._dataUnitLoadLockerResolver=void 0}render(){var i,t;if(this._dataUnit)return s("div",{class:"snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large"},s("div",{class:"snk-grid__header ez-margin-bottom--medium"},s("snk-filter-bar",{ref:i=>this._snkFilterBar=i,dataUnit:this._dataUnit,"data-element-id":"gridFilter",class:"snk-grid__filter-bar ez-align--top",configName:this.configName,messagesBuilder:this.messagesBuilder}),(null===(t=null===(i=this._snkFilterBar)||void 0===i?void 0:i.filterConfig)||void 0===t?void 0:t.length)>0&&s("hr",{class:"ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider"}),s("snk-taskbar",{class:"ez-padding-left--medium","data-element-id":"grid_top",key:"topTaskbar",configName:this.configName,dataUnit:this._dataUnit,messagesBuilder:this.messagesBuilder,buttons:this._topTaskbarProcessor.buttons,disabledButtons:this._topTaskbarProcessor.disabledButtons,customButtons:this._topTaskbarProcessor.customButtons,primaryButton:this.getPrimaryButton()})),s("ez-grid",{ref:i=>this._grid=i,class:(this.presentationMode===h.SECONDARY?"snk-grid-container__without-shadow ":"")+"snk-grid__table","data-element-id":"embedded",dataUnit:this._dataUnit,key:"grid-"+this._snkDataUnit.entityName,config:this._gridConfig,onConfigChange:i=>{this.gridConfigChangeHandler(i)},onEzDoubleClick:()=>this.gridDoubleClick.emit(),statusResolver:this.statusResolver,multipleSelection:this.multipleSelection,onComponentReady:()=>this.onEzGridReady()},s("snk-taskbar",{dataUnit:this._dataUnit,configName:this.configName,messagesBuilder:this.messagesBuilder,"data-element-id":"grid_left",buttons:this._headerTaskbarProcessor.buttons,disabledButtons:this._headerTaskbarProcessor.disabledButtons,customButtons:this._headerTaskbarProcessor.customButtons,slot:"leftButtons",actionsList:this.actionsList})),s("div",{class:"ez-col ez-col--sd-12"},s("slot",{name:"SnkGridFooter"})),s("ez-modal",{modalSize:"small",closeEsc:!1,closeOutsideClick:!1,opened:this._popUpGridConfig,onEzCloseModal:()=>this.closeGridConfig()},s("snk-grid-config",{ref:i=>this._snkGridConfig=i,config:this._gridConfig,"data-element-id":this._element.getAttribute(r.DATA_ELEMENT_ID_ATTRIBUTE_NAME),application:this._application,selectedIndex:0,configName:this.configName,onConfigChange:i=>this.modalConfigChangeHandler(i),onConfigCancel:()=>this.closeGridConfig()})))}get _element(){return e(this)}};v.style=".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";export{v as snk_grid}
|