@sankhyalabs/sankhyablocks 7.2.1 → 8.0.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-ecb8699c.js → dataunit-fetcher-2a3c86b1.js} +3 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sankhyablocks.cjs.js +1 -1
- package/dist/cjs/snk-application.cjs.entry.js +12 -5
- package/dist/cjs/snk-attach.cjs.entry.js +1 -1
- package/dist/cjs/snk-config-options.cjs.entry.js +7 -6
- package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
- package/dist/cjs/{snk-data-unit-d38cdf04.js → snk-data-unit-807a8684.js} +3 -2
- package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
- package/dist/cjs/snk-detail-view.cjs.entry.js +1 -1
- package/dist/collection/components/snk-application/snk-application.js +42 -6
- package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +1 -1
- package/dist/collection/components/snk-data-unit/snk-data-unit.js +20 -2
- package/dist/collection/components/snk-form/subcomponents/snk-config-options/snk-config-options.js +7 -6
- package/dist/collection/lib/http/data-fetcher/fetchers/dataunit-fetcher.js +3 -2
- package/dist/components/dataunit-fetcher.js +3 -2
- package/dist/components/snk-application2.js +13 -5
- package/dist/components/snk-config-options2.js +7 -6
- package/dist/components/snk-data-unit2.js +4 -2
- package/dist/components/snk-detail-view2.js +1 -1
- package/dist/esm/{dataunit-fetcher-8f6f28a7.js → dataunit-fetcher-06e70d4c.js} +3 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sankhyablocks.js +1 -1
- package/dist/esm/snk-application.entry.js +12 -5
- package/dist/esm/snk-attach.entry.js +1 -1
- package/dist/esm/snk-config-options.entry.js +7 -6
- package/dist/esm/snk-data-exporter.entry.js +1 -1
- package/dist/esm/{snk-data-unit-5c3c036a.js → snk-data-unit-351ef08f.js} +3 -2
- package/dist/esm/snk-data-unit.entry.js +1 -1
- package/dist/esm/snk-detail-view.entry.js +1 -1
- package/dist/sankhyablocks/{p-d48969d6.entry.js → p-29683966.entry.js} +1 -1
- package/dist/sankhyablocks/{p-66f0d713.entry.js → p-6785e5c9.entry.js} +1 -1
- package/dist/sankhyablocks/p-70b8e4a4.js +76 -0
- package/dist/sankhyablocks/p-7a43351d.entry.js +11 -0
- package/dist/sankhyablocks/{p-6b64dd4c.entry.js → p-8cf9c9ce.entry.js} +1 -1
- package/dist/sankhyablocks/p-a63aedf3.entry.js +1 -0
- package/dist/sankhyablocks/p-bd628455.entry.js +1 -0
- package/dist/sankhyablocks/p-d23356a6.js +1 -0
- package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
- package/dist/types/components/snk-application/snk-application.d.ts +8 -3
- package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +4 -0
- package/dist/types/components.d.ts +16 -2
- package/dist/types/lib/http/data-fetcher/fetchers/dataunit-fetcher.d.ts +1 -1
- package/package.json +1 -1
- package/dist/sankhyablocks/p-0a7fa08c.js +0 -1
- package/dist/sankhyablocks/p-8a726c78.entry.js +0 -1
- package/dist/sankhyablocks/p-97d7beaf.entry.js +0 -11
- package/dist/sankhyablocks/p-b857ca6a.js +0 -76
- package/dist/sankhyablocks/p-d2f7dbd8.entry.js +0 -1
@@ -1,76 +0,0 @@
|
|
1
|
-
import{DataUnit as e,StringUtils as t,DataType as a,DataUnitStorage as r,ChangeOperation as i}from"@sankhyalabs/core";import{d as n,D as s}from"./p-cbc28ca6.js";import{DISTINCT_FILTER_NAME_PREFIX as o}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{DataUnitTransient as l}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";class d{constructor(){this.templateByQuery=new Map,this._loadDataTimeout={},this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",n.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",n.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",n.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",n.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
|
-
}`),this.templateByQuery.set("fetchDistinctColumn",n.gql`query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
|
75
|
-
$queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
|
76
|
-
}`)}getDataUnit(t,a,r){const i=null!=r?r.getChildDataunit(`dd://${t}/${a}`):new e(`dd://${t}/${a}`);return i.metadataLoader=e=>this.loadMetadata(e),i.dataLoader=(e,t)=>this.loadData(e,t),i.saveLoader=(e,t)=>this.saveData(i,t),i.removeLoader=(e,t)=>this.removeRecords(e,t),i.recordLoader=(e,t)=>this.loadRecord(e,t),i}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)}))}))}async loadData(e,t){try{const a=e.name;this._loadDataTimeout[a]&&(clearTimeout(this._loadDataTimeout[a]),delete this._loadDataTimeout[a]);const r=await this.doLoadData(e,t);return delete this._loadDataTimeout[a],await new Promise((e=>{this._loadDataTimeout[a]=setTimeout(e,200)})),Promise.resolve(r)}catch(e){return Promise.reject(e)}}loadSelectDistinct(e,t,a){const{parentRecordId:r,filters:i}=e.getLastLoadRequest()||{},n=i.filter((e=>e.name!==`${o}${t}`)),l={dataUnit:e.name,argument:a,fieldName:t,parentRecordId:r,filters:n};return new Promise(((e,t)=>{s.get().callGraphQL({values:l,query:this.templateByQuery.get("fetchDistinctColumn")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}doLoadData(e,r){return new Promise(((i,n)=>{var o;const{sort:l,filters:d,limit:c,offset:u,quickFilter:m}=r,f={dataunit:e.name,sort:l,filters:d};if(f.limit=c,f.offset=u,f.parentRecordId=r.parentRecordId,!t.isEmpty(null==m?void 0:m.term)){void 0===f.filter&&(f.filter=[]);const e={name:"__QUICK_FILTER__",expression:"__QUICK_FILTER__",params:[{name:"term",dataType:a.TEXT,value:m.term}]};(null===(o=null==m?void 0:m.fields)||void 0===o?void 0:o.length)>0&&e.params.push({name:"fields",dataType:a.OBJECT,value:m.fields}),f.filter.push(e)}s.get().callGraphQL({values:f,query:this.templateByQuery.get("fetchData")}).then((t=>{const{limit:a,offset:r,total:n,hasMore:s,records:o}=t.data;let l;a&&(l={firstRecord:0==n?0:r+1,lastRecord:r+Math.min(o.length,a),total:n,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)})),i({paginationInfo:l,records:d})})).catch((e=>{n(e)}))}))}saveData(e,t){const i=t.map((e=>{const{dataUnit:t,record:i,updatingFields:n,operation:s}=e,o=r.get(t);let l;n&&(l=Object.entries(n).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:i.__record__id__};return e.sourceId&&(d.sourceId=e.sourceId),i.__parent__record__id__&&(d.parentRecordId=i.__parent__record__id__),d}));return new Promise(((t,a)=>{const n=i.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 i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(a[r[i]]=e[r[i]])}return a}(e,[])));s.get().callGraphQL({values:{changes:n},query:this.templateByQuery.get("saveData")}).then((a=>{const i=[];null==a||a.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label,__owner__dataunit__name__:t.ownerDataUnitName},n=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==n?void 0:n.valueFromString)||void 0===r?void 0:r.call(n,e,t))||t})),i.push(a)})),t(i)})).catch((e=>{a(e)}))}))}getTransientInfo(e,t){const{records:r}=e.getSelectionInfo();return Object.entries(r.filter((e=>e.__record__id__==t))[0]).filter((([e])=>e.startsWith(l.DATA_UNIT_TRANSIENT_PREFIX_NAME))).map((([e,t])=>({fieldName:e,value:t,dataType:a.TEXT})))}removeRecords(e,t){const a=t.map((t=>({dataUnit:e.name,operation:i.DELETE,recordId:t,fields:this.getTransientInfo(e,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{d as D}
|
@@ -1 +0,0 @@
|
|
1
|
-
import{r as i,c as e,h as t,H as l,g as s}from"./p-d2d301a6.js";import{UserInterface as o,ObjectUtils as n,StringUtils as a,ApplicationContext as d,ElementIDUtils as r}from"@sankhyalabs/core";import{DataType as u,getConvertedValue as h}from"@sankhyalabs/core/dist/dataunit/metadata/DataType";import{CheckMode as c}from"@sankhyalabs/ezui/dist/collection/utils";import{V as v,D as p,a as b}from"./p-4a78e118.js";const g=class{constructor(t){i(this,t),this.configOptionsChanged=e(this,"configOptionsChanged",7),this._defaultType=void 0,this.fieldConfig={},this.idConfig=void 0,this.dataUnit=void 0,this.messagesBuilder=void 0}onConfigDefault(i){null!=i&&(this._defaultType=i,this.fieldConfig.defaultValue={type:this._defaultType},this.configOptionsChanged.emit(this.fieldConfig))}buildOptions(){var i,e,t;let l=null===(t=null===(i=this.dataUnit)||void 0===i?void 0:i.getField(null===(e=this.fieldConfig)||void 0===e?void 0:e.name))||void 0===t?void 0:t.userInterface;return l===o.SEARCH&&(l=o.INTEGERNUMBER),v.UserInterface[l]}enabledValueDefault(){var i,e,t;const l=null===(i=this.dataUnit)||void 0===i?void 0:i.getField(null===(e=this.fieldConfig)||void 0===e?void 0:e.name),s=null===(t=null==l?void 0:l.properties)||void 0===t?void 0:t.allowDefault,n=v.UserInterface.hasOwnProperty(null==l?void 0:l.userInterface)||(null==l?void 0:l.userInterface)===o.SEARCH;return!(null!=s&&"true"!==s||!n)}isAllowDefault(){var i,e;const t=null===(e=null===(i=this._fieldProperties)||void 0===i?void 0:i.properties)||void 0===e?void 0:e.allowDefault;return null==t||"true"===t}loadDefaultValue(){var i;null==this.fieldConfig?(this._defaultType=p.fixed,this.fieldConfig={defaultValue:{type:this._defaultType}}):null==(null===(i=this.fieldConfig.defaultValue)||void 0===i?void 0:i.type)?(this._defaultType=p.fixed,this.fieldConfig.defaultValue={type:this._defaultType}):this._defaultType=this.fieldConfig.defaultValue.type}getFieldProperties(i){var e;if(null!=i)return null===(e=this.dataUnit)||void 0===e?void 0:e.getField(i)}getMessage(i,e){return this.messagesBuilder.getMessage(i,e)}getDefaultType(){var i;return null!==(i=this.fieldConfig.defaultValue.type)&&void 0!==i?i:p.fixed}getEnabledByProperty(i){const e=this._fieldProperties;return null==e||!0!==e[i]}getValueByProperty(i){const e=this._fieldProperties;return null!=e&&!0===e[i]||this.fieldConfig[i]}getValidatedValue(i){var e,t;if(null==i)return;const l=null===(e=this.dataUnit)||void 0===e?void 0:e.getField(null===(t=this.fieldConfig)||void 0===t?void 0:t.name),s=null==l?void 0:l.dataType;if(null==s)return;const o=null!=(null==i?void 0:i.waitmessage)?void 0:s!==u.OBJECT&&s!==u.DATE&&"object"==typeof i?i.value:i;return s===u.OBJECT?JSON.stringify(o):o}buildInputDefault({value:i,enabled:e,label:l,name:s,required:a,userInterface:d},r,u){let h,c=0,v=0;const p=null==d||null==b[d]?b.DEFAULT:b[d];if(d===o.OPTIONSELECTOR){const i=null==r?void 0:r.options;if("string"==typeof i){const e=n.stringToObject(i);h=Object.keys(e).map((i=>({value:i,label:e[i]})))}else h=i}else d===o.DECIMALNUMBER&&(c=Number((null==r?void 0:r.precision)||2),v=Number((null==r?void 0:r.prettyPrecision)||c));return t(p,Object.assign({value:i,enabled:e,label:l,"data-field-name":s,key:s,onEzChange:i=>this.onChange(null==i?void 0:i.detail)},this.getConditionalAttributes(d,a,h,c,v,u)))}getConditionalAttributes(i,e,t,l,s,n){switch(i){case o.SEARCH:return{suppressEmptyOption:e,optionLoader:i=>this.onSearch(i)};case o.OPTIONSELECTOR:return{suppressEmptyOption:e,options:t};case o.CHECKBOX:case o.SWITCH:return{mode:n};case o.INTEGERNUMBER:case o.DECIMALNUMBER:return{precision:l,prettyPrecision:s,onEzStartChange:i=>this.onChange(null==i?void 0:i.detail)};case o.DATE:case o.DATETIME:case o.TIME:return{onEzStartChange:i=>this.onChange(null==i?void 0:i.detail)};default:return{}}}onChange(i){this.fieldConfig.defaultValue.value=this.getValidatedValue(i),this.configOptionsChanged.emit(this.fieldConfig)}onSearch(i){if(null!=this._application&&null!=this.fieldConfig)return this._application.executeSearch(i,this.fieldConfig.name,this.dataUnit)}buildField(i,e){const{name:t,label:l,readOnly:s,required:n,defaultValue:d}=e,{userInterface:r,properties:u}=i;let v,p=a.getBooleanValue(null==u?void 0:u.allowDefault,!s);r===o.FILE&&(p=!1),p&&(v=null==d?void 0:d.value,null!=v&&(v=h(null==i?void 0:i.dataType,v)));const b={value:v,enabled:p,label:l,name:t,required:n,userInterface:r};switch(r){case o.SWITCH:return this.buildInputDefault(b,void 0,c.SWITCH);case o.CHECKBOX:return this.buildInputDefault(b,void 0,c.REGULAR);case o.OPTIONSELECTOR:case o.DECIMALNUMBER:return this.buildInputDefault(b,u);default:return this.buildInputDefault(b)}}componentWillLoad(){var i;this.loadDefaultValue(),this._application=d.getContextValue("__SNK__APPLICATION__"),this._fieldProperties=this.getFieldProperties(null===(i=this.fieldConfig)||void 0===i?void 0:i.name)}componentDidLoad(){r.addIDInfo(this._element,this.fieldConfig.name)}render(){var i,e;return t(l,null,t("div",{id:this.idConfig},t("div",{class:"ez-row ez-padding--medium"},t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},t("ez-text-input",{label:this.getMessage("snkConfigOptions.label.nameField"),value:null===(i=this.fieldConfig)||void 0===i?void 0:i.label,onEzChange:i=>{this.fieldConfig.label=i.detail,this.configOptionsChanged.emit(this.fieldConfig)}})),t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},t("ez-combo-box",{label:this.getMessage("snkConfigOptions.label.typeValueDefault"),suppressEmptyOption:!0,enabled:this.enabledValueDefault(),onEzChange:i=>{var e;return this.onConfigDefault(null===(e=i.detail)||void 0===e?void 0:e.value)},value:this.getDefaultType()},t("option",{value:p.fixed},this.getMessage("snkConfigOptions.options.valueFixed")),t("option",{value:p.variable},this.getMessage("snkConfigOptions.options.variable")))),t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},this._defaultType===p.variable?t("ez-combo-box",{label:this.getMessage("snkConfigOptions.label.valueDefault"),enabled:this.isAllowDefault(),onEzChange:i=>{var e;this.fieldConfig.defaultValue.value=null===(e=i.detail)||void 0===e?void 0:e.value,this.configOptionsChanged.emit(this.fieldConfig)},value:this.fieldConfig.defaultValue.value,options:this.buildOptions()}):(null===(e=this._fieldProperties)||void 0===e?void 0:e.userInterface)&&this.buildField(this._fieldProperties,this.fieldConfig))),t("div",{class:"ez-row ez-padding--medium config-options__switch-row"},t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},t("ez-check",{mode:c.SWITCH,label:this.getMessage("snkConfigOptions.label.clearDuplicate"),value:this.fieldConfig.cleanOnCopy,onEzChange:i=>{this.fieldConfig.cleanOnCopy=i.detail,this.configOptionsChanged.emit(this.fieldConfig)}})),t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},t("ez-check",{mode:c.SWITCH,label:this.getMessage("snkConfigOptions.label.requiredField"),enabled:this.getEnabledByProperty("required"),value:this.getValueByProperty("required"),onEzChange:i=>{this.fieldConfig.required=i.detail,this.configOptionsChanged.emit(this.fieldConfig)}})),t("div",{class:"ez-col ez-col--sd-12 ez-col--tb-4 ez-padding--small"},t("ez-check",{mode:c.SWITCH,label:this.getMessage("snkConfigOptions.label.protectedField"),enabled:this.getEnabledByProperty("readOnly"),value:this.getValueByProperty("readOnly"),onEzChange:i=>{this.fieldConfig.readOnly=i.detail,this.configOptionsChanged.emit(this.fieldConfig)}})))))}get _element(){return s(this)}};g.style=".sc-snk-config-options-h{--snk-config-options--border:2px solid var(--color--secondary-200, #D2D3DA);width:100%;border-radius:15px;border:var(--snk-config-options--border)}.config-options__switch-row.sc-snk-config-options{margin-top:-30px}";export{g as snk_config_options}
|