UNPKG

@jecloud/func

Version:

JECloud 功能库

1 lines 5.5 kB
var e=this&&this.__assign||function(){return e=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},e.apply(this,arguments)},n=this&&this.__spreadArrays||function(){for(var e=0,n=0,t=arguments.length;n<t;n++)e+=arguments[n].length;var r=Array(e),o=0;for(n=0;n<t;n++)for(var a=arguments[n],c=0,i=a.length;c<i;c++,o++)r[o]=a[c];return r};import{pick as t,isNotEmpty as r,isPlainObject as o,decode as a,camelCase as c,kebabCase as i,isFunction as u,clone as f}from"@jecloud/utils";import{FuncFieldTypeEnum as s}from"../../enum";import d from"./func-column";import l from"./func-field";import p from"./func-button";import m from"./func-strategy";import h from"./func-children";import v from"./func-group-query";import{FuncButtonTypeEnum as y}from"../../enum/func-enum";export function parseFunc(e){var n=e.func,t=e.options,r=t.columns,o=t.fields,a=t.buttons,c=t.children,i=t.strategys,u=t.groupQuerys;b({func:n,data:o}),g({func:n,data:r}),_({func:n}),D({func:n,data:a}),O({func:n,data:c}),E({func:n,data:i}),T({func:n,data:u})}function b(n){var r=n.func,o=n.data.map((function(n){var o,a,c=new l(n);if(c.metaData=x(c),c.metaData.readOnly=c.metaData.disabled,r.basic.fields.set(c.name,c),r.basic.ids.set(c.id,c.name),c.xtype===s.INPUT_CODE.type)r.fields.codeGenFieldInfo.push(e({code:c.name,configInfo:c.configInfo},t(r.info,["funcId","funcCode","funcName","tableCode"])));else if([s.CHECKBOX_GROUP.type,s.RADIO_GROUP.type,s.SELECT.type].includes(c.xtype)){var i=null===(o=c.configInfo)||void 0===o?void 0:o.split(",")[0];r.basic.dictionarys.set(c.code,i)}else if(c.xtype===s.FUNC_CHILD_FIELD.type){var u=null===(a=c.configInfo)||void 0===a?void 0:a.split(",")[0];r.fields.childFunc.push({code:c.name,configInfo:c.configInfo,funcCode:u})}return c.isBeanField()&&(r.defaults.values[c.name]=c.getDefaultValue()),c.expsEnable&&r.fields.exps.push(c.name),c.xtype===s.FUNC_CHILD.type?r.fields.anchor.push("__child__"):c.xtype===s.FIELDSET.type&&!c.hidden&&c.anchor&&r.fields.anchor.push({key:c.name,text:c.label}),c}));r.fields.form=I(o)}function g(e){var n=e.func,t=e.data.map((function(e){var t=new d(e);return t.metaData=x(t),n.basic.columns.set(t.field,t),n.basic.ids.set(t.id,t.field),n.basic.dictionarys.has(t.field)&&(t.dictionary=n.basic.dictionarys.get(t.field)),t})),r=t.filter((function(e){return e.quickColumn}));n.columns.data=t.map((function(e){return e.code})),n.columns.func=I(t),n.columns.select=I(r)}function _(e){var n=e.func,t=n.basic.fields;["func","select"].forEach((function(e){var r=keyToData({keys:n.columns[e],sourceMap:n.basic.columns,tiled:!0});n.querys[e].keyword=r.filter((function(e){return"no"!==e.columnQueryType&&t.has(e.code)})).map((function(e){return e.code})),n.querys[e].tree=r.filter((function(n){return("func"===e?n.treeQuery:n.quickTreeQuery)&&t.has(n.code)})).map((function(e){return e.code})),n.querys[e].groupAll=r.filter((function(e){return t.has(e.code)})).map((function(e){return e.code}))}))}function E(e){var n,t=e.func,r=e.data,o=void 0===r?[]:r;t.strategys=null!==(n=o.map((function(e){return new m(e)})))&&void 0!==n?n:[],t.defaultStrategy=t.strategys.find((function(e){return e.default}))}function T(e){var n=e.func,t=e.data;(void 0===t?[]:t).forEach((function(e){var t=new v(e);t.field=n.basic.fields.get(t.name),n.groupQuerys.push(t)}))}function D(e){var n=e.func;e.data.map((function(e){var t=new p(e);return t.metaData=x(t),n.basic.buttons.set(t.code,t),n.basic.ids.set(t.id,t.code),t})).filter((function(e){return n.getPerm({type:"button",code:e.code})})).filter((function(e){return!n.info.enableWorkflow||-1==[y.FORM_SUBMIT_BUTTON,y.FORM_CANCEL_BUTTON].indexOf(e.code)})).forEach((function(e){if(!e.disabled)switch(e.postion){case"FORM":n.buttons.form.push(e.code);break;case"GRID":n.buttons.grid.push(e.code);break;case"ACTION":n.buttons.action.push(e.code)}})),["form","grid"].forEach((function(e){var t=n.buttons[e].map((function(e){return n.basic.buttons.get(e)}));n.buttons[e]=I(t,"",!0)}))}function O(e){var t,r=e.func,o=e.data,a=[],c=o.map((function(e){var n=new h(e);return n.metaData=x(n),r.basic.children.set(n.code,n),r.basic.ids.set(n.id,n.code),n.anchor&&n.enable&&a.push({key:n.code,text:n.title,child:!0}),n}));(t=r.fields.anchor).splice.apply(t,n([r.fields.anchor.indexOf("__child__"),1],a)),r.children=c.filter((function(e){return e.enable})).map((function(e){return e.code}))}function I(e,n,t){void 0===n&&(n=""),void 0===t&&(t=!1);var r=[];return e.forEach((function(o){var a=o.code;if((t||!o.hidden)&&o.groupName===n){var c=I(e,a,t);c.length?r.push({code:a,children:c}):r.push(a)}})),r}export function keyToData(e){var t=e.keys,r=e.sourceMap,o=e.tiled,a=void 0!==o&&o,c=[];return t.forEach((function(e){if(e.code){var t=r.get(e.code),o=keyToData({keys:e.children,sourceMap:r,tiled:a});a?c.push.apply(c,n([t],o)):(t.children=o,c.push(t))}else c.push(r.get(e))})),c}export function parseEvents(e){var n,t,c=null!==(n=a(e))&&void 0!==n?n:[];o(c)&&(c=[c]);var i={};return null===(t=c.forEach)||void 0===t||t.call(c,(function(e){"1"==e.fire&&r(e.func)&&(i[formatEventName(e.code)]=e.func)})),i}export function parseFuncTreeConfig(e){var n={parent:"SY_PARENT",nodePath:"SY_PATH",nodeType:"SY_NODETYPE",layer:"SY_LAYER"};return a(e||"[]").forEach((function(e){n[e.code]=e.value})),n}export function formatEventName(e,n){return n?c("on-"+e):i(e)}function x(e){var n={};for(var t in e){var r=e[t];u(r)||(n[t]=o(r)?f(r):r)}return n}