You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1 lines
10 KiB

var _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}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}var componentDefaultModelProp="value";function getOldComponentName(e){return"vxe-".concat(e.replace("$",""))}function getOldComponent(e){return getOldComponentName(e.name)}function getDefaultComponent(e){e=e.name;return(0,_ui.getComponent)(e)||e}function getNativeAttrs(e){var t=e.name,e=e.attrs;return e="input"===t?Object.assign({type:"text"},e):e}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,_defineProperty({},componentDefaultModelProp,n))}function getElementOns(e,r,t,o){var u=e.events,n=(0,_vn.getModelEvent)(e.name),m=(0,_vn.getChangeEvent)(e.name),a=m===n,i={};return u&&_xeUtils.default.objectEach(u,function(o,e){i[(0,_vn.getOnName)(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];o.apply(void 0,[r].concat(t))}}),t&&(i[(0,_vn.getOnName)(n)]=function(e){t(e),a&&o&&o(e),u&&u[n]&&u[n](r,e)}),!a&&o&&(i[(0,_vn.getOnName)(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];o.apply(void 0,t),u&&u[m]&&u[m].apply(u,[r].concat(t))}),i}function getComponentOns(e,r,t,n){var o=e.events,t=t||{},u=t.model,m=t.change,a=(0,_vn.getModelEvent)(e.name),i=(0,_vn.getChangeEvent)(e.name),p={};return _xeUtils.default.objectEach(o,function(o,e){p[(0,_vn.getOnName)(e)]=function(){_xeUtils.default.isFunction(o)||(0,_log.errLog)("vxe.error.errFunc",[o]);for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];o.apply(void 0,[r].concat(t))}}),u&&(p[(0,_vn.getOnName)(a)]=function(e){u(e),o&&o[a]&&o[a](r,e)}),m&&(p[(0,_vn.getOnName)(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];m.apply(void 0,t),o&&o[i]&&o[i].apply(o,[r].concat(t))}),n?Object.assign(p,n):p}function getItemOns(e,t){var n=t.$form,o=t.data,r=t.field;return getComponentOns(e,t,{model:function(e){_xeUtils.default.set(o,r,e)},change:function(){n.updateStatus(t)}})}function getNativeItemOns(e,t){var n=t.$form,o=t.data,r=t.field;return getElementOns(e,t,function(e){e=e.target.value;_xeUtils.default.set(o,r,e)},function(){n.updateStatus(t)})}function renderNativeOptgroup(n,o,r,u){var e=o.optionGroups,t=o.optionGroupProps,t=void 0===t?{}:t,m=t.options||"options",a=t.label||"label";return e?e.map(function(e,t){return n("optgroup",{key:t,attrs:{label:e[a]}},u(e[m],o,r))}):[]}function nativeItemRender(e,t,n){var o=n.data,r=n.field,u=t.name,m=getNativeAttrs(t),o=_xeUtils.default.get(o,r);return[e(u,{class:"vxe-default-".concat(u),attrs:m,domProps:{value:!m||"input"!==u||"submit"!==m.type&&"reset"!==m.type?o:null},on:getNativeItemOns(t,n)})]}function defaultItemRender(e,t,n){var o=n.data,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o),on:getItemOns(t,n)})]}function oldItemRender(e,t,n){var o=n.data,o=_xeUtils.default.get(o,n.field);return[e(getOldComponent(t),{props:getComponentFormItemProps(t,n,o),on:getItemOns(t,n)})]}function oldButtonItemRender(e,t,n){return[e("vxe-button",{props:getComponentFormItemProps(t,n,null),on:getComponentOns(t,n)})]}function oldButtonsItemRender(t,e,n){return e.children.map(function(e){return oldButtonItemRender(t,e,n)[0]})}function renderNativeFormOptions(n,e,t,o){var r=o.data,t=t.optionProps,t=void 0===t?{}:t,u=t.label||"label",m=t.value||"value",a=t.disabled||"disabled",i=_xeUtils.default.get(r,o.field);return e?e.map(function(e,t){return n("option",{key:t,props:{value:e[m],disabled:e[a],selected:e[m]==i}},e[u])}):[]}function defaultFormItemRender(e,t,n){var o=n.data,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o),on:getItemOns(t,n)})]}function formItemRadioAndCheckboxRender(e,t,n){var o=t.options,r=t.optionProps,u=n.data,u=_xeUtils.default.get(u,n.field);return[e(getDefaultComponent(t),{props:Object.assign({options:o,optionProps:r},getComponentFormItemProps(t,n,u)),on:getItemOns(t,n)})]}function oldFormItemRadioAndCheckboxRender(n,e,t){var o=e.name,r=e.options,u=e.optionProps,u=void 0===u?{}:u,m=t.data,a=u.label||"label",i=u.value||"value",p=u.disabled||"disabled",u=_xeUtils.default.get(m,t.field),d=getOldComponentName(o);return r?[n("".concat(d,"-group"),{props:getComponentFormItemProps(e,t,u),on:getItemOns(e,t),scopedSlots:{default:function(){return r.map(function(e,t){return n(d,{key:t,props:{label:e[i],content:e[a],disabled:e[p]}})})}}})]:[n(d,{props:getComponentFormItemProps(e,t,u),on:getItemOns(e,t)})]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){return[e("select",{class:"vxe-default-select",attrs:Object.assign({},getNativeAttrs(t)),on:getNativeItemOns(t,n)},t.optionGroups?renderNativeOptgroup(e,t,n,renderNativeFormOptions):renderNativeFormOptions(e,t.options,t,n))]}},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:function(e,t,n){var o=t.startField,r=t.endField,u=n.$form,m=n.data,a=n.field,i=_xeUtils.default.get(m,a),p={},d={};return o&&r&&(p.startValue=_xeUtils.default.get(m,o),p.endValue=_xeUtils.default.get(m,r),d["update:startValue"]=function(e){o&&_xeUtils.default.set(m,o,e)},d["update:endValue"]=function(e){r&&_xeUtils.default.set(m,r,e)}),[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,i,p),on:getComponentOns(t,n,{model:function(e){_xeUtils.default.set(m,a,e)},change:function(){u.updateStatus(n)}},d)})]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent:function(e,t,n){var o=t.options,r=n.data,r=_xeUtils.default.get(r,n.field);return[e(getDefaultComponent(t),{props:Object.assign({options:o},getComponentFormItemProps(t,n,r)),on:getItemOns(t,n)})]}},VxeSelect:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,u=t.optionProps,m=t.optionGroups,a=t.optionGroupProps,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o,{options:r,optionProps:u,optionGroups:m,optionGroupProps:a}),on:getItemOns(t,n)})]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,u=t.optionProps,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o,{options:r,optionProps:u}),on:getItemOns(t,n)})]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,u=t.optionProps,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o,{options:r,optionProps:u}),on:getItemOns(t,n)})]}},VxeColorPicker:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o,{colors:r}),on:getItemOns(t,n)})]}},VxeIconPicker:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:getComponentFormItemProps(t,n,o,{icons:r}),on:getItemOns(t,n)})]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent:function(e,t,n){var o=n.data,r=t.props,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},r),{src:o}),on:getItemOns(t,n)})]}},VxeImageGroup:{renderFormItemContent:function(e,t,n){var o=n.data,r=t.props,o=_xeUtils.default.get(o,n.field);return[e(getDefaultComponent(t),{props:Object.assign(Object.assign({},r),{urlList:o}),on:getItemOns(t,n)})]}},VxeUpload:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent:function(e,t,n){var o=n.data,r=t.options,u=t.optionProps,m=t.optionGroups,a=t.optionGroupProps,o=_xeUtils.default.get(o,n.field);return[e(getOldComponent(t),{props:getComponentFormItemProps(t,n,o,{options:r,optionProps:u,optionGroups:m,optionGroupProps:a}),on:getItemOns(t,n)})]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});