vxe-design
Version:
A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms
1 lines • 3.01 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.FormDesignWidgetInfo=void 0,exports.configToWidget=configToWidget,exports.getWidgetConfig=void 0,exports.getWidgetConfigCustomGroup=getWidgetConfigCustomGroup,exports.getWidgetConfigTitle=getWidgetConfigTitle;var _vue=require("vue"),_core=require("@vxe-ui/core"),_util=require("./util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("form-design").errLog,refWidgetReactConfigMaps=(0,_vue.ref)({}),getWidgetConfig=e=>refWidgetReactConfigMaps.value[e]||{};function getWidgetConfigTitle(e,i){var t=getWidgetConfig(e);return t?(t=t.title,i={name:e,$formDesign:i},_xeUtils.default.toValueString(_xeUtils.default.isFunction(t)?t(i):t)):e}function getWidgetConfigCustomGroup(e,i){var t=getWidgetConfig(e);return t?(t=t.customGroup,i={name:e,$formDesign:i},_xeUtils.default.toValueString(_xeUtils.default.isFunction(t)?t(i):t)):e}exports.getWidgetConfig=getWidgetConfig;let validWidgetUniqueField=(i,e)=>!_xeUtils.default.findTree(e,e=>e.field===i,{children:"children"});class FormDesignWidgetInfo{constructor(e,i,t){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"field",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"required",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"children",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"model",{enumerable:!0,configurable:!0,writable:!0,value:{update:!1,value:""}});let r="";i&&(u=_core.renderer.get(i)||{})&&(n=refWidgetReactConfigMaps.value,u=u.createFormDesignWidgetConfig)&&(l=(o=u(u={name:i,$formDesign:e})||{}).title,g=o.field,this.title=_xeUtils.default.toValueString(_xeUtils.default.isFunction(l)?l(u):l),this.options=o.options||{},this.children=o.children||[],g&&(r=_xeUtils.default.isFunction(g)?g({name:i,$formDesign:e}):g),n[i]||(n[i]=Object.assign({},o),refWidgetReactConfigMaps.value=Object.assign({},n)));var n,o,l,g,u=(0,_util.getNewWidgetId)(t);r&&!validWidgetUniqueField(r,t)&&errLog("vxe.error.uniField",[r]),this.id=u,this.field=r||(""+i+u).toLowerCase(),this.name=i}}function configToWidget(e){var i=new FormDesignWidgetInfo(null,e.name,[]);return i.id=e.id,i.title=e.title||"",i.field=e.field||"",i.required=e.required||!1,i.hidden=e.hidden||!1,i.options=Object.assign({},i.options,e.options),i.children=e.children?e.children.map(e=>configToWidget(e)):[],i}exports.FormDesignWidgetInfo=FormDesignWidgetInfo;