UNPKG

@jdlinker/ui

Version:

jdLinker UI库,基于ant-design-vue封装

210 lines 6.47 kB
import { isVNode as _isVNode, createVNode as _createVNode, resolveComponent as _resolveComponent } from "vue"; import { translate } from '@jdlinker/utils'; function _isSlot(s) { return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s); } export const createInputTextEditor = function (propName, propLabelKey) { return { props: { optionModel: Object }, render() { return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-input"), { "type": "text", "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, null)] }); } }; }; export const createInputNumberEditor = function (propName, propLabelKey) { return { props: { optionModel: Object }, methods: { updateValue(newValue) { if (newValue === undefined || newValue === null || isNaN(newValue)) { this.optionModel[propName] = null; } else { this.optionModel[propName] = Number(newValue); } } }, render() { return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-input-number"), { "type": "text", "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event, "onChange": this.updateValue, "style": "width: 100%" }, null)] }); } }; }; export const createBooleanEditor = function (propName, propLabelKey) { return { props: { optionModel: Object }, render() { return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-switch"), { "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, null)] }); } }; }; export const createCheckboxGroupEditor = function (propName, propLabelKey, configs) { return { props: { optionModel: Object }, render() { let _slot; return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-checkbox-group"), { "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, _isSlot(_slot = configs.optionItems.map(item => { return _createVNode(_resolveComponent("el-checkbox"), { "label": item.value }, { default: () => [item.label] }); })) ? _slot : { default: () => [_slot] })] }); } }; }; export const createRadioGroupEditor = function (propName, propLabelKey, configs) { return { props: { optionModel: Object }, render() { let _slot2; return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-radio-group"), { "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, _isSlot(_slot2 = configs.optionItems.map(item => { return _createVNode(_resolveComponent("el-radio"), { "label": item.value }, { default: () => [item.label] }); })) ? _slot2 : { default: () => [_slot2] })] }); } }; }; export const createRadioButtonGroupEditor = function (propName, propLabelKey, configs) { return { props: { optionModel: Object }, render() { let _slot3; return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-radio-group"), { "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, _isSlot(_slot3 = configs.optionItems.map(item => { return _createVNode(_resolveComponent("el-radio-button"), { "label": item.value }, { default: () => [item.label] }); })) ? _slot3 : { default: () => [_slot3] })] }); } }; }; export const createSelectEditor = function (propName, propLabelKey, configs) { return { props: { optionModel: Object }, render() { let _slot4; return _createVNode(_resolveComponent("el-form-item"), { "label": translate(propLabelKey) }, { default: () => [_createVNode(_resolveComponent("el-select"), { "modelValue": this.optionModel[propName], "onUpdate:modelValue": $event => this.optionModel[propName] = $event }, _isSlot(_slot4 = configs.optionItems.map(item => { return _createVNode(_resolveComponent("el-option"), { "label": item.label, "value": item.value }, null); })) ? _slot4 : { default: () => [_slot4] })] }); } }; }; export const createEventHandlerEditor = function (eventPropName, eventParams) { return { props: { optionModel: Object }, methods: { editEventHandler() { this.dispatch('SettingPanel', 'editEventHandler', [eventPropName, [...eventParams]]); } }, render() { let _slot5; return _createVNode(_resolveComponent("el-form-item"), { "label": eventPropName, "label-width": "150px" }, { default: () => [_createVNode(_resolveComponent("el-button"), { "type": "info", "icon": "el-icon-edit", "plain": true, "round": true, "onClick": this.editEventHandler }, _isSlot(_slot5 = translate('designer.setting.addEventHandler')) ? _slot5 : { default: () => [_slot5] })] }); } }; }; export const createEmptyEditor = function () { return { render() { return _createVNode("div", { "style": "display: none" }, null); } }; };