django-vue3-admin-web/node_modules/vxe-pc-ui/lib/form/render/index.min.js
2025-10-20 21:21:14 +08:00

1 line
9.3 KiB
JavaScript

"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+(""+(e||"")).replace("$","")}function getDefaultComponent(e){e=e.name;return(0,_ui.getComponent)(e)||(0,_vue.resolveComponent)(""+e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,{[componentDefaultModelProp]:n})}function getNativeElementOns(e,n,t,o){const r=e["events"],s=(0,_vn.getModelEvent)(e),m=(0,_vn.getChangeEvent)(e),a=m===s,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),a&&o&&o(e),r&&r[s]&&r[s](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(m)]=function(...e){o(...e),r&&r[m]&&r[m](n,...e)}),u}function getComponentOns(e,n,t,o){const r=e["events"],{model:s,change:m}=t||{},a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",["[form] "+t]),t(n,...e)}}),s&&(i[(0,_vn.getOnName)(a)]=function(e){s(e),r&&r[a]&&r[a](n,e)}),m&&(i[(0,_vn.getOnName)(u)]=function(...e){m(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(e){n.updateStatus(e)}})}function getNativeItemOns(e,t){const{$form:n,data:o,field:r}=t;return getNativeElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;const s=t.options||"options",m=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[m]},r(e[s],n,o))):[]}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){e=e.children;return e?e.map(e=>oldButtonItemRender(e,t)[0]):[]}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",m=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[m],selected:e[s]==a},e[r])):[]}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:s}=t,r=_xeUtils.default.get(r,s);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:m}=t;const a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";s=_xeUtils.default.get(s,m);const d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[u],content:e[a],disabled:e[i]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",renderFormItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){const{startField:n,endField:o}=e,{$form:r,data:s,field:m}=t;var a=_xeUtils.default.get(s,m),u={},i={};return n&&o&&(u.startValue=_xeUtils.default.get(s,n),u.endValue=_xeUtils.default.get(s,o),i["onUpdate:startValue"]=e=>{n&&_xeUtils.default.set(s,n,e)},i["onUpdate:endValue"]=e=>{o&&_xeUtils.default.set(s,o,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,a,u)),getComponentOns(e,t,{model(e){_xeUtils.default.set(s,m,e)},change(){r.updateStatus(t)}},i)))]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(e,t){var n=e["options"],{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeColorPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{colors:r})),getItemOns(e,t)))]}},VxeIconPicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["options"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{icons:r})),getItemOns(e,t)))]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e["props"],n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});