@things-factory/meta-ui 6.2.121 → 6.2.125
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/client/actions/main.js +4 -4
- package/client/bootstrap.js +11 -0
- package/client/component/filter/filter-form-meta-code-select.js +10 -10
- package/client/component/filter/filter-form-meta-object-select.js +10 -10
- package/client/component/filter/filter-grist-meta-code-select.js +10 -10
- package/client/component/filter/filter-grist-meta-object-select.js +10 -10
- package/client/component/grist/editor/grist-editor-code-input.js +6 -6
- package/client/component/grist/editor/grist-editor-meta-code-selector.js +7 -7
- package/client/component/grist/editor/grist-editor-meta-object-selector.js +8 -8
- package/client/component/grist/renderer/grist-renderer-code-input.js +1 -1
- package/client/component/grist/renderer/grist-renderer-meta-code-selector.js +1 -1
- package/client/component/grist/renderer/grist-renderer-meta-object-selector.js +1 -1
- package/client/component/popup/code-input-editor-popup.js +10 -10
- package/client/component/popup/file-upload-popup.js +11 -11
- package/client/component/popup/meta-object-selector-popup.js +11 -11
- package/client/component/popup/record-based-code-editor-popup.js +11 -11
- package/client/mixin/meta-base-mixin.js +1 -1
- package/client/mixin/meta-basic-grist-mixin.js +4 -4
- package/client/mixin/meta-button-mixin.js +1 -1
- package/client/mixin/meta-form-mixin.js +1 -1
- package/client/mixin/meta-grist-tab-mixin.js +1 -1
- package/client/mixin/meta-main-tab-mixin.js +1 -1
- package/client/mixin/meta-master-detail-mixin.js +1 -1
- package/client/mixin/meta-service-mixin.js +1 -1
- package/client/mixin/meta-tab-detail-mixin.js +1 -1
- package/client/mixin/meta-tab-mixin.js +1 -1
- package/client/pages/activity/meta-activity-define-page.js +15 -358
- package/client/pages/activity/meta-activity-list-page.js +6 -6
- package/client/pages/activity/meta-activity-viewer-element.js +3 -3
- package/client/pages/activity/meta-activity-writer-element.js +3 -3
- package/client/pages/activity/meta-activiy-mixin.js +3 -3
- package/client/pages/button-role/button-role-detail.js +1 -1
- package/client/pages/button-role/button-role-page.js +1 -1
- package/client/pages/doc-number/doc-number-page.js +1 -1
- package/client/pages/doc-number/next-doc-number-popup.js +1 -1
- package/client/pages/entity/config-entity.js +29 -29
- package/client/pages/entity/main-menu-selector.js +8 -8
- package/client/pages/history/history-copy-list-popup.js +6 -6
- package/client/pages/history/history-json-list-popup.js +6 -6
- package/client/pages/loading-page.js +5 -5
- package/client/pages/menu/dynamic-menu-setting-let.js +6 -6
- package/client/pages/menu/dynamic-menu-template.js +7 -7
- package/client/pages/menu/dynamic-menu.js +16 -16
- package/client/pages/menu/export-menu-popup.js +7 -7
- package/client/pages/meta-form-element.js +1 -1
- package/client/pages/meta-grist-element.js +1 -1
- package/client/pages/meta-grist-page.js +1 -1
- package/client/pages/meta-grist-tab-element.js +1 -1
- package/client/pages/meta-grist-tab-page.js +1 -1
- package/client/pages/meta-main-tab-element.js +1 -1
- package/client/pages/meta-main-tab-page.js +1 -1
- package/client/pages/meta-master-detail-element.js +1 -1
- package/client/pages/meta-master-detail-page.js +1 -1
- package/client/pages/meta-tab-detail-element.js +1 -1
- package/client/pages/meta-tab-detail-page.js +1 -1
- package/client/pages/meta-tab-element.js +1 -1
- package/client/pages/personalize/personal-column-selector.js +11 -11
- package/client/pages/printer-device/printer-device-page.js +1 -1
- package/client/pages/template/doc-template-page.js +1 -1
- package/client/pages/template/template-file-page.js +1 -1
- package/client/pages/terms/config-terminology.js +6 -6
- package/client/pages/work-code/work-code-detail-popup.js +1 -1
- package/client/pages/work-code/work-code-page.js +1 -1
- package/client/reducers/main.js +1 -1
- package/client/utils/grist-default-value.js +1 -1
- package/client/utils/meta-api.js +1 -1
- package/client/utils/meta-crypto.js +1 -1
- package/client/utils/meta-ui-util.js +675 -2889
- package/client/utils/service-util.js +51 -35
- package/client/utils/terms-util.js +2 -2
- package/client/utils/ui-util.js +1 -1
- package/client/utils/value-util.js +1 -1
- package/client/viewparts/dynamic-menu-landscape-styles.js +1 -1
- package/client/viewparts/dynamic-menu-landscape.js +12 -12
- package/client/viewparts/dynamic-menu-part.js +12 -12
- package/client/viewparts/dynamic-menu-portrait-styles.js +2 -2
- package/client/viewparts/dynamic-menu-portrait.js +10 -10
- package/client/viewparts/dynamic-top-menu-bar.js +8 -8
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import{css,html,LitElement}from"lit";import{CommonGristStyles,ButtonContainerStyles}from"@operato/styles";import{TermsUtil}from"../../utils/terms-util";import{ValueUtil}from"../../utils/value-util";import{ServiceUtil}from"../../utils/service-util";import{MetaApi}from"../../utils/meta-api";import{MetaUiUtil}from"../../utils/meta-ui-util";import{isMobileDevice}from"@operato/utils";import{closePopup}from"@operato/popup";export class MetaObjectSelectorPopup extends LitElement{static styles=[CommonGristStyles,ButtonContainerStyles,css`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
@@ -17,9 +17,9 @@ const a0_0x165acf=a0_0x5218;(function(_0x54b1fd,_0x22f3f7){const _0x97452a=a0_0x
|
|
|
17
17
|
display: flex;
|
|
18
18
|
margin-left: auto;
|
|
19
19
|
}
|
|
20
|
-
`];async
|
|
21
|
-
<ox-grist id="ox-grist" .config=${this
|
|
22
|
-
.fetchHandler=${this
|
|
20
|
+
`];async connectedCallback(){this.search_hidden_fields=this.options.filters?this.options.filters:this.basicArgs&&this.basicArgs.filters?this.basicArgs.filters:[],this.search_hidden_fields=this.search_hidden_fields.map((t=>{let{name:e,operator:i,value:s}=t;return s.startsWith("::")&&(s=ValueUtil.getParams(this.record,...s.substring(2).split("."))),{name:e,operator:i,value:s}}));let t=this.options.sorters?this.options.sorters:this.basicArgs&&this.basicArgs.sorters?this.basicArgs.sorters:[],e=this.options.filterFields?this.options.filterFields:this.options.menu_template?.search&&this.options.menu_template?.search.length>0?this.options.menu_template.search:[],i=this.options.select;if(!e||0==e.length){let t;this.options.codeField&&(t=this.options.codeField),this.options.nameField&&(t=this.options.nameField),t&&e.push({name:t,operator:"eq"})}let s=[...MetaApi.getGristGuttersConfig(!0,!1)];if(i&&i.length>0)for(let t=0;t<i.length;t++){let{type:e="string",name:o,hidden:l=!1,record:r={align:"left"},header:a,sortable:n=!1,width:c=135,options:p,select_opt:d,object_opt:h}=i[t];if(d&&(p=d),h&&(p=h),["resource-object","object"].includes(e)?e="meta-object-selector":["resource-code-selector"].includes(e)&&(e="meta-code-selector"),"id"==o)s.push({type:"string",name:o,hidden:!0});else{"boolean-all"==e&&(e="boolean");let t=MetaApi.getGristColumnConfig2(e,o,a||o,r.align?r.align:"left",!1,n,c);e.startsWith("meta-")&&h&&h.menu&&(p=await MetaUiUtil.getGristMetaObjectOptions(e,p)),"select"===e?Array.isArray(p)?t.record.options=p:"code"===p.type?t.record.options=await ServiceUtil.getCodeSelectorData(p.values?p.values:p.name):"scenario"===p.type?t.record.options=await ServiceUtil.getCodeByScenario(p.name,p.args):"entity"===p.type&&(t.record.options=await ServiceUtil.getCodeByEntity(p.args)):"meta-object-selector"===e?t.record.options={...p}:"meta-code-selector"==e&&(p.dispField&&(p.codes=await ServiceUtil.getCodeByEntity(p)),t.record.options={...p}),t.hidden=l,s.push(t)}}else s.push(MetaApi.getGristColumnConfig2("string",this.options.codeField,this.options.codeField,"left",!1,!0,180)),this.options.dispField&&s.push(MetaApi.getGristColumnConfig2("string",this.options.dispField,this.options.dispField,"left",!1,!0,300));s.forEach((t=>{let i=e.filter((e=>"string"==typeof e?t.name==e:t.name==e.name));i&&i.length>0&&(t.filter="string"==typeof i[0]?"search":i[0])}));let o={rows:MetaApi.getGristSelectableConfig(!1),pagination:MetaApi.getGristPagination100Config(),columns:s,sorters:[...t]};o.rows.handlers={click:"select-row-toggle",dblclick:(t,e,i,s,o,l)=>{this.selectRecord(s)}},o.rows.appendable=!1,this.gridConfig=o,await super.connectedCallback()}async firstUpdated(){await super.firstUpdated()}render(){return html`
|
|
21
|
+
<ox-grist id="ox-grist" .config=${this.gridConfig} .mode=${isMobileDevice()?"LIST":"GRID"} auto-fetch
|
|
22
|
+
.fetchHandler=${this.fetchHandler.bind(this)}>
|
|
23
23
|
<div slot="headroom">
|
|
24
24
|
<div id="filters">
|
|
25
25
|
<ox-filters-form></ox-filters-form>
|
|
@@ -27,14 +27,14 @@ const a0_0x165acf=a0_0x5218;(function(_0x54b1fd,_0x22f3f7){const _0x97452a=a0_0x
|
|
|
27
27
|
</div>
|
|
28
28
|
</ox-grist>
|
|
29
29
|
<div id="button-container" class="button-container">
|
|
30
|
-
<mwc-button raised label="${TermsUtil
|
|
31
|
-
@click=${this
|
|
30
|
+
<mwc-button raised label="${TermsUtil.tButton("empty")}" style="margin-left:7px;margin-top:7px;"
|
|
31
|
+
@click=${this.clickEmpty.bind(this)}>
|
|
32
32
|
</mwc-button>
|
|
33
|
-
<mwc-button raised label="${TermsUtil
|
|
34
|
-
@click=${this
|
|
33
|
+
<mwc-button raised label="${TermsUtil.tButton("cancel")}" style="margin-left:7px;margin-top:7px;"
|
|
34
|
+
@click=${this.clickCancel.bind(this)}>
|
|
35
35
|
</mwc-button>
|
|
36
|
-
<mwc-button raised label="${TermsUtil
|
|
37
|
-
@click=${this
|
|
36
|
+
<mwc-button raised label="${TermsUtil.tButton("select")}" style="margin-left:7px;margin-top:7px;"
|
|
37
|
+
@click=${this.clickSelect.bind(this)}>
|
|
38
38
|
</mwc-button>
|
|
39
39
|
</div>
|
|
40
|
-
|
|
40
|
+
`}get grist(){return this.shadowRoot.querySelector("#ox-grist")}async fetchHandler({page:t=0,limit:e=0,sorters:i=[],filters:s=[]}){let o=[...this.search_hidden_fields];s.forEach((t=>{let e=o.filter((e=>t.name==e.name));e&&e.length>0&&delete o[t.name],o.push(t)}));let l=ValueUtil.getParams(this.options.menu_template&&this.options.menu_template.gql||{},"query","after_set_fields"),r=Object.keys(l||{}),a=MetaApi.getSelectColumns(this.gridConfig.columns.filter((t=>!r.includes(t.name))));return await MetaApi.searchByPagination(this.options.queryName,o,i,t,e,a)}async clickEmpty(t){this.confirmCallback&&this.confirmCallback(null),closePopup(this)}async clickCancel(t){closePopup(this)}async clickSelect(t){let e=this.grist.selected;e&&0!=e.length?this.selectRecord(e[0]):MetaApi.showToast("info",TermsUtil.tText("NOTHING_SELECTED"))}async selectRecord(t){this.confirmCallback&&this.confirmCallback(t),closePopup(this)}}customElements.define("meta-object-selector-popup",MetaObjectSelectorPopup);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import{css,html,LitElement}from"lit";import{CommonGristStyles,ButtonContainerStyles}from"@operato/styles";import{TermsUtil}from"../../utils/terms-util";import{MetaApi}from"../../utils/meta-api";import{ServiceUtil}from"../../utils/service-util";import"@operato/input/ox-input-code.js";import{closePopup}from"@operato/popup";export class RecordBasedCodeEditorPopup extends LitElement{static styles=[CommonGristStyles,ButtonContainerStyles,css`
|
|
2
2
|
:host {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
@@ -19,21 +19,21 @@ const a0_0x5ea2c6=a0_0x3f6c;function a0_0x2562(){const _0x46806a=['831785eehVpF'
|
|
|
19
19
|
display: flex;
|
|
20
20
|
margin-left: auto;
|
|
21
21
|
}
|
|
22
|
-
`];async
|
|
23
|
-
<ox-input-code mode="javascript" value=${this
|
|
22
|
+
`];async connectedCallback(){this.value=this.record[this.config.value_field]?this.record[this.config.value_field]:"","object"==typeof this.value?this.codeValue=JSON.stringify(this.value,0,2):this.codeValue=this.value,await super.connectedCallback()}async firstUpdated(){await super.firstUpdated()}render(){return!!this.config.save_action?html`
|
|
23
|
+
<ox-input-code mode="javascript" value=${this.codeValue} tab-size="2" tab-as-space="true"></ox-input-code>
|
|
24
24
|
<div id="button-container" class="button-container">
|
|
25
|
-
<mwc-button raised label="${TermsUtil
|
|
26
|
-
@click=${this
|
|
25
|
+
<mwc-button raised label="${TermsUtil.tButton("cancel")}" style="margin-left:7px;margin-top:7px;"
|
|
26
|
+
@click=${this.clickCancel.bind(this)}>
|
|
27
27
|
</mwc-button>
|
|
28
|
-
<mwc-button raised label="${TermsUtil
|
|
29
|
-
@click=${this
|
|
28
|
+
<mwc-button raised label="${TermsUtil.tButton("save")}" style="margin-left:7px;margin-top:7px;"
|
|
29
|
+
@click=${this.clickSave.bind(this)}>
|
|
30
30
|
</mwc-button>
|
|
31
31
|
</div>
|
|
32
32
|
`:html`
|
|
33
|
-
<ox-input-code mode="javascript" value=${this
|
|
33
|
+
<ox-input-code mode="javascript" value=${this.codeValue} tab-size="2" tab-as-space="true"></ox-input-code>
|
|
34
34
|
<div id="button-container" class="button-container">
|
|
35
|
-
<mwc-button raised label="${TermsUtil
|
|
36
|
-
@click=${this
|
|
35
|
+
<mwc-button raised label="${TermsUtil.tButton("cancel")}" style="margin-left:7px;margin-top:7px;"
|
|
36
|
+
@click=${this.clickCancel.bind(this)}>
|
|
37
37
|
</mwc-button>
|
|
38
38
|
</div>
|
|
39
|
-
|
|
39
|
+
`}get codeEditor(){return this.shadowRoot.querySelector("ox-input-code")}async clickSave(t){if(this.codeValue===this.codeEditor.value)MetaApi.showToast("info",TermsUtil.tText("NOTHING_CHANGED"));else{let t=this.config.save_action.func_name,e={id:this.record.id,cuFlag:"M"};e[this.config.value_field]=this.codeEditor.value,await ServiceUtil.updateOne(t,this.record.id,e)&&closePopup(this)}}async clickCancel(t){closePopup(this)}}customElements.define("record-based-code-editor-popup",RecordBasedCodeEditorPopup);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{MetaApi}from"./../utils/meta-api";import{ValueUtil}from"./../utils/value-util";import{TermsUtil}from"./../utils/terms-util";export const MetaBaseMixin=t=>class extends t{static get properties(){return{menuInfo:Object,route_name:String,parent_id:String,is_detail:{type:Boolean,converter:t=>Boolean(t)},is_popup:{type:Boolean,converter:t=>Boolean(t)},is_activity:{type:Boolean,converter:t=>Boolean(t)},is_readonly:{type:Boolean,converter:t=>Boolean(t)}}}get isElement(){return!0===this.is_detail||!0===this.is_popup}get isDetail(){return!ValueUtil.isEmpty(this.is_detail)&&this.is_detail}async dataChangeEventHandler(t){let{after:e,before:i,column:a,record:s,row:n}=t.detail,r=a.name;if(Object.keys(this.fieldChangeHandlers||{}).includes(r)){let t=(await MetaApi.callScenario(r,this.fieldChangeHandlers[r],{columnName:r,column:a,record:s,after:e,before:i,row:n,parentId:this.parent_id?this.parent_id:""},!1)).data.runScenario.result.result;if(!t)return;let l=this.grist?this.grist.grist.body:this;Object.keys(t).forEach((e=>{l.dispatchEvent(new CustomEvent("field-change",{bubbles:!0,composed:!0,detail:{record:s,row:n,after:t[e],before:s[e],column:{name:e}}}))}))}this.dispatchEvent(new CustomEvent("data-changed",{bubbles:!0,composed:!0,detail:t.detail}))}async connectedCallback(){super.connectedCallback&&await super.connectedCallback(),this.tagName.toLowerCase().startsWith("meta-form-")?this.addEventListener("form-field-change",(async t=>{await this.dataChangeEventHandler(t)})):this.addEventListener("field-change",(async t=>{await this.dataChangeEventHandler(t)}))}async pageUpdated(t,e,i){let a=this.lifecycle?.params?this.lifecycle.params:{};this.isPage&&this.active&&0==i.active&&ValueUtil.isNotEmpty(a)&&this.fetch()}get isPopup(){return!ValueUtil.isEmpty(this.is_popup)&&this.is_popup}get isPage(){return!this.is_detail&&!this.is_popup}async getAndParseMenuMeta(){let t=await MetaApi.getMenuMeta(this);t&&(this.menuInfo=t.menu,this.etcConfig=t.etc,this.parseBasicGridConfigs&&this.parseBasicGridConfigs(t),this.parseBasicServiceConfigs&&this.parseBasicServiceConfigs(t),this.parseBasicFormConfigs&&this.parseBasicFormConfigs(t),this.parseBasicTabConfigs&&this.parseBasicTabConfigs(t),this.parseBasicButtonConfigs&&this.parseBasicButtonConfigs(t))}async fetch(){ValueUtil.isNotEmpty(this.grist)?this.grist.fetch():(ValueUtil.isNotEmpty(this.filterForm)||this.fetchHandler)&&await this.fetchHandler()}async excuteOpenPopupButtonClick(t,e,i){let a=TermsUtil.tTitle(t.title);ValueUtil.isNotEmpty(t.title_detail)&&(a=`${a}-${ValueUtil.getParams(e,...t.title_detail.split("."))}`),MetaApi.openDynamicPopup(a,t,e,i)}async executeCallScenarioButtonClick(t,e,i){let a=await MetaApi.callScenario(t.name,t.name,e);!1!==a&&!a.errors&&ValueUtil.isNotEmpty(t.after)&&i()}setParentId(t){this.parent_id=t,this.fetch()}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
${MetaApi
|
|
3
|
-
${this
|
|
4
|
-
|
|
1
|
+
import{html}from"lit";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{ValueUtil}from"../utils/value-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaBasicGristMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicGristStyles()}static get properties(){return{gridConfig:Object,gridColumnConfig:Array,searchConfig:Array,searchFormElement:String,gristConfigSet:Object,useFilterForm:Boolean,gridMobileMode:String,gridDeskMode:String,gridViewOptions:Array,gridMode:String,infinityPage:Boolean,gristId:String,filterFormId:String}}get grist(){return this.renderRoot?.querySelector(this.gristId)}get filterForm(){return this.shadowRoot?.querySelector(this.filterFormId)}get context(){return MetaUiUtil.getContextObject(this)}async connectedCallback(){this.gristId="ox-grist",this.filterFormId="ox-filters-form",await this.getAndParseMenuMeta(),this.isElement&&await this.parseGristConfigs(),this.activityDataSet&&(this.dataSet=this.activityDataSet),super.connectedCallback&&await super.connectedCallback()}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseGristConfigs(),super.pageInitialized&&await super.pageInitialized()}async pageUpdated(t,i,e){this.active&&this.gridConfig.grid_refresh_when_page_activated&&this.fetch()}render(){return html`
|
|
2
|
+
${MetaApi.getBasicGristHtml(this)}
|
|
3
|
+
${this.isPage?html``:MetaUiUtil.getButtonContainer(this)}
|
|
4
|
+
`}parseBasicGridConfigs(t){this.gridConfig=t.grid,this.gridColumnConfig=t.grid_column,this.searchConfig=t.search,this.gridEmphasized=t.gridEmphasized}async parseGristConfigs(){this.gristConfigSet=await MetaApi.parseGridConfigSet(this)}async fetch(){await this.grist.fetch()}back(){history.back()}async save(){let t=MetaApi.patchesForUpdateMultiple(this.grist);!!ValueUtil.isNotEmpty(t)&&await this.updateMultiple(t)&&this.fetch()}async find(){let t=MetaApi.getSelectedIdList(this.grist,!0);return ValueUtil.isNotEmpty(t)?await this.findOne(t[0]):{}}async delete(){let t=MetaApi.getSelectedIdList(this.grist,!0);!!ValueUtil.isNotEmpty(t)&&await this.deleteByIds(t)&&this.fetch()}async export(){let t=TermsUtil.tTitle(ValueUtil.getParams(this.menuInfo,"title"));return await MetaApi.exportableData(this.isElement,t,this.grist)}async import(){}async clear(){this.grist&&(this.grist.data={page:0,total:0,limit:0,records:[]})}getData(){let t=this.grist.___data.records;return t=JSON.parse(JSON.stringify(t)),t.forEach((t=>{Object.keys(t).forEach((i=>{i.startsWith("__")&&delete t[i]}))})),t}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{html}from"lit";import{MetaUiUtil}from"../utils/meta-ui-util";import{MetaServiceMixin}from"./meta-service-mixin";export const MetaButtonMixin=t=>class extends(MetaServiceMixin(t)){static get properties(){return{buttonConfig:Array,useButtonExport:Boolean,useButtonImport:Boolean,useButtonAdd:Boolean}}getCustomButtonContainerStyle(){return MetaUiUtil.getCustomButtonContainerStyles()}getContextButtons(){return MetaUiUtil.getContextButtons(this)}getButtonContainer(){return this.isPage?html``:MetaUiUtil.getButtonContainer(this)}async getBasicButtonHandler(t,i,n){return await MetaUiUtil.getButtonActionHandler(this,t,i,n)}async customButtonHandler(t){await MetaUiUtil.customButtonHandler(this,null,t)}async gristButtonHandler(t,i){await MetaUiUtil.gristButtonHandler(this,t,i)}parseBasicButtonConfigs(t){this.buttonConfig=t.button,this.useButtonImport=MetaUiUtil.isButtonExist(this.buttonConfig,"import"),this.useButtonExport=MetaUiUtil.isButtonExist(this.buttonConfig,"export"),this.useButtonAdd=MetaUiUtil.isButtonExist(this.buttonConfig,"add")}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{closePopup}from"@operato/popup";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{ValueUtil}from"../utils/value-util";import{UiUtil}from"../utils/ui-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaFormMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicFormStyles()}static get properties(){return{formColumnConfig:Array,formConfigSet:Object,formRenderConfig:Array,record:Object}}get context(){return MetaUiUtil.getContextObject(this)}async connectedCallback(){await this.getAndParseMenuMeta(),this.isElement&&await this.parseFormConfigs(),this.activityDataSet&&(this.dataSet=this.activityDataSet),!0!==this.is_activity||this.parent_id||(this.parent_id="activity"),super.connectedCallback&&await super.connectedCallback(),this.isElement&&await this.fetch(),this.renderRoot.addEventListener("keydown",(t=>{switch(t.key){case"Esc":case"Escape":case"Enter":this.focus(),this.currentTarget&&this.currentTarget.removeAttribute("editing"),this.currentTarget=null}})),this.renderRoot.addEventListener("click",(t=>{t.stopPropagation();let e=t.target;if(this.currentTarget&&(this.focus(),this.currentTarget.removeAttribute("editing")),"OX-GRID-FIELD"!==e.tagName||!e.column.record.editable)return this.focus(),void(this.currentTarget=null);this.currentTarget=e,e.setAttribute("editing","true")})),this.addEventListener("field-change",(t=>{let{after:e,before:i,column:r,record:a,row:s}=t.detail;if(ValueUtil.isEquals(e,i))return;let o=r.validation;if(o&&"function"==typeof o&&!o.call(this,e,i,a,r))return;let n=r.name;a[n]=e,a.__dirtyfields__=a.__dirtyfields__||{},a.__origin__=a.__origin__||{},a.__dirtyfields__[n]={before:a.__origin__[n],after:a[n]},ValueUtil.isEquals(a.__dirtyfields__[n].before,a.__dirtyfields__[n].after)&&delete a.__dirtyfields__[n],a.__dirty__=ValueUtil.isNotEmpty(a.__dirtyfields__)?"M":"",this.record={...a},this.dispatchEvent(new CustomEvent("form-field-change",{bubbles:!0,composed:!0,detail:t.detail}))}))}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseFormConfigs(),super.pageInitialized&&await super.pageInitialized(),this.isPage&&await this.fetch()}render(){return MetaApi.getBasicFormHtml(this)}parseBasicFormConfigs(t){this.formColumnConfig=t.grid_column,this.formRenderConfig=t.form}async parseFormConfigs(){this.formConfigSet=await MetaApi.parseFormConfigSet(this)}get orgData(){return this.removeGarbageData(this.record.__origin__)}get dirtyData(){if(ValueUtil.isEmpty((this.record||{}).__dirtyfields__))return{};let t={};return Object.entries(this.record.__dirtyfields__).map((([e,i])=>{0==e.startsWith("__")&&(t[e]=i.after)})),t}get currentData(){return this.removeGarbageData(this.record)}removeGarbageData(t){if(!t)return;let e={};return Object.entries(t).map((([t,i])=>{0==t.startsWith("__")&&(e[t]=i)})),e}get patchData(){let t=this.dirtyData,e=this.record,i=(this.formColumnConfig||[]).filter((t=>"code-input"===t.type)).map((t=>t.name));if(!ValueUtil.isEmpty(t))return ValueUtil.isNotEmpty(e.id)?(t.id=e.id,t.cuFlag="M"):t.cuFlag="+",Object.keys(t).forEach((e=>{"object"==typeof t[e]&&0==i.includes(e)&&(t[e]={id:t[e].id})})),[t]}async fetch(){if(ValueUtil.isEmpty(this.parent_id))return;if(!ValueUtil.getParams(this.gqlInfo,"query","find_one_func"))return;let t=await this.findOne(this.parent_id);t.__seq__=1;let e={};Object.assign(e,t),t.__origin__=e,this.record={...t}}async save(){let t=this.patchData;if(ValueUtil.isEmpty(t))return void MetaApi.showAlertPopup("title.info","text.NOTHING_CHANGED");let e={};(this.formColumnConfig||[]).filter((t=>!0===t.mandatory)).forEach((t=>{e[t.name]=t.header}));let i=this.currentData;for(let t in e)if(void 0===i[t]||""==i[t])return void UiUtil.showAlertPopup("text.check-mandatory",TermsUtil.tText("check-mandatory-field",{x:TermsUtil.tLabel(e[t])}),"info","confirm");let r=await this.updateMultiple(t);return r&&(await this.fetch(),this.isPopup&&closePopup(this)),r}async clear(){this.record&&(this.record={})}getData(){return this.currentData||{}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{html}from"lit";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{UiUtil}from"../utils/ui-util";import{ValueUtil}from"../utils/value-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaGristTabMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicGristTabStyles()}static get properties(){return{gridConfig:Object,gridColumnConfig:Array,searchConfig:Array,searchFormElement:String,gristConfigSet:Object,useFilterForm:Boolean,gridMobileMode:String,gridDeskMode:String,gridViewOptions:Array,gridMode:String,infinityPage:Boolean,gristId:String,filterFormId:String}}get grist(){return this.renderRoot.querySelector(this.gristId)}get filterForm(){return this.shadowRoot?.querySelector(this.filterFormId)}get detailElement(){return this.shadowRoot.querySelector("#detail")}get context(){let t=MetaUiUtil.getContextObject(this);return t.actions&&delete t.actions,t.exportable&&delete t.exportable,t.importable&&delete t.importable,t}async connectedCallback(){this.gristId="ox-grist",this.filterFormId="ox-filters-form-base",await this.getAndParseMenuMeta(),this.isElement&&await this.parseGristConfigs(),this.activityDataSet&&(this.dataSet=(this.activityDataSet||{}).main),super.connectedCallback&&await super.connectedCallback()}async pageUpdated(t,e,i){super.pageUpdated(t,e,i),this.isPage&&0==i.active&&console.log("page updated!!!!")}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseGristConfigs(),super.pageInitialized&&await super.pageInitialized()}render(){return MetaApi.getGristTabHtml(this)}parseBasicGridConfigs(t){this.gridConfig=t.grid,this.gridColumnConfig=t.grid_column,this.searchConfig=t.search,this.gridEmphasized=t.gridEmphasized}async parseGristConfigs(){this.gristConfigSet=await MetaApi.parseGridConfigSet(this),this.useMasterFilterForm=!0===this.useFilterForm,this.useFilterForm=!1,this.searchFieldValues=[],this.searchFields=this.gristConfigSet.columns.filter((t=>t.filter)).map((t=>{let e={name:t.name,type:"search"===t.filter.operator?"search":t.type,label:t.header,operator:t.filter.operator?t.filter.operator:"eq"};return t.filter.options&&(e.options=t.filter.options),t.record.options&&(e.options=t.record.options),t.filter.value&&this.searchFieldValues.push({name:e.name,operator:e.operator,value:t.filter.value}),delete t.filter,e}))}async fetch(){await this.grist.fetch()}async beforeFetch({page:t=0,limit:e=0,sortings:i=[],filters:r=[]}){let a=this.renderRoot.querySelector("meta-tab-element");return await a.clear(),!0}async save(){let t=MetaApi.patchesForUpdateMultiple(this.grist);!!ValueUtil.isNotEmpty(t)&&await this.updateMultiple(t)&&this.fetch()}async find(){let t=MetaApi.getSelectedIdList(this.grist,!0);return ValueUtil.isNotEmpty(t)?await this.findOne(t[0]):{}}async delete(){let t=MetaApi.getSelectedIdList(this.grist,!0);!!ValueUtil.isNotEmpty(t)&&await this.deleteByIds(t)&&this.fetch()}async export(){let t=TermsUtil.tTitle(ValueUtil.getParams(this.menuInfo,"title"));return await MetaApi.exportableData(this.isElement,t,this.grist)}async import(){}getData(){let t=this.grist.___data.records;return t=JSON.parse(JSON.stringify(t)),t.forEach((t=>{Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]}))})),{main:t,detail:this.renderRoot.querySelector("meta-tab-element").getData()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{html}from"lit";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{UiUtil}from"../utils/ui-util";import{ValueUtil}from"../utils/value-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaMainTabMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicMainTabStyles()}static get properties(){return{gridConfig:Object,gridColumnConfig:Array,searchConfig:Array,searchFormElement:String,gristConfigSet:Object,useFilterForm:Boolean,gridMobileMode:String,gridDeskMode:String,gridViewOptions:Array,gridMode:String,infinityPage:Boolean,gristId:String,filterFormId:String}}get grist(){return this.masterElement.getMainGrist()}get filterForm(){return this.shadowRoot?.querySelector(this.filterFormId)}get context(){let t=MetaUiUtil.getContextObject(this);return t.actions&&delete t.actions,t.exportable&&delete t.exportable,t.importable&&delete t.importable,t}async connectedCallback(){this.gristId="ox-grist",this.filterFormId="ox-filters-form-base",await this.getAndParseMenuMeta(),this.isElement&&await this.parseGristConfigs(),this.activityDataSet&&(this.dataSet=(this.activityDataSet||{}).main),super.connectedCallback&&await super.connectedCallback()}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseGristConfigs(),super.pageInitialized&&await super.pageInitialized()}render(){return MetaApi.getMainTabHtml(this)}parseBasicGridConfigs(t){this.gridConfig=t.grid,this.gridColumnConfig=t.grid_column,this.searchConfig=t.search,this.gridEmphasized=t.gridEmphasized}async parseGristConfigs(){this.gristConfigSet=await MetaApi.parseGridConfigSet(this),this.useMasterFilterForm=!0===this.useFilterForm,this.useFilterForm=!1,this.buttonConfig=void 0,this.useButtonExport=!1,this.useButtonImport=!1,this.searchFieldValues=[],this.searchFields=this.gristConfigSet.columns.filter((t=>t.filter)).map((t=>{let e={name:t.name,type:"search"===t.filter.operator?"search":t.type,label:t.header,operator:t.filter.operator?t.filter.operator:"eq"};return t.filter.options&&(e.options=t.filter.options),t.record.options&&(e.options=t.record.options),t.filter.value&&this.searchFieldValues.push({name:e.name,operator:e.operator,value:t.filter.value}),delete t.filter,e}))}async fetch(){await this.grist.fetch()}async beforeFetch({page:t=0,limit:e=0,sortings:i=[],filters:r=[]}){return this.masterElement&&this.masterElement.clear&&await this.masterElement.clear(),!0}getData(){return{master:this.masterElement.getData()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{html}from"lit";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{UiUtil}from"../utils/ui-util";import{ValueUtil}from"../utils/value-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaMasterDetailMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicMasterDetailStyles()}static get properties(){return{gridConfig:Object,gridColumnConfig:Array,searchConfig:Array,searchFormElement:String,gristConfigSet:Object,useFilterForm:Boolean,gridMobileMode:String,gridDeskMode:String,gridViewOptions:Array,gridMode:String,infinityPage:Boolean,gristId:String,filterFormId:String,detailElement:Object}}get grist(){return this.renderRoot.querySelector(this.gristId)}get filterForm(){return this.shadowRoot?.querySelector(this.filterFormId)}get context(){let t=MetaUiUtil.getContextObject(this);return t.actions&&delete t.actions,t.exportable&&delete t.exportable,t.importable&&delete t.importable,t}async connectedCallback(){this.gristId="ox-grist",this.filterFormId="ox-filters-form-base",await this.getAndParseMenuMeta(),this.isElement&&await this.parseGristConfigs(),this.activityDataSet&&(this.dataSet=(this.activityDataSet||{}).main),super.connectedCallback&&await super.connectedCallback()}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseGristConfigs(),super.pageInitialized&&await super.pageInitialized()}render(){return MetaApi.getMasterDetailHtml(this)}parseBasicGridConfigs(t){this.gridConfig=t.grid,this.gridColumnConfig=t.grid_column,this.searchConfig=t.search,this.gridEmphasized=t.gridEmphasized}async parseGristConfigs(){this.gristConfigSet=await MetaApi.parseGridConfigSet(this),this.gristConfigSet.rows.handlers=this.gristConfigSet.rows.handlers||{},this.gristConfigSet.rows.handlers.focus=this.masterGridFocusEventHandler.bind(this),this.masterOption=JSON.parse(this.etcConfig.master_option||"{}");let{split_filter:t=!1}=this.masterOption;this.useMasterFilterForm=!0===this.useFilterForm&&!1===t,this.useFilterForm=!0===t,0==this.useFilterForm&&(this.searchFieldValues=[],this.searchFields=this.gristConfigSet.columns.filter((t=>t.filter)).map((t=>{let e={name:t.name,type:"search"===t.filter.operator?"search":t.type,label:t.header,operator:t.filter.operator?t.filter.operator:"eq"};return t.filter.options&&(e.options=t.filter.options),t.record.options&&(e.options=t.record.options),t.filter.value&&this.searchFieldValues.push({name:e.name,operator:e.operator,value:t.filter.value}),delete t.filter,e})))}masterGridFocusEventHandler(t,e,i,r,s){r.id&&this.detailElement&&this.detailElement.setParentId(r.id)}async fetch(){await this.grist.fetch()}async beforeFetch({page:t=0,limit:e=0,sortings:i=[],filters:r=[]}){return this.detailElement&&this.detailElement.clear&&await this.detailElement.clear(),!0}async save(){let t=MetaApi.patchesForUpdateMultiple(this.grist);!!ValueUtil.isNotEmpty(t)&&await this.updateMultiple(t)&&this.fetch()}async find(){let t=MetaApi.getSelectedIdList(this.grist,!0);return ValueUtil.isNotEmpty(t)?await this.findOne(t[0]):{}}async delete(){let t=MetaApi.getSelectedIdList(this.grist,!0);!!ValueUtil.isNotEmpty(t)&&await this.deleteByIds(t)&&this.fetch()}async export(){let t=TermsUtil.tTitle(ValueUtil.getParams(this.menuInfo,"title"));return await MetaApi.exportableData(this.isElement,t,this.grist)}async import(){}getData(){let t=this.grist.___data.records;return t=JSON.parse(JSON.stringify(t)),t.forEach((t=>{Object.keys(t).forEach((e=>{e.startsWith("__")&&delete t[e]}))})),{main:t,detail:this.detailElement.getData()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{adjustFilters}from"@operato/utils";import{MetaApi}from"./../utils/meta-api";import{ValueUtil}from"./../utils/value-util";import{MetaBaseMixin}from"./meta-base-mixin";export const MetaServiceMixin=t=>class extends(MetaBaseMixin(t)){static get properties(){return{gqlInfo:Object}}parseBasicServiceConfigs(t){this.gqlInfo=t.gql}async fetchHandler({page:t=0,limit:e=0,sortings:i=[],filters:a=[]}){if(this.is_activity)return{total:0,records:this.dataSet||[]};if(!0===this.infinityPage&&(t=0,e=0),this.beforeFetch&&0==await this.beforeFetch({page:t,limit:e,sortings:i,filters:a}))return;if(!this.gristConfigSet)return{total:0,records:[]};let l=ValueUtil.isEmpty(a)?this.mainFilterForm?await this.mainFilterForm.getQueryFilters()||[]:await(this.filterForm?.getQueryFilters())||[]:a,s=ValueUtil.getParams(this.gqlInfo,"query","list_func"),r=ValueUtil.getParams(this.gqlInfo,"query","filters"),n=ValueUtil.getParams(this.gqlInfo,"query","after_set_fields");if(ValueUtil.isNotEmpty(r)&&(l=adjustFilters(l,r)),l.push(...this.getPageNavigateParams()),this.isElement&&!this.mainFilterForm){let t=ValueUtil.getParams(this.gqlInfo,"query","parent_id");if(!ValueUtil.isNotEmpty(t)||!ValueUtil.isNotEmpty(this.parent_id))return{total:0,records:[]};l=adjustFilters(l,[{name:t,operator:"eq",value:this.parent_id}])}let u=Object.keys(n||{}),o=MetaApi.getSelectColumns(this.gristConfigSet.columns.filter((t=>!u.includes(t.name)))),m={};if(s.includes("$")){let a=s.replace("$","");m=(await MetaApi.callScenario(void 0,a,{filters:l,pagination:{page:t,limit:e},sortings:i},!1)).data.runScenario.result.result}else m=await MetaApi.searchByPagination(s,l,i,t,e,o);if(ValueUtil.isNotEmpty(n)&&ValueUtil.isNotEmpty(m)&&ValueUtil.isNotEmpty(m.records)&&m.records.map((t=>(u.forEach((e=>{t[e]=ValueUtil.getParams(t,...n[e].split("."))})),t))),this.afterFetch){let l=await this.afterFetch({page:t,limit:e,sortings:i,filters:a},m);if(l)return l}return m}getPageNavigateParams(){if(0==this.isPage)return[];let t=this.lifecycle?.params?this.lifecycle.params:{};if(!t.pass)return[];let e=t.pass,i=JSON.parse(e),a=1==i.length?"eq":"in",l={},s=[];return Object.keys(i[0]).forEach((t=>{l[t]={name:t,operator:a,value:"eq"===a?i[0][t]:[]}})),i.length>1&&i.forEach((t=>{Object.keys(t).forEach((e=>{l[e].value.push(t[e])}))})),Object.keys(l).forEach((t=>{s.push(l[t])})),s}async findOne(t){if(this.is_activity)return this.dataSet||{};let e=ValueUtil.getParams(this.gqlInfo,"query","find_one_func"),i=ValueUtil.getParams(this.gqlInfo,"query","after_set_fields"),a=Object.keys(i||{}),l=MetaApi.getSelectColumns((this.gristConfigSet?this.gristConfigSet:{columns:this.formConfigSet}).columns.filter((t=>!a.includes(t.name)))),s={};if(e.includes("$")){let i=e.replace("$",""),a=await MetaApi.callScenario(void 0,i,{id:t},!1);s=a.data.runScenario.result.result}else s=await MetaApi.findOne(e,t,l);return ValueUtil.isNotEmpty(i)&&ValueUtil.isNotEmpty(s)&&a.forEach((t=>{s[t]=ValueUtil.getParams(s,...i[t].split("."))})),s}async deleteByIds(t){let e=ValueUtil.getParams(this.gqlInfo,"mutation","delete","func");return await MetaApi.deleteListByIds(t,e)}async updateMultiple(t){let e=ValueUtil.getParams(this.gqlInfo,"mutation","multiple","func"),i=ValueUtil.getParams(this.gqlInfo,"mutation","multiple","skip_fields"),a="ScalarObject"==ValueUtil.getParams(this.gqlInfo,"mutation","multiple","type")?t.patches:t;if(ValueUtil.isNotEmpty(i)&&(i=i.map((t=>t.includes(".")?t.split("."):t)),a=a.map((t=>(i.forEach((e=>{Array.isArray(e)?delete t[e[0]][e[1]]:delete t[e]})),t)))),this.isElement&&ValueUtil.isNotEmpty(this.parent_id)){let t=ValueUtil.getParams(this.gqlInfo,"mutation","multiple","parent_id");ValueUtil.isNotEmpty(t)&&a.forEach((e=>{if(t.includes(".")){let i=t.split(".");e[i[0]]={},e[i[0]][i[1]]=this.parent_id}else e[t]=this.parent_id}))}return await MetaApi.updateMultiple(e,t)}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{html}from"lit";import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{UiUtil}from"../utils/ui-util";import{ValueUtil}from"../utils/value-util";import{TermsUtil}from"../utils/terms-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaTabDetailMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicTabDetailStyles()}static get properties(){return{gridConfig:Object,gridColumnConfig:Array,searchConfig:Array,searchFormElement:String,gristConfigSet:Object,useFilterForm:Boolean,gridMobileMode:String,gridDeskMode:String,gridViewOptions:Array,gridMode:String,infinityPage:Boolean,gristId:String,filterFormId:String,detailElement:Object}}get grist(){return this.masterElement.getMainGrist()}get filterForm(){return this.shadowRoot?.querySelector(this.filterFormId)}get context(){let t=MetaUiUtil.getContextObject(this);return t.actions&&delete t.actions,t.exportable&&delete t.exportable,t.importable&&delete t.importable,t}async connectedCallback(){this.gristId="ox-grist",this.filterFormId="ox-filters-form-base",await this.getAndParseMenuMeta(),this.isElement&&await this.parseGristConfigs(),this.activityDataSet&&(this.dataSet=(this.activityDataSet||{}).main),super.connectedCallback&&await super.connectedCallback()}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){this.isPage&&await this.parseGristConfigs(),super.pageInitialized&&await super.pageInitialized()}render(){return MetaApi.getTabDetailHtml(this)}parseBasicGridConfigs(t){this.gridConfig=t.grid,this.gridColumnConfig=t.grid_column,this.searchConfig=t.search,this.gridEmphasized=t.gridEmphasized}async parseGristConfigs(){this.gristConfigSet=await MetaApi.parseGridConfigSet(this),this.useMasterFilterForm=!0===this.useFilterForm,this.useFilterForm=!1,this.buttonConfig=void 0,this.useButtonExport=!1,this.useButtonImport=!1,this.searchFieldValues=[],this.searchFields=this.gristConfigSet.columns.filter((t=>t.filter)).map((t=>{let e={name:t.name,type:"search"===t.filter.operator?"search":t.type,label:t.header,operator:t.filter.operator?t.filter.operator:"eq"};return t.filter.options&&(e.options=t.filter.options),t.record.options&&(e.options=t.record.options),t.filter.value&&this.searchFieldValues.push({name:e.name,operator:e.operator,value:t.filter.value}),delete t.filter,e}))}async fetch(){await this.grist.fetch()}async beforeFetch({page:t=0,limit:e=0,sortings:i=[],filters:r=[]}){return this.masterElement&&this.masterElement.clear&&await this.masterElement.clear(),this.detailElement&&this.detailElement.clear&&await this.detailElement.clear(),!0}getData(){return{master:this.masterElement.getData(),detail:this.detailElement.getData()}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{MetaApi}from"../utils/meta-api";import{MetaUiUtil}from"../utils/meta-ui-util";import{ValueUtil}from"../utils/value-util";import{MetaButtonMixin}from"./meta-button-mixin";export const MetaTabMixin=t=>class extends(MetaButtonMixin(t)){static get styles(){return MetaApi.getBasicTabStyles()}static get properties(){return{tabRenderConfig:Array,currentTabKey:String,tabElements:Object}}get context(){return MetaUiUtil.getContextObject(this)}async connectedCallback(){this.currentTabKey=void 0,await this.getAndParseMenuMeta(),this.activityDataSet&&(this.dataSet=this.activityDataSet),super.connectedCallback&&await super.connectedCallback()}async firstUpdated(){super.firstUpdated&&await super.firstUpdated()}async pageInitialized(){super.pageInitialized&&await super.pageInitialized()}render(){return MetaApi.getBasicTabHtml(this)}parseBasicTabConfigs(t){if(!0===this.includeMainList){let e=this.etcConfig.main_tab_info,a=JSON.parse(e||'{ "name": "general", "display": "general", "icon": "list", "index": 0 }');a.index>t.tab.length&&(a.index=t.tab.length),t.tab.splice(a.index,0,{name:a.name,display:a.display,tagname:"meta-grist-element",location:"@things-factory/meta-ui/client/pages/meta-grist-element",parent_field:"id",param_field:"param_field",menu:this.route_name,icon:a.icon,filter_from:!1,main_filter_form:this.mainFilterForm})}this.tabRenderConfig=t.tab,t.button=[]}async clear(){if(this.tabElements){let e=Object.keys(this.tabElements);for(var t=0;t<e.length;t++)await this.tabElements[e[t]].clear()}}getData(){let t={};if(this.tabElements){Object.keys(this.tabElements).forEach((e=>{t[e]=this.tabElements[e].getData()}))}return t}getMainGrist(){if(this.tabElements){let t=Object.keys(this.tabElements);return this.tabElements[t[0]].grist}}};
|