🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@vxe-ui/plugin-render-element

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vxe-ui/plugin-render-element - npm Package Compare versions

Comparing version
4.2.4
to
4.3.0
+151
es/form-design/checkbox-widget.js
import { defineComponent, h } from 'vue';
import { useWidgetPropDataSource } from './use';
import { getCurrComponent } from '../util/comp';
import XEUtils from 'xe-utils';
export function createWidgetElCheckbox(VxeUI) {
const getWidgetElCheckboxConfig = (params) => {
return {
title: '复选框',
icon: 'vxe-icon-checkbox-checked',
options: {
options: XEUtils.range(0, 3).map((v, i) => {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
const WidgetElCheckboxFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
}),
renderDataSourceFormItem()
];
}
});
};
}
});
const WidgetElCheckboxViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-checkbox-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
default: () => {
return options.options
? options.options.map((item, index) => {
return h(getCurrComponent('el-checkbox'), {
key: index,
value: item.value
}, {
default() {
return `${item.value}`;
}
});
})
: [];
}
});
}
});
};
}
});
return {
getWidgetElCheckboxConfig,
WidgetElCheckboxFormComponent,
WidgetElCheckboxViewComponent
};
}
import { defineComponent, h } from 'vue';
import { getCurrComponent } from '../util/comp';
export function createWidgetElDatePicker(VxeUI) {
const getWidgetElDatePickerConfig = (params) => {
return {
title: '日期',
icon: 'vxe-icon-input',
options: {
placeholder: '请选择'
}
};
};
const WidgetElDatePickerFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElDatePicker' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
})
];
}
});
};
}
});
const WidgetElDatePickerViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-date-picker'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElDatePickerConfig,
WidgetElDatePickerFormComponent,
WidgetElDatePickerViewComponent
};
}
import { h } from 'vue';
import { createWidgetElInput } from './input-widget';
import { createWidgetElTextarea } from './textarea-widget';
import { createWidgetElInputNumber } from './number-input-widget';
import { createWidgetElDatePicker } from './date-picker-widget';
import { createWidgetElSelect } from './select-widget';
import { createWidgetElRadio } from './radio-widget';
import { createWidgetElCheckbox } from './checkbox-widget';
import { createWidgetElSwitch } from './switch-widget';
/**
* 表单设计器 - 渲染器
*/
export function defineFormDesignRender(VxeUI) {
const { getWidgetElInputConfig, WidgetElInputViewComponent, WidgetElInputFormComponent } = createWidgetElInput(VxeUI);
const { getWidgetElTextareaConfig, WidgetElTextareaViewComponent, WidgetElTextareaFormComponent } = createWidgetElTextarea(VxeUI);
const { getWidgetElInputNumberConfig, WidgetElInputNumberViewComponent, WidgetElInputNumberFormComponent } = createWidgetElInputNumber(VxeUI);
const { getWidgetElDatePickerConfig, WidgetElDatePickerViewComponent, WidgetElDatePickerFormComponent } = createWidgetElDatePicker(VxeUI);
const { getWidgetElSelectConfig, WidgetElSelectViewComponent, WidgetElSelectFormComponent } = createWidgetElSelect(VxeUI);
const { getWidgetElRadioConfig, WidgetElRadioViewComponent, WidgetElRadioFormComponent } = createWidgetElRadio(VxeUI);
const { getWidgetElCheckboxConfig, WidgetElCheckboxViewComponent, WidgetElCheckboxFormComponent } = createWidgetElCheckbox(VxeUI);
const { getWidgetElSwitchConfig, WidgetElSwitchViewComponent, WidgetElSwitchFormComponent } = createWidgetElSwitch(VxeUI);
VxeUI.renderer.mixin({
ElInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElInputViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElInputFormComponent, { renderOpts, renderParams });
}
},
ElTextareaWidget: {
createFormDesignWidgetConfig: getWidgetElTextareaConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElTextareaViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElTextareaFormComponent, { renderOpts, renderParams });
}
},
ElNumberInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElInputNumberViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElInputNumberFormComponent, { renderOpts, renderParams });
}
},
ElDatePickerWidget: {
createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElDatePickerViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElDatePickerFormComponent, { renderOpts, renderParams });
}
},
ElSelectWidget: {
createFormDesignWidgetConfig: getWidgetElSelectConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElSelectViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElSelectFormComponent, { renderOpts, renderParams });
}
},
ElRadioWidget: {
createFormDesignWidgetConfig: getWidgetElRadioConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElRadioViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElRadioFormComponent, { renderOpts, renderParams });
}
},
ElCheckboxWidget: {
createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
createFormDesignWidgetFieldValue: () => [],
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElCheckboxViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElCheckboxFormComponent, { renderOpts, renderParams });
}
},
ElSwitchWidget: {
createFormDesignWidgetConfig: getWidgetElSwitchConfig,
renderFormDesignWidgetView(renderOpts, renderParams) {
return h(WidgetElSwitchViewComponent, { renderOpts, renderParams });
},
renderFormDesignWidgetFormView(renderOpts, renderParams) {
return h(WidgetElSwitchFormComponent, { renderOpts, renderParams });
}
}
});
}
import { defineComponent, h } from 'vue';
import { getCurrComponent } from '../util/comp';
export function createWidgetElInput(VxeUI) {
const getWidgetElInputConfig = (params) => {
return {
title: '输入框',
icon: 'vxe-icon-input',
options: {
placeholder: '请输入'
}
};
};
const WidgetElInputFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return () => {
const { renderParams } = props;
const { widget } = renderParams;
const { options } = widget;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
})
];
}
});
};
}
});
const WidgetElInputViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputConfig,
WidgetElInputFormComponent,
WidgetElInputViewComponent
};
}
import { defineComponent, h } from 'vue';
import { getCurrComponent } from '../util/comp';
export function createWidgetElInputNumber(VxeUI) {
const getWidgetElInputNumberConfig = (params) => {
return {
title: '数字',
icon: 'vxe-icon-number',
options: {
placeholder: '请输入'
}
};
};
const WidgetElInputNumberFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
})
];
}
});
};
}
});
const WidgetElInputNumberViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-input-number'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputNumberConfig,
WidgetElInputNumberFormComponent,
WidgetElInputNumberViewComponent
};
}
import { defineComponent, h } from 'vue';
import { useWidgetPropDataSource } from './use';
import { getCurrComponent } from '../util/comp';
import XEUtils from 'xe-utils';
export function createWidgetElRadio(VxeUI) {
const getWidgetElRadioConfig = (params) => {
return {
title: '单选框',
icon: 'vxe-icon-radio-checked',
options: {
options: XEUtils.range(0, 3).map((v, i) => {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
const WidgetElRadioFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
}),
renderDataSourceFormItem()
];
}
});
};
}
});
const WidgetElRadioViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-radio-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
default: () => {
return options.options
? options.options.map((item, index) => {
return h(getCurrComponent('el-radio'), {
key: index,
value: item.value
}, {
default() {
return `${item.value || ''}`;
}
});
})
: [];
}
});
}
});
};
}
});
return {
getWidgetElRadioConfig,
WidgetElRadioFormComponent,
WidgetElRadioViewComponent
};
}
import { defineComponent, h } from 'vue';
import { useWidgetPropDataSource } from './use';
import { getCurrComponent } from '../util/comp';
import XEUtils from 'xe-utils';
export function createWidgetElSelect(VxeUI) {
const getWidgetElSelectConfig = (params) => {
return {
title: '下拉框',
icon: 'vxe-icon-select',
options: {
placeholder: '请选择',
options: XEUtils.range(0, 3).map((v, i) => {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
const WidgetElSelectFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
const { renderDataSourceFormItem } = useWidgetPropDataSource(VxeUI, props, false);
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
}),
renderDataSourceFormItem()
];
}
});
};
}
});
const WidgetElSelectViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-select'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
default: () => {
return options.options
? options.options.map(item => {
return h(getCurrComponent('el-option'), {
label: item.value,
value: item.value
});
})
: [];
}
});
}
});
};
}
});
return {
getWidgetElSelectConfig,
WidgetElSelectFormComponent,
WidgetElSelectViewComponent
};
}
import { defineComponent, h } from 'vue';
import { getCurrComponent } from '../util/comp';
export function createWidgetElSwitch(VxeUI) {
const getWidgetElSwitchConfig = (params) => {
return {
title: '是/否',
icon: 'vxe-icon-switch',
options: {}
};
};
const WidgetElSwitchFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
})
];
}
});
};
}
});
const WidgetElSwitchViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-switch'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElSwitchConfig,
WidgetElSwitchFormComponent,
WidgetElSwitchViewComponent
};
}
import { defineComponent, h } from 'vue';
import { getCurrComponent } from '../util/comp';
export function createWidgetElTextarea(VxeUI) {
const getWidgetElTextareaConfig = (params) => {
return {
title: '文本域',
icon: 'vxe-icon-textarea',
options: {
placeholder: '请输入'
}
};
};
const WidgetElTextareaFormComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormComponent = VxeUI.getComponent('VxeForm');
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return () => {
const { renderParams } = props;
const { widget } = renderParams;
return h(VxeUIFormComponent, {
class: 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
default() {
return [
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue'(val) {
widget.title = val;
}
});
}
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: { name: 'ElInput' }
}),
h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
default() {
return h(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue'(val) {
widget.required = val;
}
});
}
})
];
}
});
};
}
});
const WidgetElTextareaViewComponent = defineComponent({
props: {
renderOpts: {
type: Object,
default: () => ({})
},
renderParams: {
type: Object,
default: () => ({})
}
},
emits: [],
setup(props) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const changeEvent = () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
if ($formView) {
const itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return () => {
const { renderParams } = props;
const { widget, $formView } = renderParams;
const { options } = widget;
return h(VxeUIFormItemComponent, {
class: ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
default() {
return h(getCurrComponent('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
type: 'textarea',
autosize: {
minRows: 2,
maxRows: 4
},
onChange: changeEvent,
'onUpdate:modelValue'(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElTextareaConfig,
WidgetElTextareaFormComponent,
WidgetElTextareaViewComponent
};
}
import { h, onMounted, ref, watch } from 'vue';
export function useWidgetPropDataSource(VxeUI, props, isSubOption) {
const VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
const VxeUIButtonComponent = VxeUI.getComponent('VxeButton');
const VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea');
const VxeUITipComponent = VxeUI.getComponent('VxeTip');
const optionsContent = ref('');
const expandIndexList = ref([]);
const addOptionEvent = () => {
const { renderParams } = props;
const { widget } = renderParams;
const options = widget.options.options || [];
options.push({
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1])
});
widget.options.options = [...options];
};
const subRE = /^(\s|\t)+/;
const hasSubOption = (str) => {
return subRE.test(str);
};
const expandAllOption = () => {
const { renderParams } = props;
const { widget } = renderParams;
const options = widget.options.options || [];
const indexList = [];
options.forEach((group, gIndex) => {
const { options } = group;
if (options && options.length) {
indexList.push(gIndex);
}
});
expandIndexList.value = indexList;
};
const toggleExpandOption = (item, gIndex) => {
if (expandIndexList.value.includes(gIndex)) {
expandIndexList.value = expandIndexList.value.filter(num => num !== gIndex);
}
else {
expandIndexList.value.push(gIndex);
}
};
const confirmBatchAddOptionEvent = () => {
const { renderParams } = props;
const { widget } = renderParams;
const optList = [];
const rowList = optionsContent.value.split('\n');
let prevGroup = null;
if (isSubOption) {
rowList.forEach((str, index) => {
const nextStr = rowList[index + 1];
const value = str.trim();
if (!value) {
return;
}
const item = {
value
};
if (prevGroup) {
if (hasSubOption(str)) {
prevGroup.options.push(item);
return;
}
prevGroup = null;
optList.push(item);
}
else {
optList.push(item);
}
if (nextStr) {
if (hasSubOption(nextStr)) {
prevGroup = Object.assign(item, { options: [] });
}
}
});
}
else {
rowList.forEach((str) => {
optList.push({
value: str.trim()
});
});
}
widget.options.options = optList;
expandAllOption();
};
const openPopupEditEvent = () => {
var _a;
const { renderParams } = props;
const { widget } = renderParams;
const contList = [];
(_a = widget.options.options) === null || _a === void 0 ? void 0 : _a.forEach(group => {
var _a;
contList.push(group.value);
(_a = group.options) === null || _a === void 0 ? void 0 : _a.forEach(item => {
contList.push(`\t${item.value}`);
});
});
optionsContent.value = contList.join('\n');
VxeUI.modal.open({
title: `${widget.title} - ${VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')}`,
width: 500,
height: '50vh ',
resize: true,
showFooter: true,
showCancelButton: true,
showConfirmButton: true,
confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'),
onConfirm: confirmBatchAddOptionEvent,
slots: {
default() {
return h('div', {
class: 'vxe-form-design--widget-form-item-data-source-popup'
}, [
h(VxeUITipComponent, {
status: 'primary',
title: '',
content: VxeUI.getI18n(`vxe.formDesign.widgetProp.dataSource.${isSubOption ? 'batchEditSubTip' : 'batchEditTip'}`)
}),
h(VxeUITextareaComponent, {
resize: 'none',
modelValue: optionsContent.value,
'onUpdate:modelValue'(val) {
optionsContent.value = val;
}
})
]);
}
}
});
};
const renderOption = (item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) => {
return h('div', {
class: ['vxe-form-design--widget-form-item-data-source-option', {
'is--first': isFirst,
'is--last': isLast
}]
}, [
h('div', {
class: 'vxe-form-design--widget-expand-btn'
}, hasFirstLevel && hasSub
? [
h('i', {
class: isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,
onClick() {
toggleExpandOption(item, gIndex);
}
})
]
: []),
h('input', {
class: 'vxe-default-input',
value: item.value,
onInput(evnt) {
item.value = evnt.currentTarget.value;
}
}),
h(VxeUIButtonComponent, {
status: 'danger',
mode: 'text',
icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE
})
]);
};
const renderOptions = () => {
const { renderParams } = props;
const { widget } = renderParams;
const { options } = widget;
const groups = options.options;
const optVNs = [];
if (groups) {
groups.forEach((group, gIndex) => {
const { options } = group;
const isExpand = expandIndexList.value.includes(gIndex);
if (options && options.length) {
optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1));
if (isExpand) {
optVNs.push(h('div', {
class: 'vxe-form-design--widget-form-item-data-source-sub-option'
}, options.map(item => renderOption(item, false, isExpand, 0, false, false, false))));
}
}
else {
optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1));
}
});
}
return optVNs;
};
watch(() => props.renderParams.widget, () => {
expandAllOption();
});
onMounted(() => {
expandAllOption();
});
return {
renderDataSourceFormItem() {
return h(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'),
field: 'options'
}, {
default() {
return [
h('div', {}, [
h(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'),
onClick: addOptionEvent
}),
h(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'),
onClick: openPopupEditEvent
})
]),
h('div', {
class: 'vxe-form-design--widget-form-item-data-source'
}, renderOptions())
];
}
});
}
};
}
import { h } from 'vue';
import { getCurrComponent } from '../util/comp';
import XEUtils from 'xe-utils';
/**
* 表单 - 渲染器
*/
export function defineFormRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
let type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function getItemProps(renderOpts, params, value, defaultProps) {
return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value });
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function getOns(renderOpts, params, inputFunc, changeFunc) {
const { events } = renderOpts;
const modelEvent = getModelEvent(renderOpts);
const changeEvent = getChangeEvent(renderOpts);
const isSameEvent = changeEvent === modelEvent;
const ons = {};
XEUtils.objectEach(events, (func, key) => {
ons[getOnName(key)] = function (...args) {
func(params, ...args);
};
});
if (inputFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
inputFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
if (isSameEvent && changeFunc) {
changeFunc(targetEvnt);
}
};
}
if (!isSameEvent && changeFunc) {
ons[getOnName(changeEvent)] = function (...args) {
changeFunc(...args);
if (events && events[changeEvent]) {
events[changeEvent](params, ...args);
}
};
}
return ons;
}
function getItemOns(renderOpts, params) {
const { $form, data, field } = params;
return getOns(renderOpts, params, (value) => {
// 处理 model 值双向绑定
XEUtils.set(data, field, value);
}, () => {
// 处理 change 事件相关逻辑
$form.updateStatus(params);
if (renderOpts.changeToSubmit) {
$form.handleSubmitEvent(new Event('change'));
}
});
}
function renderOptions(options, optionProps) {
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
return XEUtils.map(options, (item, oIndex) => {
return h(getCurrComponent('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createFormItemRender(defaultProps) {
return function (renderOpts, params) {
const { data, field } = params;
const { name } = renderOpts;
const { attrs } = renderOpts;
const itemValue = XEUtils.get(data, field);
return [
h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))
];
};
}
function defaultButtonItemRender(renderOpts, params) {
const { attrs } = renderOpts;
const props = getItemProps(renderOpts, params, null);
return [
h(getCurrComponent('el-button'), Object.assign(Object.assign(Object.assign({}, attrs), props), getOns(renderOpts, params)), {
default: () => cellText(renderOpts.content || props.content)
})
];
}
function defaultButtonsItemRender(renderOpts, params) {
const { children } = renderOpts;
if (children) {
return children.map((childRenderOpts) => defaultButtonItemRender(childRenderOpts, params)[0]);
}
return [];
}
/**
* 已废弃
* @deprecated
*/
function createOldFormItemRadioAndCheckboxRender() {
return function (renderOpts, params) {
const { name, options = [], optionProps = {}, attrs } = renderOpts;
const { data, field } = params;
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
const itemValue = XEUtils.get(data, field);
return [
h(getCurrComponent(`${name}Group`), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
default: () => {
return options.map((option, oIndex) => {
return h(getCurrComponent(name), {
key: oIndex,
label: option[valueProp],
disabled: option.disabled
}, {
default: () => cellText(option[labelProp])
});
});
}
})
];
};
}
VxeUI.renderer.mixin({
ElAutocomplete: {
renderFormItemContent: createFormItemRender()
},
ElInput: {
renderFormItemContent: createFormItemRender()
},
ElInputNumber: {
renderFormItemContent: createFormItemRender()
},
ElSelect: {
renderFormItemContent(renderOpts, params) {
const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts;
const { data, field } = params;
const { attrs } = renderOpts;
const itemValue = XEUtils.get(data, field);
const props = getItemProps(renderOpts, params, itemValue);
const ons = getItemOns(renderOpts, params);
if (optionGroups) {
const groupOptions = optionGroupProps.options || 'options';
const groupLabel = optionGroupProps.label || 'label';
return [
h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), {
default: () => {
return XEUtils.map(optionGroups, (group, gIndex) => {
return h(getCurrComponent('el-option-group'), {
label: group[groupLabel],
key: gIndex
}, {
default: () => renderOptions(group[groupOptions], optionProps)
});
});
}
})
];
}
return [
h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), {
default: () => renderOptions(options, optionProps)
})
];
}
},
ElCascader: {
renderFormItemContent: createFormItemRender()
},
ElDatePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimeSelect: {
renderFormItemContent: createFormItemRender()
},
ElRate: {
renderFormItemContent: createFormItemRender()
},
ElSwitch: {
renderFormItemContent: createFormItemRender()
},
ElSlider: {
renderFormItemContent: createFormItemRender()
},
ElRadioGroup: {
renderFormItemContent(renderOpts, params) {
const { options = [], optionProps = {}, attrs } = renderOpts;
const { data, field } = params;
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
const itemValue = XEUtils.get(data, field);
return [
h(getCurrComponent('el-radio-group'), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
default: () => {
return options.map((option, oIndex) => {
return h(getCurrComponent('el-radio'), {
key: oIndex,
value: option[valueProp],
disabled: option.disabled
}, {
default: () => cellText(option[labelProp])
});
});
}
})
];
}
},
ElCheckboxGroup: {
renderFormItemContent(renderOpts, params) {
const { options = [], optionProps = {}, attrs } = renderOpts;
const { data, field } = params;
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
const itemValue = XEUtils.get(data, field);
return [
h(getCurrComponent('el-checkbox-group'), Object.assign(Object.assign(Object.assign({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
default: () => {
return options.map((option, oIndex) => {
return h(getCurrComponent('el-checkbox'), {
key: oIndex,
value: option[valueProp],
label: option[labelProp],
disabled: option.disabled
});
});
}
})
];
}
},
ElButton: {
renderFormItemContent: defaultButtonItemRender
},
// 已废弃
ElRadio: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElCheckbox: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElButtons: {
renderFormItemContent: defaultButtonsItemRender
}
});
}
import { defineTableRender } from './table';
import { defineFormRender } from './form';
import { defineFormDesignRender } from './form-design';
import { globalConfig, componentMaps } from './store';
import XEUtils from 'xe-utils';
// eslint-disable-next-line no-unused-vars
let ElementPlus;
function getEventTarget(evnt) {
const target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
let targetElem;
let target = getEventTarget(evnt);
const rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
}
else if (target === container) {
return { flag: className ? !!targetElem : true, container, targetElem: targetElem };
}
target = target.parentElement;
}
return { flag: false };
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
export const VxeUIPluginRenderElement = {
component(comp) {
if (comp && comp.name) {
const kcName = XEUtils.kebabCase(comp.name);
const ccName = toComponentName(XEUtils.camelCase(comp.name));
componentMaps[kcName] = comp;
componentMaps[ccName] = comp;
}
else {
console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp);
}
},
install(VxeUI, options) {
const pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
const pVersion = 4;
const sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error(`[@vxe-ui/plugin-render-element 4.3.0] ${VxeUI.getI18n('vxe.error.errorVersion', [`vxe-table@${VxeUI.tableVersion || '?'}`, `vxe-table v${pVersion}.${sVersion}+`])} https://vxeui.com/other4/#/plugin-render-element/install`);
}
}
else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
const { $event } = params;
const bodyElem = document.body;
const prefixCls = `${pluginOpts.prefixCls || 'el'}`.replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, `${prefixCls}-autocomplete-suggestion`).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, `${prefixCls}-select-dropdown`).flag ||
// 级联
getEventTargetNode($event, bodyElem, `${prefixCls}-cascader__dropdown`).flag ||
getEventTargetNode($event, bodyElem, `${prefixCls}-cascader-menus`).flag ||
// 日期
getEventTargetNode($event, bodyElem, `${prefixCls}-time-panel`).flag ||
getEventTargetNode($event, bodyElem, `${prefixCls}-picker-panel`).flag ||
// 颜色
getEventTargetNode($event, bodyElem, `${prefixCls}-color-dropdown`).flag) {
return false;
}
}
defineTableRender(VxeUI);
defineFormRender(VxeUI);
defineFormDesignRender(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
globalConfig.ElementPlus = window.ElementPlus;
}
}
export default VxeUIPluginRenderElement;
import { defineTableRender } from './table';
import { defineFormRender } from './form';
import { defineFormDesignRender } from './form-design';
import { globalConfig, componentMaps } from './store';
import XEUtils from 'xe-utils';
// eslint-disable-next-line no-unused-vars
let ElementPlus;
function getEventTarget(evnt) {
const target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
let targetElem;
let target = getEventTarget(evnt);
const rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
}
else if (target === container) {
return { flag: className ? !!targetElem : true, container, targetElem: targetElem };
}
target = target.parentElement;
}
return { flag: false };
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
export const VxeUIPluginRenderElement = {
component(comp) {
if (comp && comp.name) {
const kcName = XEUtils.kebabCase(comp.name);
const ccName = toComponentName(XEUtils.camelCase(comp.name));
componentMaps[kcName] = comp;
componentMaps[ccName] = comp;
}
else {
console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp);
}
},
install(VxeUI, options) {
const pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
const pVersion = 4;
const sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error(`[@vxe-ui/plugin-render-element 4.3.0] ${VxeUI.getI18n('vxe.error.errorVersion', [`vxe-table@${VxeUI.tableVersion || '?'}`, `vxe-table v${pVersion}.${sVersion}+`])} https://vxeui.com/other4/#/plugin-render-element/install`);
}
}
else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
const { $event } = params;
const bodyElem = document.body;
const prefixCls = `${pluginOpts.prefixCls || 'el'}`.replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, `${prefixCls}-autocomplete-suggestion`).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, `${prefixCls}-select-dropdown`).flag ||
// 级联
getEventTargetNode($event, bodyElem, `${prefixCls}-cascader__dropdown`).flag ||
getEventTargetNode($event, bodyElem, `${prefixCls}-cascader-menus`).flag ||
// 日期
getEventTargetNode($event, bodyElem, `${prefixCls}-time-panel`).flag ||
getEventTargetNode($event, bodyElem, `${prefixCls}-picker-panel`).flag ||
// 颜色
getEventTargetNode($event, bodyElem, `${prefixCls}-color-dropdown`).flag) {
return false;
}
}
defineTableRender(VxeUI);
defineFormRender(VxeUI);
defineFormDesignRender(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
globalConfig.ElementPlus = window.ElementPlus;
}
}
export default VxeUIPluginRenderElement;
export const globalConfig = {};
export const componentMaps = {};
.vxe-table.cell--highlight > .vxe-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner {
border: 0;
}
.vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway {
margin: 8px 0;
}
.vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper {
z-index: auto;
}
.vxe-table .vxe-cell--wrapper > .el-input, .vxe-table > .vxe-cell > .el-input, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input, .vxe-form .vxe-form--item-inner > .el-input, .vxe-form .vxe-form--item-content > .el-input, .vxe-table .vxe-cell--wrapper > .el-autocomplete, .vxe-table > .vxe-cell > .el-autocomplete, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete, .vxe-form .vxe-form--item-inner > .el-autocomplete, .vxe-form .vxe-form--item-content > .el-autocomplete, .vxe-table .vxe-cell--wrapper > .el-input-number, .vxe-table > .vxe-cell > .el-input-number, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number, .vxe-form .vxe-form--item-inner > .el-input-number, .vxe-form .vxe-form--item-content > .el-input-number, .vxe-table .vxe-cell--wrapper > .el-select, .vxe-table > .vxe-cell > .el-select, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select, .vxe-form .vxe-form--item-inner > .el-select, .vxe-form .vxe-form--item-content > .el-select, .vxe-table .vxe-cell--wrapper > .el-cascader, .vxe-table > .vxe-cell > .el-cascader, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader, .vxe-form .vxe-form--item-inner > .el-cascader, .vxe-form .vxe-form--item-content > .el-cascader, .vxe-table .vxe-cell--wrapper > .el-date-editor, .vxe-table > .vxe-cell > .el-date-editor, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor, .vxe-form .vxe-form--item-inner > .el-date-editor, .vxe-form .vxe-form--item-content > .el-date-editor, .vxe-table .vxe-cell--wrapper > .el-slider, .vxe-table > .vxe-cell > .el-slider, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider, .vxe-form .vxe-form--item-inner > .el-slider, .vxe-form .vxe-form--item-content > .el-slider {
width: 100%;
}
.vxe-table .vxe-cell--wrapper > .el-color-picker, .vxe-table > .vxe-cell > .el-color-picker, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-color-picker, .vxe-form .vxe-form--item-inner > .el-color-picker, .vxe-form .vxe-form--item-content > .el-color-picker {
vertical-align: middle;
}
.vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-autocomplete .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input-number .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-select .el-select__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-cascader .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-date-picker .el-input__wrapper {
box-shadow: 0 0 0 1px var(--vxe-ui-form-validate-error-color, #f56c6c) inset;
}
.vxe-table--filter-element-wrapper {
padding: 0.8em 1em;
}
.vxe-table--filter-element-wrapper > .el-input, .vxe-table--filter-element-wrapper > .el-input-number, .vxe-table--filter-element-wrapper > .el-autocomplete, .vxe-table--filter-element-wrapper > .el-select, .vxe-table--filter-element-wrapper > .el-rate, .vxe-table--filter-element-wrapper > .el-slider {
width: 180px;
}
.col--valid-error > .vxe-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-picker .el-input__wrapper {
box-shadow: 0 0 0 1px var(--vxe-ui-table-validate-error-color, #f56c6c) inset;
}
.vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner {
padding: 0;
}
.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{border:0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway{margin:8px 0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway .el-slider__button-wrapper{z-index:auto}.vxe-form .vxe-form--item-content>.el-autocomplete,.vxe-form .vxe-form--item-content>.el-cascader,.vxe-form .vxe-form--item-content>.el-date-editor,.vxe-form .vxe-form--item-content>.el-input,.vxe-form .vxe-form--item-content>.el-input-number,.vxe-form .vxe-form--item-content>.el-select,.vxe-form .vxe-form--item-content>.el-slider,.vxe-form .vxe-form--item-inner>.el-autocomplete,.vxe-form .vxe-form--item-inner>.el-cascader,.vxe-form .vxe-form--item-inner>.el-date-editor,.vxe-form .vxe-form--item-inner>.el-input,.vxe-form .vxe-form--item-inner>.el-input-number,.vxe-form .vxe-form--item-inner>.el-select,.vxe-form .vxe-form--item-inner>.el-slider,.vxe-table .vxe-cell--wrapper>.el-autocomplete,.vxe-table .vxe-cell--wrapper>.el-cascader,.vxe-table .vxe-cell--wrapper>.el-date-editor,.vxe-table .vxe-cell--wrapper>.el-input,.vxe-table .vxe-cell--wrapper>.el-input-number,.vxe-table .vxe-cell--wrapper>.el-select,.vxe-table .vxe-cell--wrapper>.el-slider,.vxe-table>.vxe-cell>.el-autocomplete,.vxe-table>.vxe-cell>.el-cascader,.vxe-table>.vxe-cell>.el-date-editor,.vxe-table>.vxe-cell>.el-input,.vxe-table>.vxe-cell>.el-input-number,.vxe-table>.vxe-cell>.el-select,.vxe-table>.vxe-cell>.el-slider,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider{width:100%}.vxe-form .vxe-form--item-content>.el-color-picker,.vxe-form .vxe-form--item-inner>.el-color-picker,.vxe-table .vxe-cell--wrapper>.el-color-picker,.vxe-table>.vxe-cell>.el-color-picker,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-color-picker{vertical-align:middle}.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-autocomplete .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-cascader .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-date-picker .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input-number .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-form-validate-error-color,#f56c6c) inset}.vxe-table--filter-element-wrapper{padding:.8em 1em}.vxe-table--filter-element-wrapper>.el-autocomplete,.vxe-table--filter-element-wrapper>.el-input,.vxe-table--filter-element-wrapper>.el-input-number,.vxe-table--filter-element-wrapper>.el-rate,.vxe-table--filter-element-wrapper>.el-select,.vxe-table--filter-element-wrapper>.el-slider{width:180px}.col--valid-error>.vxe-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-table-validate-error-color,#f56c6c) inset}.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{padding:0}
import { h } from 'vue';
import { getCurrComponent, hasInputType } from '../util/comp';
import XEUtils from 'xe-utils';
import dayjs from 'dayjs';
/**
* 表格 - 渲染器
*/
export function defineTableRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
let type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function toDayStringDate(value, format) {
return dayjs(value, format).toDate();
}
function toDayDateString(date, format) {
return dayjs(date).format(format);
}
function parseDate(value, props) {
return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value;
}
function getFormatDate(value, props, defaultFormat) {
return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value;
}
function getFormatDates(values, props, separator, defaultFormat) {
return XEUtils.map(values, (date) => getFormatDate(date, props, defaultFormat)).join(separator);
}
function equalDateRange(cellValue, data, props, defaultFormat) {
cellValue = getFormatDate(cellValue, props, defaultFormat);
return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat);
}
function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
return XEUtils.assign({}, defaultProps, renderOpts.props, { [getModelProp(renderOpts)]: value });
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function updateFilterChangeOption(params, checked, option) {
const { $table } = params;
$table.updateFilterOptionStatus(option, checked);
}
function saveFilterEvent(params) {
const { $table, column } = params;
$table.saveFilterByEvent(new Event('change'), column);
}
function getCellLabelVNs(renderOpts, params, cellLabel) {
const { placeholder } = renderOpts;
return [
h('span', {
class: 'vxe-cell--label'
}, placeholder && isEmptyValue(cellLabel)
? [
h('span', {
class: 'vxe-cell--placeholder'
}, formatText(VxeUI.getI18n(placeholder)))
]
: formatText(cellLabel))
];
}
const blurEvent = 'blur';
const clearEvent = 'clear';
/**
* 组件事件处理
* @param renderOpts
* @param params
* @param modelFunc
* @param changeFunc
*/
function getComponentOns(renderOpts, params, eFns, eventOns) {
const { events } = renderOpts;
const modelEvent = getModelEvent(renderOpts);
const changeEvent = getChangeEvent(renderOpts);
const { model: modelFunc, change: changeFunc, blur: blurFunc, clear: clearFunc } = eFns || {};
const ons = {};
XEUtils.objectEach(events, (func, key) => {
ons[getOnName(key)] = function (...args) {
if (!XEUtils.isFunction(func)) {
console.error(`Parameter "${func}" is not a method`);
}
func(params, ...args);
};
});
if (modelFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
modelFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
};
}
if (changeFunc) {
ons[getOnName(changeEvent)] = function (...args) {
changeFunc(...args);
if (events && events[changeEvent]) {
events[changeEvent](params, ...args);
}
};
}
if (blurFunc) {
ons[getOnName(blurEvent)] = function (...args) {
blurFunc(...args);
if (events && events[blurEvent]) {
events[blurEvent](params, ...args);
}
};
}
if (clearFunc) {
ons[getOnName(clearEvent)] = function (...args) {
clearFunc(...args);
if (events && events[clearEvent]) {
events[clearEvent](params, ...args);
}
};
}
return eventOns ? Object.assign(ons, eventOns) : ons;
}
function getEditOns(renderOpts, params) {
const { $table, row, column } = params;
return getComponentOns(renderOpts, params, {
model(value) {
// 处理 model 值双向绑定
XEUtils.set(row, column.field, value);
},
change() {
// 处理 change 事件相关逻辑
$table.updateStatus(params);
}
});
}
function getFilterOns(renderOpts, params, option, changeFunc) {
return getComponentOns(renderOpts, params, {
model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change: changeFunc
});
}
function getFloatingFilterOns(renderOpts, params, option) {
const { $table, column } = params;
if (hasInputType(renderOpts)) {
return getComponentOns(renderOpts, params, {
model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
},
clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
saveFilterEvent(params);
},
blur() {
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
return getComponentOns(renderOpts, params, {
model(value) {
// 处理 model 值双向绑定
option.data = value;
},
clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
},
change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
function matchCascaderData(index, list, values, labels) {
const val = values[index];
if (list && values.length > index) {
XEUtils.each(list, (item) => {
if (item.value === val) {
labels.push(item.label);
matchCascaderData(++index, item.children, values, labels);
}
});
}
}
function getSelectCellValue(renderOpts, params) {
const { options = [], optionGroups, props = {}, optionProps = {}, optionGroupProps = {} } = renderOpts;
const { $table, rowid, row, column } = params;
const { filterable, multiple } = props;
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
const groupOptions = optionGroupProps.options || 'options';
const cellValue = XEUtils.get(row, column.field);
const colid = column.id;
let cellData;
if (filterable) {
const { internalData } = $table;
const { fullAllDataRowIdData } = internalData;
const rest = fullAllDataRowIdData[rowid];
if (rest) {
cellData = rest.cellData;
if (!cellData) {
cellData = rest.cellData = {};
}
}
if (rest && cellData[colid] && cellData[colid].value === cellValue) {
return cellData[colid].label;
}
}
if (!isEmptyValue(cellValue)) {
const selectlabel = XEUtils.map(multiple ? cellValue : [cellValue], optionGroups
? (value) => {
let selectItem;
for (let index = 0; index < optionGroups.length; index++) {
selectItem = XEUtils.find(optionGroups[index][groupOptions], (item) => item[valueProp] === value);
if (selectItem) {
break;
}
}
return selectItem ? selectItem[labelProp] : value;
}
: (value) => {
const selectItem = XEUtils.find(options, (item) => item[valueProp] === value);
return selectItem ? selectItem[labelProp] : value;
}).join(', ');
if (cellData && options && options.length) {
cellData[colid] = { value: cellValue, label: selectlabel };
}
return selectlabel;
}
return '';
}
function getCascaderCellValue(renderOpts, params) {
const { props = {} } = renderOpts;
const { row, column } = params;
const cellValue = XEUtils.get(row, column.field);
const values = cellValue || [];
const labels = [];
matchCascaderData(0, props.options, values, labels);
return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(` ${props.separator || '/'} `);
}
function getDatePickerCellValue(renderOpts, params) {
const { props = {} } = renderOpts;
const { row, column } = params;
const { rangeSeparator = '-' } = props;
let cellValue = XEUtils.get(row, column.field);
switch (props.type) {
case 'week':
cellValue = getFormatDate(cellValue, props, 'YYYYwWW');
break;
case 'month':
cellValue = getFormatDate(cellValue, props, 'YYYY-MM');
break;
case 'year':
cellValue = getFormatDate(cellValue, props, 'YYYY');
break;
case 'dates':
cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD');
break;
case 'daterange':
cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM-DD');
break;
case 'datetimerange':
cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM-DD HH:ss:mm');
break;
case 'monthrange':
cellValue = getFormatDates(cellValue, props, ` ${rangeSeparator} `, 'YYYY-MM');
break;
default:
cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD');
}
return cellValue;
}
function getTimePickerCellValue(renderOpts, params) {
const { props = {} } = renderOpts;
const { row, column } = params;
const { isRange, format = 'HH:mm:ss', rangeSeparator = '-' } = props;
let cellValue = XEUtils.get(row, column.field);
if (cellValue && isRange) {
cellValue = XEUtils.map(cellValue, (date) => toDayDateString(parseDate(date, props), format)).join(` ${rangeSeparator} `);
}
return toDayDateString(parseDate(cellValue, props), format);
}
function createEditRender(defaultProps) {
return function (renderOpts, params) {
const { row, column } = params;
const { name, attrs, props } = renderOpts;
const cellValue = XEUtils.get(row, column.field);
return [
h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))
];
};
}
function defaultButtonEditRender(renderOpts, params) {
const { attrs, props } = renderOpts;
return [
h(getCurrComponent('el-button'), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content))
];
}
function defaultButtonsEditRender(renderOpts, params) {
const { children } = renderOpts;
if (children) {
return children.map((childRenderOpts) => defaultButtonEditRender(childRenderOpts, params)[0]);
}
return [];
}
function createFilterRender(defaultProps) {
return function (renderOpts, params) {
const { column } = params;
const { name, attrs, props } = renderOpts;
return [
h('div', {
class: 'vxe-table--filter-element-wrapper'
}, column.filters.map((option, oIndex) => {
const optionValue = option.data;
return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, () => {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))
];
};
}
function createFloatingFilterRender(defaultProps) {
return function (renderOpts, params) {
const { option } = params;
const { name, attrs, props } = renderOpts;
const optionValue = option.data;
return [
h(getCurrComponent(name), Object.assign(Object.assign(Object.assign(Object.assign({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option)))
];
};
}
function handleConfirmFilter(params, checked, option) {
const { $panel } = params;
$panel.changeOption(null, checked, option);
}
/**
* 模糊匹配
* @param params
*/
function defaultFuzzyFilterMethod(params) {
const { option, row, column } = params;
const { data } = option;
const cellValue = XEUtils.get(row, column.field);
return XEUtils.toValueString(cellValue).indexOf(data) > -1;
}
/**
* 精确匹配
* @param params
*/
function defaultExactFilterMethod(params) {
const { option, row, column } = params;
const { data } = option;
const cellValue = XEUtils.get(row, column.field);
/* eslint-disable eqeqeq */
return cellValue === data;
}
function renderOptions(options, optionProps) {
const labelProp = optionProps.label || 'label';
const valueProp = optionProps.value || 'value';
return XEUtils.map(options, (item, oIndex) => {
return h(getCurrComponent('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createExportMethod(getExportCellValue) {
return function (params) {
const { row, column, options } = params;
return options && options.original ? XEUtils.get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params);
};
}
function defaultFilterOptions() {
return [
{ data: null }
];
}
VxeUI.renderer.mixin({
ElAutocomplete: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElInput: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElInputNumber: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElSelect: {
tableAutoFocus: 'input',
renderTableEdit(renderOpts, params) {
const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts;
const { row, column } = params;
const { attrs } = renderOpts;
const cellValue = XEUtils.get(row, column.field);
const props = getCellEditFilterProps(renderOpts, params, cellValue);
const ons = getEditOns(renderOpts, params);
if (optionGroups) {
const groupOptions = optionGroupProps.options || 'options';
const groupLabel = optionGroupProps.label || 'label';
return [
h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, attrs), props), ons), {
default: () => {
return XEUtils.map(optionGroups, (group, gIndex) => {
return h(getCurrComponent('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
default: () => renderOptions(group[groupOptions], optionProps)
});
});
}
})
];
}
return [
h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({}, props), attrs), ons), {
default: () => renderOptions(options, optionProps)
})
];
},
renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter(renderOpts, params) {
const { options = [], optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts;
const groupOptions = optionGroupProps.options || 'options';
const groupLabel = optionGroupProps.label || 'label';
const { column } = params;
const { attrs } = renderOpts;
return [
h('div', {
class: 'vxe-table--filter-element-wrapper'
}, optionGroups
? column.filters.map((option, oIndex) => {
const optionValue = option.data;
const props = getCellEditFilterProps(renderOpts, params, optionValue);
return h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getFilterOns(renderOpts, params, option, () => {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? (option.data && option.data.length > 0) : !XEUtils.eqNull(option.data), option);
})), {
default: () => {
return XEUtils.map(optionGroups, (group, gIndex) => {
return h(getCurrComponent('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
default: () => renderOptions(group[groupOptions], optionProps)
});
});
}
});
})
: column.filters.map((option, oIndex) => {
const optionValue = option.data;
const props = getCellEditFilterProps(renderOpts, params, optionValue);
return h(getCurrComponent('el-select'), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), props), getFilterOns(renderOpts, params, option, () => {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? (option.data && option.data.length > 0) : !XEUtils.eqNull(option.data), option);
})), {
default: () => renderOptions(options, optionProps)
});
}))
];
},
tableFilterDefaultMethod(params) {
const { option, row, column } = params;
const { data } = option;
const { field, filterRender: renderOpts } = column;
const { props = {} } = renderOpts;
const cellValue = XEUtils.get(row, field);
if (props.multiple) {
if (XEUtils.isArray(cellValue)) {
return XEUtils.includeArrays(cellValue, data);
}
return data.indexOf(cellValue) > -1;
}
/* eslint-disable eqeqeq */
return cellValue == data;
},
tableExportMethod: createExportMethod(getSelectCellValue)
},
ElCascader: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getCascaderCellValue)
},
ElDatePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter(renderOpts, params) {
const { column } = params;
const { name, attrs } = renderOpts;
return [
h('div', {
class: 'vxe-table--filter-element-wrapper'
}, column.filters.map((option, oIndex) => {
const optionValue = option.data;
return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, () => {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))
];
},
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod(params) {
const { option, row, column } = params;
const { data } = option;
const { filterRender: renderOpts } = column;
const { props = {} } = renderOpts;
const cellValue = XEUtils.get(row, column.field);
if (data) {
switch (props.type) {
case 'daterange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD');
case 'datetimerange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm');
case 'monthrange':
return equalDateRange(cellValue, data, props, 'YYYY-MM');
default:
return cellValue === data;
}
}
return false;
},
tableExportMethod: createExportMethod(getDatePickerCellValue)
},
ElTimePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getTimePickerCellValue)
},
ElTimeSelect: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender()
},
ElRate: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSwitch: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
renderTableFilter(renderOpts, params) {
const { column } = params;
const { name, attrs } = renderOpts;
return [
h('div', {
class: 'vxe-table--filter-element-wrapper'
}, column.filters.map((option, oIndex) => {
const optionValue = option.data;
return h(getCurrComponent(name), Object.assign(Object.assign(Object.assign({ key: oIndex }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, () => {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, XEUtils.isBoolean(option.data), option);
})));
}))
];
},
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSlider: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElButton: {
renderTableDefault: defaultButtonEditRender
},
ElButtons: {
renderTableDefault: defaultButtonsEditRender
}
});
}
import { resolveComponent } from 'vue';
import { globalConfig, componentMaps } from '../store';
export function getCurrComponent(name) {
const comp = componentMaps[name] || (globalConfig.ElementPlus ? globalConfig.ElementPlus[name] : null);
if (comp) {
return comp;
}
return resolveComponent(name);
}
export function hasInputType(renderOpts) {
switch (renderOpts.name) {
case 'ElInput':
case 'ElInputNumber':
case 'ElTextarea':
return true;
}
return false;
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElCheckbox = createWidgetElCheckbox;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElCheckbox(VxeUI) {
var getWidgetElCheckboxConfig = function getWidgetElCheckboxConfig(params) {
return {
title: '复选框',
icon: 'vxe-icon-checkbox-checked',
options: {
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElCheckboxFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElCheckboxViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item, index) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), {
key: index,
value: item.value
}, {
"default": function _default() {
return "".concat(item.value);
}
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElCheckboxConfig: getWidgetElCheckboxConfig,
WidgetElCheckboxFormComponent: WidgetElCheckboxFormComponent,
WidgetElCheckboxViewComponent: WidgetElCheckboxViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElDatePicker = createWidgetElDatePicker;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElDatePicker(VxeUI) {
var getWidgetElDatePickerConfig = function getWidgetElDatePickerConfig(params) {
return {
title: '日期',
icon: 'vxe-icon-input',
options: {
placeholder: '请选择'
}
};
};
var WidgetElDatePickerFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElDatePicker'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElDatePickerViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-date-picker'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElDatePickerConfig: getWidgetElDatePickerConfig,
WidgetElDatePickerFormComponent: WidgetElDatePickerFormComponent,
WidgetElDatePickerViewComponent: WidgetElDatePickerViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineFormDesignRender = defineFormDesignRender;
var _vue = require("vue");
var _inputWidget = require("./input-widget");
var _textareaWidget = require("./textarea-widget");
var _numberInputWidget = require("./number-input-widget");
var _datePickerWidget = require("./date-picker-widget");
var _selectWidget = require("./select-widget");
var _radioWidget = require("./radio-widget");
var _checkboxWidget = require("./checkbox-widget");
var _switchWidget = require("./switch-widget");
/**
* 表单设计器 - 渲染器
*/
function defineFormDesignRender(VxeUI) {
var _createWidgetElInput = (0, _inputWidget.createWidgetElInput)(VxeUI),
getWidgetElInputConfig = _createWidgetElInput.getWidgetElInputConfig,
WidgetElInputViewComponent = _createWidgetElInput.WidgetElInputViewComponent,
WidgetElInputFormComponent = _createWidgetElInput.WidgetElInputFormComponent;
var _createWidgetElTextar = (0, _textareaWidget.createWidgetElTextarea)(VxeUI),
getWidgetElTextareaConfig = _createWidgetElTextar.getWidgetElTextareaConfig,
WidgetElTextareaViewComponent = _createWidgetElTextar.WidgetElTextareaViewComponent,
WidgetElTextareaFormComponent = _createWidgetElTextar.WidgetElTextareaFormComponent;
var _createWidgetElInputN = (0, _numberInputWidget.createWidgetElInputNumber)(VxeUI),
getWidgetElInputNumberConfig = _createWidgetElInputN.getWidgetElInputNumberConfig,
WidgetElInputNumberViewComponent = _createWidgetElInputN.WidgetElInputNumberViewComponent,
WidgetElInputNumberFormComponent = _createWidgetElInputN.WidgetElInputNumberFormComponent;
var _createWidgetElDatePi = (0, _datePickerWidget.createWidgetElDatePicker)(VxeUI),
getWidgetElDatePickerConfig = _createWidgetElDatePi.getWidgetElDatePickerConfig,
WidgetElDatePickerViewComponent = _createWidgetElDatePi.WidgetElDatePickerViewComponent,
WidgetElDatePickerFormComponent = _createWidgetElDatePi.WidgetElDatePickerFormComponent;
var _createWidgetElSelect = (0, _selectWidget.createWidgetElSelect)(VxeUI),
getWidgetElSelectConfig = _createWidgetElSelect.getWidgetElSelectConfig,
WidgetElSelectViewComponent = _createWidgetElSelect.WidgetElSelectViewComponent,
WidgetElSelectFormComponent = _createWidgetElSelect.WidgetElSelectFormComponent;
var _createWidgetElRadio = (0, _radioWidget.createWidgetElRadio)(VxeUI),
getWidgetElRadioConfig = _createWidgetElRadio.getWidgetElRadioConfig,
WidgetElRadioViewComponent = _createWidgetElRadio.WidgetElRadioViewComponent,
WidgetElRadioFormComponent = _createWidgetElRadio.WidgetElRadioFormComponent;
var _createWidgetElCheckb = (0, _checkboxWidget.createWidgetElCheckbox)(VxeUI),
getWidgetElCheckboxConfig = _createWidgetElCheckb.getWidgetElCheckboxConfig,
WidgetElCheckboxViewComponent = _createWidgetElCheckb.WidgetElCheckboxViewComponent,
WidgetElCheckboxFormComponent = _createWidgetElCheckb.WidgetElCheckboxFormComponent;
var _createWidgetElSwitch = (0, _switchWidget.createWidgetElSwitch)(VxeUI),
getWidgetElSwitchConfig = _createWidgetElSwitch.getWidgetElSwitchConfig,
WidgetElSwitchViewComponent = _createWidgetElSwitch.WidgetElSwitchViewComponent,
WidgetElSwitchFormComponent = _createWidgetElSwitch.WidgetElSwitchFormComponent;
VxeUI.renderer.mixin({
ElInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElTextareaWidget: {
createFormDesignWidgetConfig: getWidgetElTextareaConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElTextareaViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElTextareaFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElNumberInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputNumberViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputNumberFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElDatePickerWidget: {
createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElDatePickerViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElDatePickerFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElSelectWidget: {
createFormDesignWidgetConfig: getWidgetElSelectConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSelectViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSelectFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElRadioWidget: {
createFormDesignWidgetConfig: getWidgetElRadioConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElRadioViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElRadioFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElCheckboxWidget: {
createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
createFormDesignWidgetFieldValue: function createFormDesignWidgetFieldValue() {
return [];
},
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElCheckboxViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElCheckboxFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElSwitchWidget: {
createFormDesignWidgetConfig: getWidgetElSwitchConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSwitchViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSwitchFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElInput = createWidgetElInput;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElInput(VxeUI) {
var getWidgetElInputConfig = function getWidgetElInputConfig(params) {
return {
title: '输入框',
icon: 'vxe-icon-input',
options: {
placeholder: '请输入'
}
};
};
var WidgetElInputFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElInputViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputConfig: getWidgetElInputConfig,
WidgetElInputFormComponent: WidgetElInputFormComponent,
WidgetElInputViewComponent: WidgetElInputViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElInputNumber = createWidgetElInputNumber;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElInputNumber(VxeUI) {
var getWidgetElInputNumberConfig = function getWidgetElInputNumberConfig(params) {
return {
title: '数字',
icon: 'vxe-icon-number',
options: {
placeholder: '请输入'
}
};
};
var WidgetElInputNumberFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElInputNumberViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input-number'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputNumberConfig: getWidgetElInputNumberConfig,
WidgetElInputNumberFormComponent: WidgetElInputNumberFormComponent,
WidgetElInputNumberViewComponent: WidgetElInputNumberViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElRadio = createWidgetElRadio;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElRadio(VxeUI) {
var getWidgetElRadioConfig = function getWidgetElRadioConfig(params) {
return {
title: '单选框',
icon: 'vxe-icon-radio-checked',
options: {
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElRadioFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElRadioViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item, index) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), {
key: index,
value: item.value
}, {
"default": function _default() {
return "".concat(item.value || '');
}
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElRadioConfig: getWidgetElRadioConfig,
WidgetElRadioFormComponent: WidgetElRadioFormComponent,
WidgetElRadioViewComponent: WidgetElRadioViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElSelect = createWidgetElSelect;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElSelect(VxeUI) {
var getWidgetElSelectConfig = function getWidgetElSelectConfig(params) {
return {
title: '下拉框',
icon: 'vxe-icon-select',
options: {
placeholder: '请选择',
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElSelectFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElSelectViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
label: item.value,
value: item.value
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElSelectConfig: getWidgetElSelectConfig,
WidgetElSelectFormComponent: WidgetElSelectFormComponent,
WidgetElSelectViewComponent: WidgetElSelectViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElSwitch = createWidgetElSwitch;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElSwitch(VxeUI) {
var getWidgetElSwitchConfig = function getWidgetElSwitchConfig(params) {
return {
title: '是/否',
icon: 'vxe-icon-switch',
options: {}
};
};
var WidgetElSwitchFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElSwitchViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-switch'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElSwitchConfig: getWidgetElSwitchConfig,
WidgetElSwitchFormComponent: WidgetElSwitchFormComponent,
WidgetElSwitchViewComponent: WidgetElSwitchViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElTextarea = createWidgetElTextarea;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElTextarea(VxeUI) {
var getWidgetElTextareaConfig = function getWidgetElTextareaConfig(params) {
return {
title: '文本域',
icon: 'vxe-icon-textarea',
options: {
placeholder: '请输入'
}
};
};
var WidgetElTextareaFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElTextareaViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
type: 'textarea',
autosize: {
minRows: 2,
maxRows: 4
},
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElTextareaConfig: getWidgetElTextareaConfig,
WidgetElTextareaFormComponent: WidgetElTextareaFormComponent,
WidgetElTextareaViewComponent: WidgetElTextareaViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useWidgetPropDataSource = useWidgetPropDataSource;
var _vue = require("vue");
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function useWidgetPropDataSource(VxeUI, props, isSubOption) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUIButtonComponent = VxeUI.getComponent('VxeButton');
var VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea');
var VxeUITipComponent = VxeUI.getComponent('VxeTip');
var optionsContent = (0, _vue.ref)('');
var expandIndexList = (0, _vue.ref)([]);
var addOptionEvent = function addOptionEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options.options || [];
options.push({
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1])
});
widget.options.options = _toConsumableArray(options);
};
var subRE = /^(\s|\t)+/;
var hasSubOption = function hasSubOption(str) {
return subRE.test(str);
};
var expandAllOption = function expandAllOption() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options.options || [];
var indexList = [];
options.forEach(function (group, gIndex) {
var options = group.options;
if (options && options.length) {
indexList.push(gIndex);
}
});
expandIndexList.value = indexList;
};
var toggleExpandOption = function toggleExpandOption(item, gIndex) {
if (expandIndexList.value.includes(gIndex)) {
expandIndexList.value = expandIndexList.value.filter(function (num) {
return num !== gIndex;
});
} else {
expandIndexList.value.push(gIndex);
}
};
var confirmBatchAddOptionEvent = function confirmBatchAddOptionEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var optList = [];
var rowList = optionsContent.value.split('\n');
var prevGroup = null;
if (isSubOption) {
rowList.forEach(function (str, index) {
var nextStr = rowList[index + 1];
var value = str.trim();
if (!value) {
return;
}
var item = {
value: value
};
if (prevGroup) {
if (hasSubOption(str)) {
prevGroup.options.push(item);
return;
}
prevGroup = null;
optList.push(item);
} else {
optList.push(item);
}
if (nextStr) {
if (hasSubOption(nextStr)) {
prevGroup = Object.assign(item, {
options: []
});
}
}
});
} else {
rowList.forEach(function (str) {
optList.push({
value: str.trim()
});
});
}
widget.options.options = optList;
expandAllOption();
};
var openPopupEditEvent = function openPopupEditEvent() {
var _widget$options$optio;
var renderParams = props.renderParams;
var widget = renderParams.widget;
var contList = [];
(_widget$options$optio = widget.options.options) === null || _widget$options$optio === void 0 || _widget$options$optio.forEach(function (group) {
var _group$options;
contList.push(group.value);
(_group$options = group.options) === null || _group$options === void 0 || _group$options.forEach(function (item) {
contList.push("\t".concat(item.value));
});
});
optionsContent.value = contList.join('\n');
VxeUI.modal.open({
title: "".concat(widget.title, " - ").concat(VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')),
width: 500,
height: '50vh ',
resize: true,
showFooter: true,
showCancelButton: true,
showConfirmButton: true,
confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'),
onConfirm: confirmBatchAddOptionEvent,
slots: {
"default": function _default() {
return (0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source-popup'
}, [(0, _vue.h)(VxeUITipComponent, {
status: 'primary',
title: '',
content: VxeUI.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(isSubOption ? 'batchEditSubTip' : 'batchEditTip'))
}), (0, _vue.h)(VxeUITextareaComponent, {
resize: 'none',
modelValue: optionsContent.value,
'onUpdate:modelValue': function onUpdateModelValue(val) {
optionsContent.value = val;
}
})]);
}
}
});
};
var renderOption = function renderOption(item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) {
return (0, _vue.h)('div', {
"class": ['vxe-form-design--widget-form-item-data-source-option', {
'is--first': isFirst,
'is--last': isLast
}]
}, [(0, _vue.h)('div', {
"class": 'vxe-form-design--widget-expand-btn'
}, hasFirstLevel && hasSub ? [(0, _vue.h)('i', {
"class": isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,
onClick: function onClick() {
toggleExpandOption(item, gIndex);
}
})] : []), (0, _vue.h)('input', {
"class": 'vxe-default-input',
value: item.value,
onInput: function onInput(evnt) {
item.value = evnt.currentTarget.value;
}
}), (0, _vue.h)(VxeUIButtonComponent, {
status: 'danger',
mode: 'text',
icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE
})]);
};
var renderOptions = function renderOptions() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options;
var groups = options.options;
var optVNs = [];
if (groups) {
groups.forEach(function (group, gIndex) {
var options = group.options;
var isExpand = expandIndexList.value.includes(gIndex);
if (options && options.length) {
optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1));
if (isExpand) {
optVNs.push((0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source-sub-option'
}, options.map(function (item) {
return renderOption(item, false, isExpand, 0, false, false, false);
})));
}
} else {
optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1));
}
});
}
return optVNs;
};
(0, _vue.watch)(function () {
return props.renderParams.widget;
}, function () {
expandAllOption();
});
(0, _vue.onMounted)(function () {
expandAllOption();
});
return {
renderDataSourceFormItem: function renderDataSourceFormItem() {
return (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'),
field: 'options'
}, {
"default": function _default() {
return [(0, _vue.h)('div', {}, [(0, _vue.h)(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'),
onClick: addOptionEvent
}), (0, _vue.h)(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'),
onClick: openPopupEditEvent
})]), (0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source'
}, renderOptions())];
}
});
}
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineFormRender = defineFormRender;
var _vue = require("vue");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* 表单 - 渲染器
*/
function defineFormRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
var type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function getItemProps(renderOpts, params, value, defaultProps) {
return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function getOns(renderOpts, params, inputFunc, changeFunc) {
var events = renderOpts.events;
var modelEvent = getModelEvent(renderOpts);
var changeEvent = getChangeEvent(renderOpts);
var isSameEvent = changeEvent === modelEvent;
var ons = {};
_xeUtils["default"].objectEach(events, function (func, key) {
ons[getOnName(key)] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
func.apply(void 0, [params].concat(args));
};
});
if (inputFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
inputFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
if (isSameEvent && changeFunc) {
changeFunc(targetEvnt);
}
};
}
if (!isSameEvent && changeFunc) {
ons[getOnName(changeEvent)] = function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
changeFunc.apply(void 0, args);
if (events && events[changeEvent]) {
events[changeEvent].apply(events, [params].concat(args));
}
};
}
return ons;
}
function getItemOns(renderOpts, params) {
var $form = params.$form,
data = params.data,
field = params.field;
return getOns(renderOpts, params, function (value) {
// 处理 model 值双向绑定
_xeUtils["default"].set(data, field, value);
}, function () {
// 处理 change 事件相关逻辑
$form.updateStatus(params);
if (renderOpts.changeToSubmit) {
$form.handleSubmitEvent(new Event('change'));
}
});
}
function renderOptions(options, optionProps) {
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
return _xeUtils["default"].map(options, function (item, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createFormItemRender(defaultProps) {
return function (renderOpts, params) {
var data = params.data,
field = params.field;
var name = renderOpts.name;
var attrs = renderOpts.attrs;
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))];
};
}
function defaultButtonItemRender(renderOpts, params) {
var attrs = renderOpts.attrs;
var props = getItemProps(renderOpts, params, null);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getOns(renderOpts, params)), {
"default": function _default() {
return cellText(renderOpts.content || props.content);
}
})];
}
function defaultButtonsItemRender(renderOpts, params) {
var children = renderOpts.children;
if (children) {
return children.map(function (childRenderOpts) {
return defaultButtonItemRender(childRenderOpts, params)[0];
});
}
return [];
}
/**
* 已废弃
* @deprecated
*/
function createOldFormItemRadioAndCheckboxRender() {
return function (renderOpts, params) {
var name = renderOpts.name,
_renderOpts$options = renderOpts.options,
options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
_renderOpts$optionPro = renderOpts.optionProps,
optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)(name), {
key: oIndex,
label: option[valueProp],
disabled: option.disabled
}, {
"default": function _default() {
return cellText(option[labelProp]);
}
});
});
}
})];
};
}
VxeUI.renderer.mixin({
ElAutocomplete: {
renderFormItemContent: createFormItemRender()
},
ElInput: {
renderFormItemContent: createFormItemRender()
},
ElInputNumber: {
renderFormItemContent: createFormItemRender()
},
ElSelect: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options2 = renderOpts.options,
options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro2 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
_renderOpts$optionGro = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
var data = params.data,
field = params.field;
var attrs = renderOpts.attrs;
var itemValue = _xeUtils["default"].get(data, field);
var props = getItemProps(renderOpts, params, itemValue);
var ons = getItemOns(renderOpts, params);
if (optionGroups) {
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
label: group[groupLabel],
key: gIndex
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
})];
}
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return renderOptions(options, optionProps);
}
})];
}
},
ElCascader: {
renderFormItemContent: createFormItemRender()
},
ElDatePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimeSelect: {
renderFormItemContent: createFormItemRender()
},
ElRate: {
renderFormItemContent: createFormItemRender()
},
ElSwitch: {
renderFormItemContent: createFormItemRender()
},
ElSlider: {
renderFormItemContent: createFormItemRender()
},
ElRadioGroup: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options3 = renderOpts.options,
options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
_renderOpts$optionPro3 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), {
key: oIndex,
value: option[valueProp],
disabled: option.disabled
}, {
"default": function _default() {
return cellText(option[labelProp]);
}
});
});
}
})];
}
},
ElCheckboxGroup: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options4 = renderOpts.options,
options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4,
_renderOpts$optionPro4 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), {
key: oIndex,
value: option[valueProp],
label: option[labelProp],
disabled: option.disabled
});
});
}
})];
}
},
ElButton: {
renderFormItemContent: defaultButtonItemRender
},
// 已废弃
ElRadio: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElCheckbox: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElButtons: {
renderFormItemContent: defaultButtonsItemRender
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.VxeUIPluginRenderElement = void 0;
var _table = require("./table");
var _form = require("./form");
var _formDesign = require("./form-design");
var _store = require("./store");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// eslint-disable-next-line no-unused-vars
var ElementPlus;
function getEventTarget(evnt) {
var target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
var targetElem;
var target = getEventTarget(evnt);
var rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
} else if (target === container) {
return {
flag: className ? !!targetElem : true,
container: container,
targetElem: targetElem
};
}
target = target.parentElement;
}
return {
flag: false
};
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
component: function component(comp) {
if (comp && comp.name) {
var kcName = _xeUtils["default"].kebabCase(comp.name);
var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name));
_store.componentMaps[kcName] = comp;
_store.componentMaps[ccName] = comp;
} else {
console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp);
}
},
install: function install(VxeUI, options) {
var pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(_store.globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
var pVersion = 4;
var sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install"));
}
} else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
var $event = params.$event;
var bodyElem = document.body;
var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag ||
// 级联
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag ||
// 日期
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag ||
// 颜色
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) {
return false;
}
}
(0, _table.defineTableRender)(VxeUI);
(0, _form.defineFormRender)(VxeUI);
(0, _formDesign.defineFormDesignRender)(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
_store.globalConfig.ElementPlus = window.ElementPlus;
}
}
var _default = exports["default"] = VxeUIPluginRenderElement;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.VxeUIPluginRenderElement = void 0;
var _table = require("./table");
var _form = require("./form");
var _formDesign = require("./form-design");
var _store = require("./store");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// eslint-disable-next-line no-unused-vars
var ElementPlus;
function getEventTarget(evnt) {
var target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
var targetElem;
var target = getEventTarget(evnt);
var rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
} else if (target === container) {
return {
flag: className ? !!targetElem : true,
container: container,
targetElem: targetElem
};
}
target = target.parentElement;
}
return {
flag: false
};
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
component: function component(comp) {
if (comp && comp.name) {
var kcName = _xeUtils["default"].kebabCase(comp.name);
var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name));
_store.componentMaps[kcName] = comp;
_store.componentMaps[ccName] = comp;
} else {
console.error('[@vxe-ui/plugin-render-element 4.3.0] error component.', comp);
}
},
install: function install(VxeUI, options) {
var pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(_store.globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
var pVersion = 4;
var sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install"));
}
} else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
var $event = params.$event;
var bodyElem = document.body;
var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag ||
// 级联
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag ||
// 日期
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag ||
// 颜色
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) {
return false;
}
}
(0, _table.defineTableRender)(VxeUI);
(0, _form.defineFormRender)(VxeUI);
(0, _formDesign.defineFormDesignRender)(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
_store.globalConfig.ElementPlus = window.ElementPlus;
}
}
var _default = exports["default"] = VxeUIPluginRenderElement;

Sorry, the diff of this file is too big to display

((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.3.0] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)});
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.globalConfig = exports.componentMaps = void 0;
var globalConfig = exports.globalConfig = {};
var componentMaps = exports.componentMaps = {};
.vxe-table.cell--highlight > .vxe-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__decrease,
.vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input-number__increase, .vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner {
border: 0;
}
.vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .el-slider .el-slider__runway, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway {
margin: 8px 0;
}
.vxe-table .vxe-cell--wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider .el-slider__runway .el-slider__button-wrapper, .vxe-table--filter-element-wrapper > .el-slider .el-slider__runway .el-slider__button-wrapper {
z-index: auto;
}
.vxe-table .vxe-cell--wrapper > .el-input, .vxe-table > .vxe-cell > .el-input, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input, .vxe-form .vxe-form--item-inner > .el-input, .vxe-form .vxe-form--item-content > .el-input, .vxe-table .vxe-cell--wrapper > .el-autocomplete, .vxe-table > .vxe-cell > .el-autocomplete, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete, .vxe-form .vxe-form--item-inner > .el-autocomplete, .vxe-form .vxe-form--item-content > .el-autocomplete, .vxe-table .vxe-cell--wrapper > .el-input-number, .vxe-table > .vxe-cell > .el-input-number, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number, .vxe-form .vxe-form--item-inner > .el-input-number, .vxe-form .vxe-form--item-content > .el-input-number, .vxe-table .vxe-cell--wrapper > .el-select, .vxe-table > .vxe-cell > .el-select, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select, .vxe-form .vxe-form--item-inner > .el-select, .vxe-form .vxe-form--item-content > .el-select, .vxe-table .vxe-cell--wrapper > .el-cascader, .vxe-table > .vxe-cell > .el-cascader, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader, .vxe-form .vxe-form--item-inner > .el-cascader, .vxe-form .vxe-form--item-content > .el-cascader, .vxe-table .vxe-cell--wrapper > .el-date-editor, .vxe-table > .vxe-cell > .el-date-editor, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-editor, .vxe-form .vxe-form--item-inner > .el-date-editor, .vxe-form .vxe-form--item-content > .el-date-editor, .vxe-table .vxe-cell--wrapper > .el-slider, .vxe-table > .vxe-cell > .el-slider, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-slider, .vxe-form .vxe-form--item-inner > .el-slider, .vxe-form .vxe-form--item-content > .el-slider {
width: 100%;
}
.vxe-table .vxe-cell--wrapper > .el-color-picker, .vxe-table > .vxe-cell > .el-color-picker, .vxe-table > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-color-picker, .vxe-form .vxe-form--item-inner > .el-color-picker, .vxe-form .vxe-form--item-content > .el-color-picker {
vertical-align: middle;
}
.vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-autocomplete .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-input-number .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-select .el-select__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-cascader .el-input__wrapper, .vxe-form .vxe-form--item.is--error > .vxe-form--item-content > .vxe-form--item-inner > .el-date-picker .el-input__wrapper {
box-shadow: 0 0 0 1px var(--vxe-ui-form-validate-error-color, #f56c6c) inset;
}
.vxe-table--filter-element-wrapper {
padding: 0.8em 1em;
}
.vxe-table--filter-element-wrapper > .el-input, .vxe-table--filter-element-wrapper > .el-input-number, .vxe-table--filter-element-wrapper > .el-autocomplete, .vxe-table--filter-element-wrapper > .el-select, .vxe-table--filter-element-wrapper > .el-rate, .vxe-table--filter-element-wrapper > .el-slider {
width: 180px;
}
.col--valid-error > .vxe-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .el-date-picker .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input-number .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-select__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__wrapper, .col--valid-error > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-date-picker .el-input__wrapper {
box-shadow: 0 0 0 1px var(--vxe-ui-table-validate-error-color, #f56c6c) inset;
}
.vxe-table.cell--highlight > .vxe-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .el-cascader .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-input:not(.el-date-editor) .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-autocomplete .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-select .el-input__inner, .vxe-table.cell--highlight > .vxe-cell > .vxe-cell--wrapper > .vxe-cell--tree-node > .vxe-tree-cell > .el-cascader .el-input__inner {
padding: 0;
}
.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__decrease,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input-number__increase,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{border:0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.el-slider .el-slider__runway,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway{margin:8px 0}.vxe-table .vxe-cell--wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table--filter-element-wrapper>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.el-slider .el-slider__runway .el-slider__button-wrapper,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider .el-slider__runway .el-slider__button-wrapper{z-index:auto}.vxe-form .vxe-form--item-content>.el-autocomplete,.vxe-form .vxe-form--item-content>.el-cascader,.vxe-form .vxe-form--item-content>.el-date-editor,.vxe-form .vxe-form--item-content>.el-input,.vxe-form .vxe-form--item-content>.el-input-number,.vxe-form .vxe-form--item-content>.el-select,.vxe-form .vxe-form--item-content>.el-slider,.vxe-form .vxe-form--item-inner>.el-autocomplete,.vxe-form .vxe-form--item-inner>.el-cascader,.vxe-form .vxe-form--item-inner>.el-date-editor,.vxe-form .vxe-form--item-inner>.el-input,.vxe-form .vxe-form--item-inner>.el-input-number,.vxe-form .vxe-form--item-inner>.el-select,.vxe-form .vxe-form--item-inner>.el-slider,.vxe-table .vxe-cell--wrapper>.el-autocomplete,.vxe-table .vxe-cell--wrapper>.el-cascader,.vxe-table .vxe-cell--wrapper>.el-date-editor,.vxe-table .vxe-cell--wrapper>.el-input,.vxe-table .vxe-cell--wrapper>.el-input-number,.vxe-table .vxe-cell--wrapper>.el-select,.vxe-table .vxe-cell--wrapper>.el-slider,.vxe-table>.vxe-cell>.el-autocomplete,.vxe-table>.vxe-cell>.el-cascader,.vxe-table>.vxe-cell>.el-date-editor,.vxe-table>.vxe-cell>.el-input,.vxe-table>.vxe-cell>.el-input-number,.vxe-table>.vxe-cell>.el-select,.vxe-table>.vxe-cell>.el-slider,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-editor,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-slider{width:100%}.vxe-form .vxe-form--item-content>.el-color-picker,.vxe-form .vxe-form--item-inner>.el-color-picker,.vxe-table .vxe-cell--wrapper>.el-color-picker,.vxe-table>.vxe-cell>.el-color-picker,.vxe-table>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-color-picker{vertical-align:middle}.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-autocomplete .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-cascader .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-date-picker .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-input-number .el-input__wrapper,.vxe-form .vxe-form--item.is--error>.vxe-form--item-content>.vxe-form--item-inner>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-form-validate-error-color,#f56c6c) inset}.vxe-table--filter-element-wrapper{padding:.8em 1em}.vxe-table--filter-element-wrapper>.el-autocomplete,.vxe-table--filter-element-wrapper>.el-input,.vxe-table--filter-element-wrapper>.el-input-number,.vxe-table--filter-element-wrapper>.el-rate,.vxe-table--filter-element-wrapper>.el-select,.vxe-table--filter-element-wrapper>.el-slider{width:180px}.col--valid-error>.vxe-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.el-select .el-select__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-date-picker .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input-number .el-input__wrapper,.col--valid-error>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-select__wrapper{box-shadow:0 0 0 1px var(--vxe-ui-table-validate-error-color,#f56c6c) inset}.vxe-table.cell--highlight>.vxe-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.el-select .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-autocomplete .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-cascader .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-input:not(.el-date-editor) .el-input__inner,.vxe-table.cell--highlight>.vxe-cell>.vxe-cell--wrapper>.vxe-cell--tree-node>.vxe-tree-cell>.el-select .el-input__inner{padding:0}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineTableRender = defineTableRender;
var _vue = require("vue");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
var _dayjs = _interopRequireDefault(require("dayjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* 表格 - 渲染器
*/
function defineTableRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
var type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function toDayStringDate(value, format) {
return (0, _dayjs["default"])(value, format).toDate();
}
function toDayDateString(date, format) {
return (0, _dayjs["default"])(date).format(format);
}
function parseDate(value, props) {
return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value;
}
function getFormatDate(value, props, defaultFormat) {
return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value;
}
function getFormatDates(values, props, separator, defaultFormat) {
return _xeUtils["default"].map(values, function (date) {
return getFormatDate(date, props, defaultFormat);
}).join(separator);
}
function equalDateRange(cellValue, data, props, defaultFormat) {
cellValue = getFormatDate(cellValue, props, defaultFormat);
return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat);
}
function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function updateFilterChangeOption(params, checked, option) {
var $table = params.$table;
$table.updateFilterOptionStatus(option, checked);
}
function saveFilterEvent(params) {
var $table = params.$table,
column = params.column;
$table.saveFilterByEvent(new Event('change'), column);
}
function getCellLabelVNs(renderOpts, params, cellLabel) {
var placeholder = renderOpts.placeholder;
return [(0, _vue.h)('span', {
"class": 'vxe-cell--label'
}, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', {
"class": 'vxe-cell--placeholder'
}, formatText(VxeUI.getI18n(placeholder)))] : formatText(cellLabel))];
}
var blurEvent = 'blur';
var clearEvent = 'clear';
/**
* 组件事件处理
* @param renderOpts
* @param params
* @param modelFunc
* @param changeFunc
*/
function getComponentOns(renderOpts, params, eFns, eventOns) {
var events = renderOpts.events;
var modelEvent = getModelEvent(renderOpts);
var changeEvent = getChangeEvent(renderOpts);
var _ref = eFns || {},
modelFunc = _ref.model,
changeFunc = _ref.change,
blurFunc = _ref.blur,
clearFunc = _ref.clear;
var ons = {};
_xeUtils["default"].objectEach(events, function (func, key) {
ons[getOnName(key)] = function () {
if (!_xeUtils["default"].isFunction(func)) {
console.error("Parameter \"".concat(func, "\" is not a method"));
}
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
func.apply(void 0, [params].concat(args));
};
});
if (modelFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
modelFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
};
}
if (changeFunc) {
ons[getOnName(changeEvent)] = function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
changeFunc.apply(void 0, args);
if (events && events[changeEvent]) {
events[changeEvent].apply(events, [params].concat(args));
}
};
}
if (blurFunc) {
ons[getOnName(blurEvent)] = function () {
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
blurFunc.apply(void 0, args);
if (events && events[blurEvent]) {
events[blurEvent].apply(events, [params].concat(args));
}
};
}
if (clearFunc) {
ons[getOnName(clearEvent)] = function () {
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}
clearFunc.apply(void 0, args);
if (events && events[clearEvent]) {
events[clearEvent].apply(events, [params].concat(args));
}
};
}
return eventOns ? Object.assign(ons, eventOns) : ons;
}
function getEditOns(renderOpts, params) {
var $table = params.$table,
row = params.row,
column = params.column;
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
_xeUtils["default"].set(row, column.field, value);
},
change: function change() {
// 处理 change 事件相关逻辑
$table.updateStatus(params);
}
});
}
function getFilterOns(renderOpts, params, option, changeFunc) {
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change: changeFunc
});
}
function getFloatingFilterOns(renderOpts, params, option) {
var $table = params.$table,
column = params.column;
if ((0, _comp.hasInputType)(renderOpts)) {
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change: function change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
},
clear: function clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
saveFilterEvent(params);
},
blur: function blur() {
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
clear: function clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
},
change: function change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
function matchCascaderData(index, list, values, labels) {
var val = values[index];
if (list && values.length > index) {
_xeUtils["default"].each(list, function (item) {
if (item.value === val) {
labels.push(item.label);
matchCascaderData(++index, item.children, values, labels);
}
});
}
}
function getSelectCellValue(renderOpts, params) {
var _renderOpts$options = renderOpts.options,
options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
optionGroups = renderOpts.optionGroups,
_renderOpts$props = renderOpts.props,
props = _renderOpts$props === void 0 ? {} : _renderOpts$props,
_renderOpts$optionPro = renderOpts.optionProps,
optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
_renderOpts$optionGro = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
var $table = params.$table,
rowid = params.rowid,
row = params.row,
column = params.column;
var filterable = props.filterable,
multiple = props.multiple;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var groupOptions = optionGroupProps.options || 'options';
var cellValue = _xeUtils["default"].get(row, column.field);
var colid = column.id;
var cellData;
if (filterable) {
var internalData = $table.internalData;
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
var rest = fullAllDataRowIdData[rowid];
if (rest) {
cellData = rest.cellData;
if (!cellData) {
cellData = rest.cellData = {};
}
}
if (rest && cellData[colid] && cellData[colid].value === cellValue) {
return cellData[colid].label;
}
}
if (!isEmptyValue(cellValue)) {
var selectlabel = _xeUtils["default"].map(multiple ? cellValue : [cellValue], optionGroups ? function (value) {
var selectItem;
for (var index = 0; index < optionGroups.length; index++) {
selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) {
return item[valueProp] === value;
});
if (selectItem) {
break;
}
}
return selectItem ? selectItem[labelProp] : value;
} : function (value) {
var selectItem = _xeUtils["default"].find(options, function (item) {
return item[valueProp] === value;
});
return selectItem ? selectItem[labelProp] : value;
}).join(', ');
if (cellData && options && options.length) {
cellData[colid] = {
value: cellValue,
label: selectlabel
};
}
return selectlabel;
}
return '';
}
function getCascaderCellValue(renderOpts, params) {
var _renderOpts$props2 = renderOpts.props,
props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2;
var row = params.row,
column = params.column;
var cellValue = _xeUtils["default"].get(row, column.field);
var values = cellValue || [];
var labels = [];
matchCascaderData(0, props.options, values, labels);
return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " "));
}
function getDatePickerCellValue(renderOpts, params) {
var _renderOpts$props3 = renderOpts.props,
props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3;
var row = params.row,
column = params.column;
var _props$rangeSeparator = props.rangeSeparator,
rangeSeparator = _props$rangeSeparator === void 0 ? '-' : _props$rangeSeparator;
var cellValue = _xeUtils["default"].get(row, column.field);
switch (props.type) {
case 'week':
cellValue = getFormatDate(cellValue, props, 'YYYYwWW');
break;
case 'month':
cellValue = getFormatDate(cellValue, props, 'YYYY-MM');
break;
case 'year':
cellValue = getFormatDate(cellValue, props, 'YYYY');
break;
case 'dates':
cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD');
break;
case 'daterange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD');
break;
case 'datetimerange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD HH:ss:mm');
break;
case 'monthrange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM');
break;
default:
cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD');
}
return cellValue;
}
function getTimePickerCellValue(renderOpts, params) {
var _renderOpts$props4 = renderOpts.props,
props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4;
var row = params.row,
column = params.column;
var isRange = props.isRange,
_props$format = props.format,
format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,
_props$rangeSeparator2 = props.rangeSeparator,
rangeSeparator = _props$rangeSeparator2 === void 0 ? '-' : _props$rangeSeparator2;
var cellValue = _xeUtils["default"].get(row, column.field);
if (cellValue && isRange) {
cellValue = _xeUtils["default"].map(cellValue, function (date) {
return toDayDateString(parseDate(date, props), format);
}).join(" ".concat(rangeSeparator, " "));
}
return toDayDateString(parseDate(cellValue, props), format);
}
function createEditRender(defaultProps) {
return function (renderOpts, params) {
var row = params.row,
column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
var cellValue = _xeUtils["default"].get(row, column.field);
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))];
};
}
function defaultButtonEditRender(renderOpts, params) {
var attrs = renderOpts.attrs,
props = renderOpts.props;
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content))];
}
function defaultButtonsEditRender(renderOpts, params) {
var children = renderOpts.children;
if (children) {
return children.map(function (childRenderOpts) {
return defaultButtonEditRender(childRenderOpts, params)[0];
});
}
return [];
}
function createFilterRender(defaultProps) {
return function (renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))];
};
}
function createFloatingFilterRender(defaultProps) {
return function (renderOpts, params) {
var option = params.option;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
var optionValue = option.data;
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option)))];
};
}
function handleConfirmFilter(params, checked, option) {
var $panel = params.$panel;
$panel.changeOption(null, checked, option);
}
/**
* 模糊匹配
* @param params
*/
function defaultFuzzyFilterMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var cellValue = _xeUtils["default"].get(row, column.field);
return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1;
}
/**
* 精确匹配
* @param params
*/
function defaultExactFilterMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var cellValue = _xeUtils["default"].get(row, column.field);
/* eslint-disable eqeqeq */
return cellValue === data;
}
function renderOptions(options, optionProps) {
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
return _xeUtils["default"].map(options, function (item, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createExportMethod(getExportCellValue) {
return function (params) {
var row = params.row,
column = params.column,
options = params.options;
return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params);
};
}
function defaultFilterOptions() {
return [{
data: null
}];
}
VxeUI.renderer.mixin({
ElAutocomplete: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElInput: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElInputNumber: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElSelect: {
tableAutoFocus: 'input',
renderTableEdit: function renderTableEdit(renderOpts, params) {
var _renderOpts$options2 = renderOpts.options,
options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro2 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
_renderOpts$optionGro2 = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
var row = params.row,
column = params.column;
var attrs = renderOpts.attrs;
var cellValue = _xeUtils["default"].get(row, column.field);
var props = getCellEditFilterProps(renderOpts, params, cellValue);
var ons = getEditOns(renderOpts, params);
if (optionGroups) {
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
})];
}
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), {
"default": function _default() {
return renderOptions(options, optionProps);
}
})];
},
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: function renderTableFilter(renderOpts, params) {
var _renderOpts$options3 = renderOpts.options,
options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro3 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
_renderOpts$optionGro3 = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
var column = params.column;
var attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, optionGroups ? column.filters.map(function (option, oIndex) {
var optionValue = option.data;
var props = getCellEditFilterProps(renderOpts, params, optionValue);
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
})), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
});
}) : column.filters.map(function (option, oIndex) {
var optionValue = option.data;
var props = getCellEditFilterProps(renderOpts, params, optionValue);
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
})), {
"default": function _default() {
return renderOptions(options, optionProps);
}
});
}))];
},
tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var field = column.field,
renderOpts = column.filterRender;
var _renderOpts$props5 = renderOpts.props,
props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5;
var cellValue = _xeUtils["default"].get(row, field);
if (props.multiple) {
if (_xeUtils["default"].isArray(cellValue)) {
return _xeUtils["default"].includeArrays(cellValue, data);
}
return data.indexOf(cellValue) > -1;
}
/* eslint-disable eqeqeq */
return cellValue == data;
},
tableExportMethod: createExportMethod(getSelectCellValue)
},
ElCascader: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getCascaderCellValue)
},
ElDatePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: function renderTableFilter(renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))];
},
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var renderOpts = column.filterRender;
var _renderOpts$props6 = renderOpts.props,
props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6;
var cellValue = _xeUtils["default"].get(row, column.field);
if (data) {
switch (props.type) {
case 'daterange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD');
case 'datetimerange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm');
case 'monthrange':
return equalDateRange(cellValue, data, props, 'YYYY-MM');
default:
return cellValue === data;
}
}
return false;
},
tableExportMethod: createExportMethod(getDatePickerCellValue)
},
ElTimePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getTimePickerCellValue)
},
ElTimeSelect: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender()
},
ElRate: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSwitch: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
renderTableFilter: function renderTableFilter(renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option);
})));
}))];
},
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSlider: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElButton: {
renderTableDefault: defaultButtonEditRender
},
ElButtons: {
renderTableDefault: defaultButtonsEditRender
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCurrComponent = getCurrComponent;
exports.hasInputType = hasInputType;
var _vue = require("vue");
var _store = require("../store");
function getCurrComponent(name) {
var comp = _store.componentMaps[name] || (_store.globalConfig.ElementPlus ? _store.globalConfig.ElementPlus[name] : null);
if (comp) {
return comp;
}
return (0, _vue.resolveComponent)(name);
}
function hasInputType(renderOpts) {
switch (renderOpts.name) {
case 'ElInput':
case 'ElInputNumber':
case 'ElTextarea':
return true;
}
return false;
}
+1
-1

@@ -1,1 +0,1 @@

((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t)})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.2.4] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)});
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("xe-utils"),require("dayjs")):"function"==typeof define&&define.amd?define(["vue","xe-utils","dayjs"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VxeUIPluginRenderElement=t(e.Vue,e.XEUtils,e.dayjs)})(this,function(t,i,R){function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var e,o,n,r={},a={},u={},l={};function d(){return e||(e=1,Object.defineProperty(l,"__esModule",{value:!0}),l.globalConfig=l.componentMaps=void 0,l.globalConfig={},l.componentMaps={}),l}function c(){var n,r;return o||(o=1,Object.defineProperty(u,"__esModule",{value:!0}),u.getCurrComponent=function(e){var t=r.componentMaps[e]||(r.globalConfig.ElementPlus?r.globalConfig.ElementPlus[e]:null);if(t)return t;return(0,n.resolveComponent)(e)},u.hasInputType=function(e){switch(e.name){case"ElInput":case"ElInputNumber":case"ElTextarea":return!0}return!1},n=t,r=d()),u}function Y(){var j,T,k,M;return n||(n=1,Object.defineProperty(a,"__esModule",{value:!0}),a.defineTableRender=function(r){function s(e){return null==e||""===e}function f(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function a(e,t){return(0,M.default)(e).format(t)}function u(e,t){return e&&t.valueFormat?(t=t.valueFormat,(0,M.default)(e,t).toDate()):e}function l(e,t,n){return e&&a(u(e,t),t.format||t.valueFormat||n)}function d(e,t,n,r){return k.default.map(e,function(e){return l(e,t,r)}).join(n)}function c(e,t,n,r){return(e=l(e,n,r))>=l(t[0],n,r)&&e<=l(t[1],n,r)}function p(e,t,n,r){return k.default.assign({},r,e.props,Y({},"modelValue",n))}function o(e){return""+(s(e)?"":e)}function i(e,t,n){e.$table.updateFilterOptionStatus(n,t)}function n(e,t,n){e=e.placeholder;return[(0,j.h)("span",{class:"vxe-cell--label"},e&&s(n)?[(0,j.h)("span",{class:"vxe-cell--placeholder"},o(r.getI18n(e)))]:o(n))]}var m="blur",g="clear";function v(e,o,t){var r=e.events,n="update:modelValue",i=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),e=t||{},a=e.model,u=e.change,l=e.blur,d=e.clear,c={};return k.default.objectEach(r,function(r,e){c[f(e)]=function(){k.default.isFunction(r)||console.error('Parameter "'.concat(r,'" is not a method'));for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),a&&(c[f(n)]=function(e){a(e),r&&r[n]&&r[n](o,e)}),u&&(c[f(i)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u.apply(void 0,t),r&&r[i]&&r[i].apply(r,[o].concat(t))}),l&&(c[f(m)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];l.apply(void 0,t),r&&r[m]&&r[m].apply(r,[o].concat(t))}),d&&(c[f(g)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];d.apply(void 0,t),r&&r[g]&&r[g].apply(r,[o].concat(t))}),c}function h(e,t){var n=t.$table,r=t.row,o=t.column;return v(e,t,{model:function(e){k.default.set(r,o.field,e)},change:function(){n.updateStatus(t)}})}function b(e,t,n,r){return v(e,t,{model:function(e){n.data=e},change:r})}function C(e,n,r){var t=n.$table,o=n.column;return(0,T.hasInputType)(e)?v(e,n,{model:function(e){r.data=e},change:function(){i(n,!s(r.data),r)},clear:function(){var e,t;i(n,!s(r.data),r),t=(e=n).$table,e=n.column,t.saveFilterByEvent(new Event("change"),e)},blur:function(){t.saveFilterByEvent(new Event("change"),o)}}):v(e,n,{model:function(e){r.data=e},clear:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)},change:function(){i(n,!s(r.data),r),t.saveFilterByEvent(new Event("change"),o)}})}function w(e,t){var n,r=e.options,o=void 0===r?[]:r,i=e.optionGroups,r=e.props,r=void 0===r?{}:r,a=e.optionProps,a=void 0===a?{}:a,e=e.optionGroupProps,u=t.$table,l=t.rowid,d=t.column,c=r.filterable,r=r.multiple,f=a.label||"label",p=a.value||"value",m=(void 0===e?{}:e).options||"options",a=k.default.get(t.row,d.field),e=d.id;if(c){t=u.internalData.fullAllDataRowIdData[l];if(t&&(n=(n=t.cellData)||(t.cellData={})),t&&n[e]&&n[e].value===a)return n[e].label}return s(a)?"":(d=k.default.map(r?a:[a],i?function(t){for(var e,n=0;n<i.length&&!(e=k.default.find(i[n][m],function(e){return e[p]===t}));n++);return e?e[f]:t}:function(t){var e=k.default.find(o,function(e){return e[p]===t});return e?e[f]:t}).join(", "),n&&o&&o.length&&(n[e]={value:a,label:d}),d)}function E(e,t){var e=e.props,e=void 0===e?{}:e,n=t.row,n=k.default.get(n,t.column.field),t=[];return function t(n,e,r,o){var i=r[n];e&&r.length>n&&k.default.each(e,function(e){e.value===i&&(o.push(e.label),t(++n,e.children,r,o))})}(0,e.options,n||[],t),(!1===e.showAllLevels?t.slice(t.length-1,t.length):t).join(" ".concat(e.separator||"/"," "))}function V(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.rangeSeparator,o=void 0===r?"-":r,i=k.default.get(e,t.column.field);switch(n.type){case"week":i=l(i,n,"YYYYwWW");break;case"month":i=l(i,n,"YYYY-MM");break;case"year":i=l(i,n,"YYYY");break;case"dates":i=d(i,n,", ","YYYY-MM-DD");break;case"daterange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD");break;case"datetimerange":i=d(i,n," ".concat(o," "),"YYYY-MM-DD HH:ss:mm");break;case"monthrange":i=d(i,n," ".concat(o," "),"YYYY-MM");break;default:i=l(i,n,"YYYY-MM-DD")}return i}function P(e,t){var e=e.props,n=void 0===e?{}:e,e=t.row,r=n.isRange,o=n.format,i=void 0===o?"HH:mm:ss":o,o=n.rangeSeparator,o=void 0===o?"-":o,e=k.default.get(e,t.column.field);return e&&r&&(e=k.default.map(e,function(e){return a(u(e,n),i)}).join(" ".concat(o," "))),a(u(e,n),i)}function e(a){return function(e,t){var n=t.row,r=e.name,o=e.attrs,i=e.props,n=k.default.get(n,t.column.field);return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,n,a)),h(e,t)))]}}function y(e,t){var n=e.attrs,r=e.props;return[(0,j.h)((0,T.getCurrComponent)("el-button"),_(_(_(_({},n),r),p(e,0,null)),v(e,t)),[o(e.content)])]}function t(l){return function(r,o){var e=o.column,i=r.name,a=r.attrs,u=r.props;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_(_({key:t},a),u),p(r,0,n,l)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]}}function x(u){return function(e,t){var n=t.option,r=e.name,o=e.attrs,i=e.props,a=n.data;return[(0,j.h)((0,T.getCurrComponent)(r),_(_(_(_({},o),i),p(e,0,a,u)),C(e,t,n)))]}}function I(e,t,n){e.$panel.changeOption(null,t,n)}function O(e){var t=e.option.data,e=k.default.get(e.row,e.column.field);return-1<k.default.toValueString(e).indexOf(t)}function F(e){var t=e.option.data;return k.default.get(e.row,e.column.field)===t}function D(e,t){var n=t.label||"label",r=t.value||"value";return k.default.map(e,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function W(o){return function(e){var t=e.row,n=e.column,r=e.options;return r&&r.original?k.default.get(t,n.field):o(n.editRender||n.cellRender,e)}}function S(){return[{data:null}]}r.renderer.mixin({ElAutocomplete:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElInput:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElInputNumber:{tableAutoFocus:"input",renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),renderTableFloatingFilter:x(),tableFilterDefaultMethod:O},ElSelect:{tableAutoFocus:"input",renderTableEdit:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.row,d=e.attrs,l=p(e,0,k.default.get(l,t.column.field)),e=h(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},d),l),e),{default:function(){return k.default.map(a,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[r]},{default:function(){return D(e[n],u)}})})}})]):[(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({},l),d),e),{default:function(){return D(i,u)}})]},renderTableCell:function(e,t){return n(e,0,w(e,t))},createTableFilterOptions:S,renderTableFilter:function(o,i){var e=o.options,a=void 0===e?[]:e,u=o.optionGroups,e=o.optionProps,l=void 0===e?{}:e,e=o.optionGroupProps,e=void 0===e?{}:e,d=e.options||"options",c=e.label||"label",e=i.column,f=o.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},u?e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return k.default.map(u,function(e,t){return(0,j.h)((0,T.getCurrComponent)("el-option-group"),{key:t,label:e[c]},{default:function(){return D(e[d],l)}})})}})}):e.filters.map(function(e,t){var n=e.data,r=p(o,0,n);return(0,j.h)((0,T.getCurrComponent)("el-select"),_(_(_({key:t},f),r),b(o,i,e,function(){I(i,r.multiple?e.data&&0<e.data.length:!k.default.eqNull(e.data),e)})),{default:function(){return D(a,l)}})}))]},tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,t=t.data,r=n.field,n=n.filterRender.props,n=void 0===n?{}:n,e=k.default.get(e.row,r);return n.multiple?k.default.isArray(e)?k.default.includeArrays(e,t):-1<t.indexOf(e):e==t},tableExportMethod:W(w)},ElCascader:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,E(e,t))},tableExportMethod:W(E)},ElDatePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,V(e,t))},createTableFilterOptions:S,renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,!!e.data,e)})))}))]},renderTableFloatingFilter:x(),tableFilterDefaultMethod:function(e){var t=e.option,n=e.column,r=t.data,t=n.filterRender.props,o=void 0===t?{}:t,i=k.default.get(e.row,n.field);if(r)switch(o.type){case"daterange":return c(i,r,o,"YYYY-MM-DD");case"datetimerange":return c(i,r,o,"YYYY-MM-DD HH:ss:mm");case"monthrange":return c(i,r,o,"YYYY-MM");default:return i===r}return!1},tableExportMethod:W(V)},ElTimePicker:{tableAutoFocus:"input",renderTableEdit:e(),renderTableCell:function(e,t){return n(e,0,P(e,t))},tableExportMethod:W(P)},ElTimeSelect:{tableAutoFocus:"input",renderTableEdit:e()},ElRate:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElSwitch:{renderTableDefault:e(),renderTableEdit:e(),renderTableFilter:function(r,o){var e=o.column,i=r.name,a=r.attrs;return[(0,j.h)("div",{class:"vxe-table--filter-element-wrapper"},e.filters.map(function(e,t){var n=e.data;return(0,j.h)((0,T.getCurrComponent)(i),_(_(_({key:t},a),p(r,0,n)),b(r,o,e,function(){I(o,k.default.isBoolean(e.data),e)})))}))]},tableFilterDefaultMethod:F},ElSlider:{renderTableDefault:e(),renderTableEdit:e(),createTableFilterOptions:S,renderTableFilter:t(),tableFilterDefaultMethod:F},ElButton:{renderTableDefault:y},ElButtons:{renderTableDefault:function(e,t){return(e=e.children)?e.map(function(e){return y(e,t)[0]}):[]}}})},j=t,T=c(),k=e(i),M=e(R)),a;function e(e){return e&&e.__esModule?e:{default:e}}function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function _(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){Y(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function Y(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var f,p={};function U(){var s,g,v,e;return f||(f=1,Object.defineProperty(p,"__esModule",{value:!0}),p.defineFormRender=function(e){function d(e){return"on"+e.substring(0,1).toLocaleUpperCase()+e.substring(1)}function c(e,t,n,r){return v.default.assign({},r,e.props,a({},"modelValue",n))}function i(e,o,t,r){var i=e.events,n="update:modelValue",a=(e=>{var t="change";switch(e.name){case"ElAutocomplete":t="select";break;case"ElInput":case"ElInputNumber":t="input"}return t})(e),u=a===n,l={};return v.default.objectEach(i,function(r,e){l[d(e)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,[o].concat(t))}}),t&&(l[d(n)]=function(e){t(e),i&&i[n]&&i[n](o,e),u&&r&&r(e)}),!u&&r&&(l[d(a)]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];r.apply(void 0,t),i&&i[a]&&i[a].apply(i,[o].concat(t))}),l}function f(e,t){var n=t.$form,r=t.data,o=t.field;return i(e,t,function(e){v.default.set(r,o,e)},function(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))})}function p(e,t){var n=t.label||"label",r=t.value||"value";return v.default.map(e,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option"),{key:t,value:e[r],label:e[n],disabled:e.disabled})})}function m(e){return[""+(null==(t=e=e)||""===t?"":e)];var t}function t(i){return function(e,t){var n=t.data,r=e.name,o=e.attrs,n=v.default.get(n,t.field);return[(0,s.h)((0,g.getCurrComponent)(r),h(h(h({},o),c(e,0,n,i)),f(e,t)))]}}function n(e,t){var n=e.attrs,r=c(e,0,null);return[(0,s.h)((0,g.getCurrComponent)("el-button"),h(h(h({},n),r),i(e,t)),{default:function(){return m(e.content||r.content)}})]}function r(){return function(e,t){var n=e.name,r=e.options,o=void 0===r?[]:r,r=e.optionProps,r=void 0===r?{}:r,i=e.attrs,a=t.data,u=r.label||"label",l=r.value||"value",r=v.default.get(a,t.field);return[(0,s.h)((0,g.getCurrComponent)("".concat(n,"Group")),h(h(h({},i),c(e,0,r)),f(e,t)),{default:function(){return o.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)(n),{key:t,label:e[l],disabled:e.disabled},{default:function(){return m(e[u])}})})}})]}}e.renderer.mixin({ElAutocomplete:{renderFormItemContent:t()},ElInput:{renderFormItemContent:t()},ElInputNumber:{renderFormItemContent:t()},ElSelect:{renderFormItemContent:function(e,t){var n,r,o=e.options,i=void 0===o?[]:o,a=e.optionGroups,o=e.optionProps,u=void 0===o?{}:o,o=e.optionGroupProps,o=void 0===o?{}:o,l=t.data,d=e.attrs,l=c(e,0,v.default.get(l,t.field)),e=f(e,t);return a?(n=o.options||"options",r=o.label||"label",[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return v.default.map(a,function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-option-group"),{label:e[r],key:t},{default:function(){return p(e[n],u)}})})}})]):[(0,s.h)((0,g.getCurrComponent)("el-select"),h(h(h({},d),l),e),{default:function(){return p(i,u)}})]}},ElCascader:{renderFormItemContent:t()},ElDatePicker:{renderFormItemContent:t()},ElTimePicker:{renderFormItemContent:t()},ElTimeSelect:{renderFormItemContent:t()},ElRate:{renderFormItemContent:t()},ElSwitch:{renderFormItemContent:t()},ElSlider:{renderFormItemContent:t()},ElRadioGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-radio-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-radio"),{key:t,value:e[u],disabled:e.disabled},{default:function(){return m(e[a])}})})}})]}},ElCheckboxGroup:{renderFormItemContent:function(e,t){var n=e.options,r=void 0===n?[]:n,n=e.optionProps,n=void 0===n?{}:n,o=e.attrs,i=t.data,a=n.label||"label",u=n.value||"value",n=v.default.get(i,t.field);return[(0,s.h)((0,g.getCurrComponent)("el-checkbox-group"),h(h(h({},o),c(e,0,n)),f(e,t)),{default:function(){return r.map(function(e,t){return(0,s.h)((0,g.getCurrComponent)("el-checkbox"),{key:t,value:e[u],label:e[a],disabled:e.disabled})})}})]}},ElButton:{renderFormItemContent:n},ElRadio:{renderFormItemContent:r()},ElCheckbox:{renderFormItemContent:r()},ElButtons:{renderFormItemContent:function(e,t){return(e=e.children)?e.map(function(e){return n(e,t)[0]}):[]}}})},s=t,g=c(),v=(e=i)&&e.__esModule?e:{default:e}),p;function r(e){return(r="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 o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function h(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){a(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function a(e,t,n){return(t=(e=>(e=((e,t)=>{if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);if("object"!=r(n=n.call(e,t)))return n;throw new TypeError("@@toPrimitive must return a primitive value.")})(e,"string"),"symbol"==r(e)?e:e+""))(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}}var m,s={},g={};function A(){var l,d;return m||(m=1,Object.defineProperty(g,"__esModule",{value:!0}),g.createWidgetElInput=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(n){var r=u.getComponent("VxeForm"),o=u.getComponent("VxeFormItem"),i=u.getComponent("VxeSwitch");return function(){var t=n.renderParams.widget,e=t.options;return(0,l.h)(r,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:e},{default:function(){return[(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(o,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(i,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputConfig:function(e){return{title:"输入框",icon:"vxe-icon-input",options:{placeholder:"请输入"}}},WidgetElInputFormComponent:e,WidgetElInputViewComponent:t}},l=t,d=c()),g}var v,h={};function q(){var l,d;return v||(v=1,Object.defineProperty(h,"__esModule",{value:!0}),h.createWidgetElTextarea=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,type:"textarea",autosize:{minRows:2,maxRows:4},onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElTextareaConfig:function(e){return{title:"文本域",icon:"vxe-icon-textarea",options:{placeholder:"请输入"}}},WidgetElTextareaFormComponent:e,WidgetElTextareaViewComponent:t}},l=t,d=c()),h}var b,C={};function N(){var l,d;return b||(b=1,Object.defineProperty(C,"__esModule",{value:!0}),C.createWidgetElInputNumber=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input-number"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElInputNumberConfig:function(e){return{title:"数字",icon:"vxe-icon-number",options:{placeholder:"请输入"}}},WidgetElInputNumberFormComponent:e,WidgetElInputNumberViewComponent:t}},l=t,d=c()),C}var w,E={};function $(){var l,d;return w||(w=1,Object.defineProperty(E,"__esModule",{value:!0}),E.createWidgetElDatePicker=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElDatePicker"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-date-picker"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElDatePickerConfig:function(e){return{title:"日期",icon:"vxe-icon-input",options:{placeholder:"请选择"}}},WidgetElDatePickerFormComponent:e,WidgetElDatePickerViewComponent:t}},l=t,d=c()),E}var V,P,y={},x={};function I(){var h;return V||(V=1,Object.defineProperty(x,"__esModule",{value:!0}),x.useWidgetPropDataSource=function(u,a,l){function e(){var e=a.renderParams.widget,t=e.options.options||[];t.push({value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=(e=>{if(Array.isArray(e))return b(e)})(e=t)||(e=>{if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)})(e)||((e,t)=>{var n;if(e)return"string"==typeof e?b(e,t):"Map"===(n="Object"===(n={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?b(e,t):void 0})(e)||(()=>{throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")})()}function r(){var e=a.renderParams.widget,r=[],o=f.value.split("\n"),i=null;l?o.forEach(function(e,t){var t=o[t+1],n=e.trim();if(n){n={value:n};if(i){if(s(e))return void i.options.push(n);i=null}r.push(n),t&&s(t)&&(i=Object.assign(n,{options:[]}))}}):o.forEach(function(e){r.push({value:e.trim()})}),e.options.options=r,g()}function t(){var e,t=a.renderParams.widget,n=[];null!=(e=t.options.options)&&e.forEach(function(e){n.push(e.value),null!=(e=e.options)&&e.forEach(function(e){n.push("\t".concat(e.value))})}),f.value=n.join("\n"),u.modal.open({title:"".concat(t.title," - ").concat(u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption")),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:u.getI18n("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:r,slots:{default:function(){return(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,h.h)(i,{status:"primary",title:"",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(l?"batchEditSubTip":"batchEditTip"))}),(0,h.h)(o,{resize:"none",modelValue:f.value,"onUpdate:modelValue":function(e){f.value=e}})])}}})}function d(t,e,n,r,o,i,a){return(0,h.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":i,"is--last":a}]},[(0,h.h)("div",{class:"vxe-form-design--widget-expand-btn"},e&&o?[(0,h.h)("i",{class:n?u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:u.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick:function(){v(t,r)}})]:[]),(0,h.h)("input",{class:"vxe-default-input",value:t.value,onInput:function(e){t.value=e.currentTarget.value}}),(0,h.h)(c,{status:"danger",mode:"text",icon:u.getIcon().FORM_DESIGN_WIDGET_DELETE})])}var n=u.getComponent("VxeFormItem"),c=u.getComponent("VxeButton"),o=u.getComponent("VxeTextarea"),i=u.getComponent("VxeTip"),f=(0,h.ref)(""),p=(0,h.ref)([]),m=/^(\s|\t)+/,s=function(e){return m.test(e)},g=function(){var e=a.renderParams.widget.options.options||[],n=[];e.forEach(function(e,t){e=e.options;e&&e.length&&n.push(t)}),p.value=n},v=function(e,t){p.value.includes(t)?p.value=p.value.filter(function(e){return e!==t}):p.value.push(t)};return(0,h.watch)(function(){return a.renderParams.widget},function(){g()}),(0,h.onMounted)(function(){g()}),{renderDataSourceFormItem:function(){return(0,h.h)(n,{title:u.getI18n("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default:function(){return[(0,h.h)("div",{},[(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:e}),(0,h.h)(c,{status:"primary",mode:"text",content:u.getI18n("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:t})]),(0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source"},(o=a.renderParams.widget.options.options,i=[],o&&o.forEach(function(e,t){var n=e.options,r=p.value.includes(t);n&&n.length?(i.push(d(e,!0,r,t,!0,0===t,t===o.length-1)),r&&i.push((0,h.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},n.map(function(e){return d(e,!1,r,0,!1,!1,!1)})))):i.push(d(e,!0,r,t,!1,0===t,t===o.length-1))}),i))];var o,i}})}}},h=t),x;function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}}function B(){var l,a,d,n,e;return P||(P=1,Object.defineProperty(y,"__esModule",{value:!0}),y.createWidgetElSelect=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-select"),{modelValue:n?n.getItemValue(t):null,placeholder:r.placeholder,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e){return(0,l.h)((0,d.getCurrComponent)("el-option"),{label:e.value,value:e.value})}):[]}})}})}}});return{getWidgetElSelectConfig:function(e){return{title:"下拉框",icon:"vxe-icon-select",options:{placeholder:"请选择",options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElSelectFormComponent:e,WidgetElSelectViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),y}var O,F={};function G(){var l,a,d,n,e;return O||(O=1,Object.defineProperty(F,"__esModule",{value:!0}),F.createWidgetElRadio=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-radio-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-radio"),{key:t,value:e.value},{default:function(){return"".concat(e.value||"")}})}):[]}})}})}}});return{getWidgetElRadioConfig:function(e){return{title:"单选框",icon:"vxe-icon-radio-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElRadioFormComponent:e,WidgetElRadioViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),F}var H,D={};function L(){var l,a,d,n,e;return H||(H=1,Object.defineProperty(D,"__esModule",{value:!0}),D.createWidgetElCheckbox=function(u){var e=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=u.getComponent("VxeForm"),r=u.getComponent("VxeFormItem"),o=u.getComponent("VxeSwitch"),i=(0,a.useWidgetPropDataSource)(u,e,!1).renderDataSourceFormItem;return function(){var t=e.renderParams.widget;return(0,l.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,l.h)(r,{title:u.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,l.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}}),i()]}})}}}),t=(0,l.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(o){function i(){var e,t=o.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var a=u.getComponent("VxeFormItem");return function(){var e=o.renderParams,t=e.widget,n=e.$formView,r=t.options;return(0,l.h)(a,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,l.h)((0,d.getCurrComponent)("el-checkbox-group"),{modelValue:n?n.getItemValue(t):null,onChange:i,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}},{default:function(){return r.options?r.options.map(function(e,t){return(0,l.h)((0,d.getCurrComponent)("el-checkbox"),{key:t,value:e.value},{default:function(){return"".concat(e.value)}})}):[]}})}})}}});return{getWidgetElCheckboxConfig:function(e){return{title:"复选框",icon:"vxe-icon-checkbox-checked",options:{options:n.default.range(0,3).map(function(e,t){return{value:u.getI18n("vxe.formDesign.widgetProp.dataSource.defValue",[t+1])}})}}},WidgetElCheckboxFormComponent:e,WidgetElCheckboxViewComponent:t}},l=t,a=I(),d=c(),n=(e=i)&&e.__esModule?e:{default:e}),D}var z,X,W,J,K,Q,S,j,T,k={};function Z(){var u,l;return z||(z=1,Object.defineProperty(k,"__esModule",{value:!0}),k.createWidgetElSwitch=function(a){var e=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(e){var n=a.getComponent("VxeForm"),r=a.getComponent("VxeFormItem"),o=a.getComponent("VxeSwitch");return function(){var t=e.renderParams.widget;return(0,u.h)(n,{class:"vxe-form-design--widget-render-form-wrapper",vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default:function(){return[(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.name")},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-input"),{modelValue:t.title,"onUpdate:modelValue":function(e){t.title=e}})}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"ElInput"}}),(0,u.h)(r,{title:a.getI18n("vxe.formDesign.widgetProp.required")},{default:function(){return(0,u.h)(o,{modelValue:t.required,"onUpdate:modelValue":function(e){t.required=e}})}})]}})}}}),t=(0,u.defineComponent)({props:{renderOpts:{type:Object,default:function(){return{}}},renderParams:{type:Object,default:function(){return{}}}},emits:[],setup:function(r){function o(){var e,t=r.renderParams,n=t.widget;(t=t.$formView)&&(e=t?t.getItemValue(n):null,t.updateWidgetStatus(n,e))}var i=a.getComponent("VxeFormItem");return function(){var e=r.renderParams,t=e.widget,n=e.$formView;return(0,u.h)(i,{class:["vxe-form-design--widget-render-form-item"],field:t.field,title:t.title},{default:function(){return(0,u.h)((0,l.getCurrComponent)("el-switch"),{modelValue:n?n.getItemValue(t):null,onChange:o,"onUpdate:modelValue":function(e){n&&n.setItemValue(t,e)}})}})}}});return{getWidgetElSwitchConfig:function(e){return{title:"是/否",icon:"vxe-icon-switch",options:{}}},WidgetElSwitchFormComponent:e,WidgetElSwitchViewComponent:t}},u=t,l=c()),k}function ee(){var I,O,F,D,W,S,j,T,k;return X||(X=1,Object.defineProperty(s,"__esModule",{value:!0}),s.defineFormDesignRender=function(e){var t=(0,O.createWidgetElInput)(e),n=t.getWidgetElInputConfig,r=t.WidgetElInputViewComponent,o=t.WidgetElInputFormComponent,t=(0,F.createWidgetElTextarea)(e),i=t.getWidgetElTextareaConfig,a=t.WidgetElTextareaViewComponent,u=t.WidgetElTextareaFormComponent,t=(0,D.createWidgetElInputNumber)(e),l=t.getWidgetElInputNumberConfig,d=t.WidgetElInputNumberViewComponent,c=t.WidgetElInputNumberFormComponent,t=(0,W.createWidgetElDatePicker)(e),f=t.getWidgetElDatePickerConfig,p=t.WidgetElDatePickerViewComponent,m=t.WidgetElDatePickerFormComponent,t=(0,S.createWidgetElSelect)(e),s=t.getWidgetElSelectConfig,g=t.WidgetElSelectViewComponent,v=t.WidgetElSelectFormComponent,t=(0,j.createWidgetElRadio)(e),h=t.getWidgetElRadioConfig,b=t.WidgetElRadioViewComponent,C=t.WidgetElRadioFormComponent,t=(0,T.createWidgetElCheckbox)(e),w=t.getWidgetElCheckboxConfig,E=t.WidgetElCheckboxViewComponent,V=t.WidgetElCheckboxFormComponent,t=(0,k.createWidgetElSwitch)(e),P=t.getWidgetElSwitchConfig,y=t.WidgetElSwitchViewComponent,x=t.WidgetElSwitchFormComponent;e.renderer.mixin({ElInputWidget:{createFormDesignWidgetConfig:n,renderFormDesignWidgetView:function(e,t){return(0,I.h)(r,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(o,{renderOpts:e,renderParams:t})}},ElTextareaWidget:{createFormDesignWidgetConfig:i,renderFormDesignWidgetView:function(e,t){return(0,I.h)(a,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(u,{renderOpts:e,renderParams:t})}},ElNumberInputWidget:{createFormDesignWidgetConfig:l,renderFormDesignWidgetView:function(e,t){return(0,I.h)(d,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(c,{renderOpts:e,renderParams:t})}},ElDatePickerWidget:{createFormDesignWidgetConfig:f,renderFormDesignWidgetView:function(e,t){return(0,I.h)(p,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(m,{renderOpts:e,renderParams:t})}},ElSelectWidget:{createFormDesignWidgetConfig:s,renderFormDesignWidgetView:function(e,t){return(0,I.h)(g,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(v,{renderOpts:e,renderParams:t})}},ElRadioWidget:{createFormDesignWidgetConfig:h,renderFormDesignWidgetView:function(e,t){return(0,I.h)(b,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(C,{renderOpts:e,renderParams:t})}},ElCheckboxWidget:{createFormDesignWidgetConfig:w,createFormDesignWidgetFieldValue:function(){return[]},renderFormDesignWidgetView:function(e,t){return(0,I.h)(E,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(V,{renderOpts:e,renderParams:t})}},ElSwitchWidget:{createFormDesignWidgetConfig:P,renderFormDesignWidgetView:function(e,t){return(0,I.h)(y,{renderOpts:e,renderParams:t})},renderFormDesignWidgetFormView:function(e,t){return(0,I.h)(x,{renderOpts:e,renderParams:t})}}})},I=t,O=A(),F=q(),D=N(),W=$(),S=B(),j=G(),T=L(),k=Z()),s}function M(e,t,n){for(var r,o,i=(o=(e=e).target)&&o.shadowRoot&&e.composed&&e.composedPath()[0]||o,a=document.documentElement||document.querySelector("html");i&&i.nodeType&&i!==a;){if(n&&i.className&&i.className.split&&-1<i.className.split(" ").indexOf(n))r=i;else if(i===t)return{flag:!n||!!r,container:t,targetElem:r};i=i.parentElement}return{flag:!1}}return W||(W=1,W=r,Object.defineProperty(W,"__esModule",{value:!0}),W.default=W.VxeUIPluginRenderElement=void 0,J=Y(),K=U(),Q=ee(),S=d(),j=(T=i)&&T.__esModule?T:{default:T},T=W.VxeUIPluginRenderElement={component:function(e){var t,n;e&&e.name?(t=j.default.kebabCase(e.name),n=(n=j.default.camelCase(e.name))&&n.slice(0,1).toUpperCase()+n.slice(1),S.componentMaps[t]=e,S.componentMaps[n]=e):console.error("[@vxe-ui/plugin-render-element 4.3.0] error component.",e)},install:function(e,t){var r=Object.assign({},t);function n(e){var e=e.$event,t=document.body,n="".concat(r.prefixCls||"el").replace(/-$/,"");if(M(e,t,"".concat(n,"-autocomplete-suggestion")).flag||M(e,t,"".concat(n,"-select-dropdown")).flag||M(e,t,"".concat(n,"-cascader__dropdown")).flag||M(e,t,"".concat(n,"-cascader-menus")).flag||M(e,t,"".concat(n,"-time-panel")).flag||M(e,t,"".concat(n,"-picker-panel")).flag||M(e,t,"".concat(n,"-color-dropdown")).flag)return!1}t&&(t.ElementPlus,Object.assign(S.globalConfig,t)),e.checkVersion?e.checkVersion(e.tableVersion,4,11)||console.error("[@vxe-ui/plugin-render-element 4.3.0] ".concat(e.getI18n("vxe.error.errorVersion",["vxe-table@".concat(e.tableVersion||"?"),"vxe-table v".concat(4,".").concat(11,"+")])," https://vxeui.com/other4/#/plugin-render-element/install")):/^(4)\./.test(e.uiVersion||e.tableVersion)||console.error("[@vxe-ui/plugin-render-element 4.3.0] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install"),(0,J.defineTableRender)(e),(0,K.defineFormRender)(e),(0,Q.defineFormDesignRender)(e),e.interceptor.add("event.clearFilter",n),e.interceptor.add("event.clearEdit",n),e.interceptor.add("event.clearAreas",n),e.interceptor.add("event.clearActived",n)}},"undefined"!=typeof window&&(window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(T),window.ElementPlus)&&(S.globalConfig.ElementPlus=window.ElementPlus),W.default=T),_(r)});
{
"name": "@vxe-ui/plugin-render-element",
"version": "4.2.4",
"version": "4.3.0",
"description": "Vxe UI plug-in for compatibility with the element-plus component.",

@@ -11,15 +11,17 @@ "scripts": {

"dist",
"es",
"lib",
"src"
],
"main": "dist/index.common.js",
"unpkg": "dist/index.umd.js",
"jsdelivr": "dist/index.umd.js",
"style": "dist/style.css",
"main": "lib/index.common.js",
"module": "es/index.esm.js",
"unpkg": "lib/index.umd.js",
"jsdelivr": "lib/index.umd.js",
"style": "lib/style.css",
"typings": "types/index.d.ts",
"devDependencies": {
"@types/node": "20.10.0",
"@babel/core": "^7.12.3",
"@babel/plugin-transform-runtime": "^7.12.1",
"@babel/preset-env": "^7.12.1",
"@babel/runtime": "^7.12.5",
"@types/node": "20.14.8",
"@babel/core": "~7.28.6",
"@babel/preset-env": "~7.28.6",
"@babel/runtime": "~7.28.6",
"@rollup/plugin-commonjs": "^29.0.0",

@@ -58,10 +60,5 @@ "@typescript-eslint/eslint-plugin": "^4.6.1",

"vue": "3.4.27",
"vxe-pc-ui": "^4.11.0",
"vxe-table": "^4.17.0"
"vxe-pc-ui": "^4.12.0",
"vxe-table": "^4.17.42"
},
"browserify-shim": {
"vue": "global:Vue",
"xe-utils": "global:XEUtils",
"dayjs": "global:dayjs"
},
"repository": {

@@ -68,0 +65,0 @@ "type": "git",

@@ -5,3 +5,3 @@ import { h, ComponentOptions } from 'vue'

import type { VxeUIExport, VxeGlobalRendererHandles } from 'vxe-pc-ui'
import type { VxeUIExport, VxeGlobalRendererHandles, VxeFormConstructor, VxeFormPrivateMethods } from 'vxe-pc-ui'

@@ -83,3 +83,3 @@ /**

function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderOptions, params: any) {
function getItemOns (renderOpts: VxeGlobalRendererHandles.RenderFormItemContentOptions, params: any) {
const { $form, data, field } = params

@@ -92,2 +92,5 @@ return getOns(renderOpts, params, (value: any) => {

$form.updateStatus(params)
if (renderOpts.changeToSubmit) {
($form as VxeFormConstructor & VxeFormPrivateMethods).handleSubmitEvent(new Event('change'))
}
})

@@ -94,0 +97,0 @@ }

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElCheckbox = createWidgetElCheckbox;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElCheckbox(VxeUI) {
var getWidgetElCheckboxConfig = function getWidgetElCheckboxConfig(params) {
return {
title: '复选框',
icon: 'vxe-icon-checkbox-checked',
options: {
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElCheckboxFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElCheckboxViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item, index) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), {
key: index,
value: item.value
}, {
"default": function _default() {
return "".concat(item.value);
}
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElCheckboxConfig: getWidgetElCheckboxConfig,
WidgetElCheckboxFormComponent: WidgetElCheckboxFormComponent,
WidgetElCheckboxViewComponent: WidgetElCheckboxViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElDatePicker = createWidgetElDatePicker;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElDatePicker(VxeUI) {
var getWidgetElDatePickerConfig = function getWidgetElDatePickerConfig(params) {
return {
title: '日期',
icon: 'vxe-icon-input',
options: {
placeholder: '请选择'
}
};
};
var WidgetElDatePickerFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElDatePicker'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElDatePickerViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-date-picker'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElDatePickerConfig: getWidgetElDatePickerConfig,
WidgetElDatePickerFormComponent: WidgetElDatePickerFormComponent,
WidgetElDatePickerViewComponent: WidgetElDatePickerViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineFormDesignRender = defineFormDesignRender;
var _vue = require("vue");
var _inputWidget = require("./input-widget");
var _textareaWidget = require("./textarea-widget");
var _numberInputWidget = require("./number-input-widget");
var _datePickerWidget = require("./date-picker-widget");
var _selectWidget = require("./select-widget");
var _radioWidget = require("./radio-widget");
var _checkboxWidget = require("./checkbox-widget");
var _switchWidget = require("./switch-widget");
/**
* 表单设计器 - 渲染器
*/
function defineFormDesignRender(VxeUI) {
var _createWidgetElInput = (0, _inputWidget.createWidgetElInput)(VxeUI),
getWidgetElInputConfig = _createWidgetElInput.getWidgetElInputConfig,
WidgetElInputViewComponent = _createWidgetElInput.WidgetElInputViewComponent,
WidgetElInputFormComponent = _createWidgetElInput.WidgetElInputFormComponent;
var _createWidgetElTextar = (0, _textareaWidget.createWidgetElTextarea)(VxeUI),
getWidgetElTextareaConfig = _createWidgetElTextar.getWidgetElTextareaConfig,
WidgetElTextareaViewComponent = _createWidgetElTextar.WidgetElTextareaViewComponent,
WidgetElTextareaFormComponent = _createWidgetElTextar.WidgetElTextareaFormComponent;
var _createWidgetElInputN = (0, _numberInputWidget.createWidgetElInputNumber)(VxeUI),
getWidgetElInputNumberConfig = _createWidgetElInputN.getWidgetElInputNumberConfig,
WidgetElInputNumberViewComponent = _createWidgetElInputN.WidgetElInputNumberViewComponent,
WidgetElInputNumberFormComponent = _createWidgetElInputN.WidgetElInputNumberFormComponent;
var _createWidgetElDatePi = (0, _datePickerWidget.createWidgetElDatePicker)(VxeUI),
getWidgetElDatePickerConfig = _createWidgetElDatePi.getWidgetElDatePickerConfig,
WidgetElDatePickerViewComponent = _createWidgetElDatePi.WidgetElDatePickerViewComponent,
WidgetElDatePickerFormComponent = _createWidgetElDatePi.WidgetElDatePickerFormComponent;
var _createWidgetElSelect = (0, _selectWidget.createWidgetElSelect)(VxeUI),
getWidgetElSelectConfig = _createWidgetElSelect.getWidgetElSelectConfig,
WidgetElSelectViewComponent = _createWidgetElSelect.WidgetElSelectViewComponent,
WidgetElSelectFormComponent = _createWidgetElSelect.WidgetElSelectFormComponent;
var _createWidgetElRadio = (0, _radioWidget.createWidgetElRadio)(VxeUI),
getWidgetElRadioConfig = _createWidgetElRadio.getWidgetElRadioConfig,
WidgetElRadioViewComponent = _createWidgetElRadio.WidgetElRadioViewComponent,
WidgetElRadioFormComponent = _createWidgetElRadio.WidgetElRadioFormComponent;
var _createWidgetElCheckb = (0, _checkboxWidget.createWidgetElCheckbox)(VxeUI),
getWidgetElCheckboxConfig = _createWidgetElCheckb.getWidgetElCheckboxConfig,
WidgetElCheckboxViewComponent = _createWidgetElCheckb.WidgetElCheckboxViewComponent,
WidgetElCheckboxFormComponent = _createWidgetElCheckb.WidgetElCheckboxFormComponent;
var _createWidgetElSwitch = (0, _switchWidget.createWidgetElSwitch)(VxeUI),
getWidgetElSwitchConfig = _createWidgetElSwitch.getWidgetElSwitchConfig,
WidgetElSwitchViewComponent = _createWidgetElSwitch.WidgetElSwitchViewComponent,
WidgetElSwitchFormComponent = _createWidgetElSwitch.WidgetElSwitchFormComponent;
VxeUI.renderer.mixin({
ElInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElTextareaWidget: {
createFormDesignWidgetConfig: getWidgetElTextareaConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElTextareaViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElTextareaFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElNumberInputWidget: {
createFormDesignWidgetConfig: getWidgetElInputNumberConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputNumberViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElInputNumberFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElDatePickerWidget: {
createFormDesignWidgetConfig: getWidgetElDatePickerConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElDatePickerViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElDatePickerFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElSelectWidget: {
createFormDesignWidgetConfig: getWidgetElSelectConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSelectViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSelectFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElRadioWidget: {
createFormDesignWidgetConfig: getWidgetElRadioConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElRadioViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElRadioFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElCheckboxWidget: {
createFormDesignWidgetConfig: getWidgetElCheckboxConfig,
createFormDesignWidgetFieldValue: function createFormDesignWidgetFieldValue() {
return [];
},
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElCheckboxViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElCheckboxFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
},
ElSwitchWidget: {
createFormDesignWidgetConfig: getWidgetElSwitchConfig,
renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSwitchViewComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
},
renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
return (0, _vue.h)(WidgetElSwitchFormComponent, {
renderOpts: renderOpts,
renderParams: renderParams
});
}
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElInput = createWidgetElInput;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElInput(VxeUI) {
var getWidgetElInputConfig = function getWidgetElInputConfig(params) {
return {
title: '输入框',
icon: 'vxe-icon-input',
options: {
placeholder: '请输入'
}
};
};
var WidgetElInputFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElInputViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputConfig: getWidgetElInputConfig,
WidgetElInputFormComponent: WidgetElInputFormComponent,
WidgetElInputViewComponent: WidgetElInputViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElInputNumber = createWidgetElInputNumber;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElInputNumber(VxeUI) {
var getWidgetElInputNumberConfig = function getWidgetElInputNumberConfig(params) {
return {
title: '数字',
icon: 'vxe-icon-number',
options: {
placeholder: '请输入'
}
};
};
var WidgetElInputNumberFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElInputNumberViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input-number'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElInputNumberConfig: getWidgetElInputNumberConfig,
WidgetElInputNumberFormComponent: WidgetElInputNumberFormComponent,
WidgetElInputNumberViewComponent: WidgetElInputNumberViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElRadio = createWidgetElRadio;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElRadio(VxeUI) {
var getWidgetElRadioConfig = function getWidgetElRadioConfig(params) {
return {
title: '单选框',
icon: 'vxe-icon-radio-checked',
options: {
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElRadioFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElRadioViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item, index) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), {
key: index,
value: item.value
}, {
"default": function _default() {
return "".concat(item.value || '');
}
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElRadioConfig: getWidgetElRadioConfig,
WidgetElRadioFormComponent: WidgetElRadioFormComponent,
WidgetElRadioViewComponent: WidgetElRadioViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElSelect = createWidgetElSelect;
var _vue = require("vue");
var _use = require("./use");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function createWidgetElSelect(VxeUI) {
var getWidgetElSelectConfig = function getWidgetElSelectConfig(params) {
return {
title: '下拉框',
icon: 'vxe-icon-select',
options: {
placeholder: '请选择',
options: _xeUtils["default"].range(0, 3).map(function (v, i) {
return {
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [i + 1])
};
})
}
};
};
var WidgetElSelectFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
var _useWidgetPropDataSou = (0, _use.useWidgetPropDataSource)(VxeUI, props, false),
renderDataSourceFormItem = _useWidgetPropDataSou.renderDataSourceFormItem;
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
}), renderDataSourceFormItem()];
}
});
};
}
});
var WidgetElSelectViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
}, {
"default": function _default() {
return options.options ? options.options.map(function (item) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
label: item.value,
value: item.value
});
}) : [];
}
});
}
});
};
}
});
return {
getWidgetElSelectConfig: getWidgetElSelectConfig,
WidgetElSelectFormComponent: WidgetElSelectFormComponent,
WidgetElSelectViewComponent: WidgetElSelectViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElSwitch = createWidgetElSwitch;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElSwitch(VxeUI) {
var getWidgetElSwitchConfig = function getWidgetElSwitchConfig(params) {
return {
title: '是/否',
icon: 'vxe-icon-switch',
options: {}
};
};
var WidgetElSwitchFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElSwitchViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-switch'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElSwitchConfig: getWidgetElSwitchConfig,
WidgetElSwitchFormComponent: WidgetElSwitchFormComponent,
WidgetElSwitchViewComponent: WidgetElSwitchViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createWidgetElTextarea = createWidgetElTextarea;
var _vue = require("vue");
var _comp = require("../util/comp");
function createWidgetElTextarea(VxeUI) {
var getWidgetElTextareaConfig = function getWidgetElTextareaConfig(params) {
return {
title: '文本域',
icon: 'vxe-icon-textarea',
options: {
placeholder: '请输入'
}
};
};
var WidgetElTextareaFormComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget;
return (0, _vue.h)(VxeUIFormComponent, {
"class": 'vxe-form-design--widget-render-form-wrapper',
vertical: true,
span: 24,
titleBold: true,
titleOverflow: true,
data: widget.options
}, {
"default": function _default() {
return [(0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: widget.title,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.title = val;
}
});
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
field: 'placeholder',
itemRender: {
name: 'ElInput'
}
}), (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
}, {
"default": function _default() {
return (0, _vue.h)(VxeUISwitchComponent, {
modelValue: widget.required,
'onUpdate:modelValue': function onUpdateModelValue(val) {
widget.required = val;
}
});
}
})];
}
});
};
}
});
var WidgetElTextareaViewComponent = (0, _vue.defineComponent)({
props: {
renderOpts: {
type: Object,
"default": function _default() {
return {};
}
},
renderParams: {
type: Object,
"default": function _default() {
return {};
}
}
},
emits: [],
setup: function setup(props) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var changeEvent = function changeEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
if ($formView) {
var itemValue = $formView ? $formView.getItemValue(widget) : null;
$formView.updateWidgetStatus(widget, itemValue);
}
};
return function () {
var renderParams = props.renderParams;
var widget = renderParams.widget,
$formView = renderParams.$formView;
var options = widget.options;
return (0, _vue.h)(VxeUIFormItemComponent, {
"class": ['vxe-form-design--widget-render-form-item'],
field: widget.field,
title: widget.title
}, {
"default": function _default() {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-input'), {
modelValue: $formView ? $formView.getItemValue(widget) : null,
placeholder: options.placeholder,
type: 'textarea',
autosize: {
minRows: 2,
maxRows: 4
},
onChange: changeEvent,
'onUpdate:modelValue': function onUpdateModelValue(val) {
if ($formView) {
$formView.setItemValue(widget, val);
}
}
});
}
});
};
}
});
return {
getWidgetElTextareaConfig: getWidgetElTextareaConfig,
WidgetElTextareaFormComponent: WidgetElTextareaFormComponent,
WidgetElTextareaViewComponent: WidgetElTextareaViewComponent
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useWidgetPropDataSource = useWidgetPropDataSource;
var _vue = require("vue");
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function useWidgetPropDataSource(VxeUI, props, isSubOption) {
var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
var VxeUIButtonComponent = VxeUI.getComponent('VxeButton');
var VxeUITextareaComponent = VxeUI.getComponent('VxeTextarea');
var VxeUITipComponent = VxeUI.getComponent('VxeTip');
var optionsContent = (0, _vue.ref)('');
var expandIndexList = (0, _vue.ref)([]);
var addOptionEvent = function addOptionEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options.options || [];
options.push({
value: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.defValue', [options.length + 1])
});
widget.options.options = _toConsumableArray(options);
};
var subRE = /^(\s|\t)+/;
var hasSubOption = function hasSubOption(str) {
return subRE.test(str);
};
var expandAllOption = function expandAllOption() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options.options || [];
var indexList = [];
options.forEach(function (group, gIndex) {
var options = group.options;
if (options && options.length) {
indexList.push(gIndex);
}
});
expandIndexList.value = indexList;
};
var toggleExpandOption = function toggleExpandOption(item, gIndex) {
if (expandIndexList.value.includes(gIndex)) {
expandIndexList.value = expandIndexList.value.filter(function (num) {
return num !== gIndex;
});
} else {
expandIndexList.value.push(gIndex);
}
};
var confirmBatchAddOptionEvent = function confirmBatchAddOptionEvent() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var optList = [];
var rowList = optionsContent.value.split('\n');
var prevGroup = null;
if (isSubOption) {
rowList.forEach(function (str, index) {
var nextStr = rowList[index + 1];
var value = str.trim();
if (!value) {
return;
}
var item = {
value: value
};
if (prevGroup) {
if (hasSubOption(str)) {
prevGroup.options.push(item);
return;
}
prevGroup = null;
optList.push(item);
} else {
optList.push(item);
}
if (nextStr) {
if (hasSubOption(nextStr)) {
prevGroup = Object.assign(item, {
options: []
});
}
}
});
} else {
rowList.forEach(function (str) {
optList.push({
value: str.trim()
});
});
}
widget.options.options = optList;
expandAllOption();
};
var openPopupEditEvent = function openPopupEditEvent() {
var _widget$options$optio;
var renderParams = props.renderParams;
var widget = renderParams.widget;
var contList = [];
(_widget$options$optio = widget.options.options) === null || _widget$options$optio === void 0 || _widget$options$optio.forEach(function (group) {
var _group$options;
contList.push(group.value);
(_group$options = group.options) === null || _group$options === void 0 || _group$options.forEach(function (item) {
contList.push("\t".concat(item.value));
});
});
optionsContent.value = contList.join('\n');
VxeUI.modal.open({
title: "".concat(widget.title, " - ").concat(VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption')),
width: 500,
height: '50vh ',
resize: true,
showFooter: true,
showCancelButton: true,
showConfirmButton: true,
confirmButtonText: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.buildOption'),
onConfirm: confirmBatchAddOptionEvent,
slots: {
"default": function _default() {
return (0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source-popup'
}, [(0, _vue.h)(VxeUITipComponent, {
status: 'primary',
title: '',
content: VxeUI.getI18n("vxe.formDesign.widgetProp.dataSource.".concat(isSubOption ? 'batchEditSubTip' : 'batchEditTip'))
}), (0, _vue.h)(VxeUITextareaComponent, {
resize: 'none',
modelValue: optionsContent.value,
'onUpdate:modelValue': function onUpdateModelValue(val) {
optionsContent.value = val;
}
})]);
}
}
});
};
var renderOption = function renderOption(item, hasFirstLevel, isExpand, gIndex, hasSub, isFirst, isLast) {
return (0, _vue.h)('div', {
"class": ['vxe-form-design--widget-form-item-data-source-option', {
'is--first': isFirst,
'is--last': isLast
}]
}, [(0, _vue.h)('div', {
"class": 'vxe-form-design--widget-expand-btn'
}, hasFirstLevel && hasSub ? [(0, _vue.h)('i', {
"class": isExpand ? VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE : VxeUI.getIcon().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,
onClick: function onClick() {
toggleExpandOption(item, gIndex);
}
})] : []), (0, _vue.h)('input', {
"class": 'vxe-default-input',
value: item.value,
onInput: function onInput(evnt) {
item.value = evnt.currentTarget.value;
}
}), (0, _vue.h)(VxeUIButtonComponent, {
status: 'danger',
mode: 'text',
icon: VxeUI.getIcon().FORM_DESIGN_WIDGET_DELETE
})]);
};
var renderOptions = function renderOptions() {
var renderParams = props.renderParams;
var widget = renderParams.widget;
var options = widget.options;
var groups = options.options;
var optVNs = [];
if (groups) {
groups.forEach(function (group, gIndex) {
var options = group.options;
var isExpand = expandIndexList.value.includes(gIndex);
if (options && options.length) {
optVNs.push(renderOption(group, true, isExpand, gIndex, true, gIndex === 0, gIndex === groups.length - 1));
if (isExpand) {
optVNs.push((0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source-sub-option'
}, options.map(function (item) {
return renderOption(item, false, isExpand, 0, false, false, false);
})));
}
} else {
optVNs.push(renderOption(group, true, isExpand, gIndex, false, gIndex === 0, gIndex === groups.length - 1));
}
});
}
return optVNs;
};
(0, _vue.watch)(function () {
return props.renderParams.widget;
}, function () {
expandAllOption();
});
(0, _vue.onMounted)(function () {
expandAllOption();
});
return {
renderDataSourceFormItem: function renderDataSourceFormItem() {
return (0, _vue.h)(VxeUIFormItemComponent, {
title: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.name'),
field: 'options'
}, {
"default": function _default() {
return [(0, _vue.h)('div', {}, [(0, _vue.h)(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.addOption'),
onClick: addOptionEvent
}), (0, _vue.h)(VxeUIButtonComponent, {
status: 'primary',
mode: 'text',
content: VxeUI.getI18n('vxe.formDesign.widgetProp.dataSource.batchEditOption'),
onClick: openPopupEditEvent
})]), (0, _vue.h)('div', {
"class": 'vxe-form-design--widget-form-item-data-source'
}, renderOptions())];
}
});
}
};
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineFormRender = defineFormRender;
var _vue = require("vue");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* 表单 - 渲染器
*/
function defineFormRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
var type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function getItemProps(renderOpts, params, value, defaultProps) {
return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function getOns(renderOpts, params, inputFunc, changeFunc) {
var events = renderOpts.events;
var modelEvent = getModelEvent(renderOpts);
var changeEvent = getChangeEvent(renderOpts);
var isSameEvent = changeEvent === modelEvent;
var ons = {};
_xeUtils["default"].objectEach(events, function (func, key) {
ons[getOnName(key)] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
func.apply(void 0, [params].concat(args));
};
});
if (inputFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
inputFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
if (isSameEvent && changeFunc) {
changeFunc(targetEvnt);
}
};
}
if (!isSameEvent && changeFunc) {
ons[getOnName(changeEvent)] = function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
changeFunc.apply(void 0, args);
if (events && events[changeEvent]) {
events[changeEvent].apply(events, [params].concat(args));
}
};
}
return ons;
}
function getItemOns(renderOpts, params) {
var $form = params.$form,
data = params.data,
field = params.field;
return getOns(renderOpts, params, function (value) {
// 处理 model 值双向绑定
_xeUtils["default"].set(data, field, value);
}, function () {
// 处理 change 事件相关逻辑
$form.updateStatus(params);
});
}
function renderOptions(options, optionProps) {
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
return _xeUtils["default"].map(options, function (item, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createFormItemRender(defaultProps) {
return function (renderOpts, params) {
var data = params.data,
field = params.field;
var name = renderOpts.name;
var attrs = renderOpts.attrs;
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))];
};
}
function defaultButtonItemRender(renderOpts, params) {
var attrs = renderOpts.attrs;
var props = getItemProps(renderOpts, params, null);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getOns(renderOpts, params)), {
"default": function _default() {
return cellText(renderOpts.content || props.content);
}
})];
}
function defaultButtonsItemRender(renderOpts, params) {
var children = renderOpts.children;
if (children) {
return children.map(function (childRenderOpts) {
return defaultButtonItemRender(childRenderOpts, params)[0];
});
}
return [];
}
/**
* 已废弃
* @deprecated
*/
function createOldFormItemRadioAndCheckboxRender() {
return function (renderOpts, params) {
var name = renderOpts.name,
_renderOpts$options = renderOpts.options,
options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
_renderOpts$optionPro = renderOpts.optionProps,
optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)(name), {
key: oIndex,
label: option[valueProp],
disabled: option.disabled
}, {
"default": function _default() {
return cellText(option[labelProp]);
}
});
});
}
})];
};
}
VxeUI.renderer.mixin({
ElAutocomplete: {
renderFormItemContent: createFormItemRender()
},
ElInput: {
renderFormItemContent: createFormItemRender()
},
ElInputNumber: {
renderFormItemContent: createFormItemRender()
},
ElSelect: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options2 = renderOpts.options,
options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro2 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
_renderOpts$optionGro = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
var data = params.data,
field = params.field;
var attrs = renderOpts.attrs;
var itemValue = _xeUtils["default"].get(data, field);
var props = getItemProps(renderOpts, params, itemValue);
var ons = getItemOns(renderOpts, params);
if (optionGroups) {
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
label: group[groupLabel],
key: gIndex
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
})];
}
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return renderOptions(options, optionProps);
}
})];
}
},
ElCascader: {
renderFormItemContent: createFormItemRender()
},
ElDatePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimePicker: {
renderFormItemContent: createFormItemRender()
},
ElTimeSelect: {
renderFormItemContent: createFormItemRender()
},
ElRate: {
renderFormItemContent: createFormItemRender()
},
ElSwitch: {
renderFormItemContent: createFormItemRender()
},
ElSlider: {
renderFormItemContent: createFormItemRender()
},
ElRadioGroup: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options3 = renderOpts.options,
options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
_renderOpts$optionPro3 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-radio-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-radio'), {
key: oIndex,
value: option[valueProp],
disabled: option.disabled
}, {
"default": function _default() {
return cellText(option[labelProp]);
}
});
});
}
})];
}
},
ElCheckboxGroup: {
renderFormItemContent: function renderFormItemContent(renderOpts, params) {
var _renderOpts$options4 = renderOpts.options,
options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4,
_renderOpts$optionPro4 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4,
attrs = renderOpts.attrs;
var data = params.data,
field = params.field;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var itemValue = _xeUtils["default"].get(data, field);
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox-group'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
"default": function _default() {
return options.map(function (option, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-checkbox'), {
key: oIndex,
value: option[valueProp],
label: option[labelProp],
disabled: option.disabled
});
});
}
})];
}
},
ElButton: {
renderFormItemContent: defaultButtonItemRender
},
// 已废弃
ElRadio: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElCheckbox: {
renderFormItemContent: createOldFormItemRadioAndCheckboxRender()
},
ElButtons: {
renderFormItemContent: defaultButtonsItemRender
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.VxeUIPluginRenderElement = void 0;
var _table = require("./table");
var _form = require("./form");
var _formDesign = require("./form-design");
var _store = require("./store");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// eslint-disable-next-line no-unused-vars
var ElementPlus;
function getEventTarget(evnt) {
var target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
var targetElem;
var target = getEventTarget(evnt);
var rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
} else if (target === container) {
return {
flag: className ? !!targetElem : true,
container: container,
targetElem: targetElem
};
}
target = target.parentElement;
}
return {
flag: false
};
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
component: function component(comp) {
if (comp && comp.name) {
var kcName = _xeUtils["default"].kebabCase(comp.name);
var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name));
_store.componentMaps[kcName] = comp;
_store.componentMaps[ccName] = comp;
} else {
console.error('[@vxe-ui/plugin-render-element 4.2.4] error component.', comp);
}
},
install: function install(VxeUI, options) {
var pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(_store.globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
var pVersion = 4;
var sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install"));
}
} else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
var $event = params.$event;
var bodyElem = document.body;
var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag ||
// 级联
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag ||
// 日期
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag ||
// 颜色
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) {
return false;
}
}
(0, _table.defineTableRender)(VxeUI);
(0, _form.defineFormRender)(VxeUI);
(0, _formDesign.defineFormDesignRender)(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
_store.globalConfig.ElementPlus = window.ElementPlus;
}
}
var _default = exports["default"] = VxeUIPluginRenderElement;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exports.VxeUIPluginRenderElement = void 0;
var _table = require("./table");
var _form = require("./form");
var _formDesign = require("./form-design");
var _store = require("./store");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// eslint-disable-next-line no-unused-vars
var ElementPlus;
function getEventTarget(evnt) {
var target = evnt.target;
if (target && target.shadowRoot && evnt.composed) {
return evnt.composedPath()[0] || target;
}
return target;
}
/**
* 检查触发源是否属于目标节点
*/
function getEventTargetNode(evnt, container, className) {
var targetElem;
var target = getEventTarget(evnt);
var rootEl = document.documentElement || document.querySelector('html');
while (target && target.nodeType && target !== rootEl) {
if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
targetElem = target;
} else if (target === container) {
return {
flag: className ? !!targetElem : true,
container: container,
targetElem: targetElem
};
}
target = target.parentElement;
}
return {
flag: false
};
}
function toComponentName(name) {
if (name) {
return name.slice(0, 1).toUpperCase() + name.slice(1);
}
return name;
}
var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
component: function component(comp) {
if (comp && comp.name) {
var kcName = _xeUtils["default"].kebabCase(comp.name);
var ccName = toComponentName(_xeUtils["default"].camelCase(comp.name));
_store.componentMaps[kcName] = comp;
_store.componentMaps[ccName] = comp;
} else {
console.error('[@vxe-ui/plugin-render-element 4.2.4] error component.', comp);
}
},
install: function install(VxeUI, options) {
var pluginOpts = Object.assign({}, options);
if (options) {
ElementPlus = options.ElementPlus;
Object.assign(_store.globalConfig, options);
}
// 检查版本
if (VxeUI.checkVersion) {
var pVersion = 4;
var sVersion = 11;
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
console.error("[@vxe-ui/plugin-render-element 4.2.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")]), " https://vxeui.com/other4/#/plugin-render-element/install"));
}
} else {
if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
console.error('[@vxe-ui/plugin-render-element 4.2.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
}
}
/**
* 事件兼容性处理
*/
function handleClearEvent(params) {
var $event = params.$event;
var bodyElem = document.body;
var prefixCls = "".concat(pluginOpts.prefixCls || 'el').replace(/-$/, '');
if (
// 远程搜索
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-autocomplete-suggestion")).flag ||
// 下拉框
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-select-dropdown")).flag ||
// 级联
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader__dropdown")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-cascader-menus")).flag ||
// 日期
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-time-panel")).flag || getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-picker-panel")).flag ||
// 颜色
getEventTargetNode($event, bodyElem, "".concat(prefixCls, "-color-dropdown")).flag) {
return false;
}
}
(0, _table.defineTableRender)(VxeUI);
(0, _form.defineFormRender)(VxeUI);
(0, _formDesign.defineFormDesignRender)(VxeUI);
VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
// 兼容老版本
VxeUI.interceptor.add('event.clearActived', handleClearEvent);
}
};
if (typeof window !== 'undefined') {
if (window.VxeUI && window.VxeUI.use) {
window.VxeUI.use(VxeUIPluginRenderElement);
}
if (window.ElementPlus) {
_store.globalConfig.ElementPlus = window.ElementPlus;
}
}
var _default = exports["default"] = VxeUIPluginRenderElement;
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.globalConfig = exports.componentMaps = void 0;
var globalConfig = exports.globalConfig = {};
var componentMaps = exports.componentMaps = {};
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.defineTableRender = defineTableRender;
var _vue = require("vue");
var _comp = require("../util/comp");
var _xeUtils = _interopRequireDefault(require("xe-utils"));
var _dayjs = _interopRequireDefault(require("dayjs"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
/**
* 表格 - 渲染器
*/
function defineTableRender(VxeUI) {
function isEmptyValue(cellValue) {
return cellValue === null || cellValue === undefined || cellValue === '';
}
function getOnName(type) {
return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
}
function getModelProp(renderOpts) {
return 'modelValue';
}
function getModelEvent(renderOpts) {
return 'update:modelValue';
}
function getChangeEvent(renderOpts) {
var type = 'change';
switch (renderOpts.name) {
case 'ElAutocomplete':
type = 'select';
break;
case 'ElInput':
case 'ElInputNumber':
type = 'input';
break;
}
return type;
}
function toDayStringDate(value, format) {
return (0, _dayjs["default"])(value, format).toDate();
}
function toDayDateString(date, format) {
return (0, _dayjs["default"])(date).format(format);
}
function parseDate(value, props) {
return value && props.valueFormat ? toDayStringDate(value, props.valueFormat) : value;
}
function getFormatDate(value, props, defaultFormat) {
return value ? toDayDateString(parseDate(value, props), props.format || props.valueFormat || defaultFormat) : value;
}
function getFormatDates(values, props, separator, defaultFormat) {
return _xeUtils["default"].map(values, function (date) {
return getFormatDate(date, props, defaultFormat);
}).join(separator);
}
function equalDateRange(cellValue, data, props, defaultFormat) {
cellValue = getFormatDate(cellValue, props, defaultFormat);
return cellValue >= getFormatDate(data[0], props, defaultFormat) && cellValue <= getFormatDate(data[1], props, defaultFormat);
}
function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
}
function formatText(cellValue) {
return '' + (isEmptyValue(cellValue) ? '' : cellValue);
}
function updateFilterChangeOption(params, checked, option) {
var $table = params.$table;
$table.updateFilterOptionStatus(option, checked);
}
function saveFilterEvent(params) {
var $table = params.$table,
column = params.column;
$table.saveFilterByEvent(new Event('change'), column);
}
function getCellLabelVNs(renderOpts, params, cellLabel) {
var placeholder = renderOpts.placeholder;
return [(0, _vue.h)('span', {
"class": 'vxe-cell--label'
}, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', {
"class": 'vxe-cell--placeholder'
}, formatText(VxeUI.getI18n(placeholder)))] : formatText(cellLabel))];
}
var blurEvent = 'blur';
var clearEvent = 'clear';
/**
* 组件事件处理
* @param renderOpts
* @param params
* @param modelFunc
* @param changeFunc
*/
function getComponentOns(renderOpts, params, eFns, eventOns) {
var events = renderOpts.events;
var modelEvent = getModelEvent(renderOpts);
var changeEvent = getChangeEvent(renderOpts);
var _ref = eFns || {},
modelFunc = _ref.model,
changeFunc = _ref.change,
blurFunc = _ref.blur,
clearFunc = _ref.clear;
var ons = {};
_xeUtils["default"].objectEach(events, function (func, key) {
ons[getOnName(key)] = function () {
if (!_xeUtils["default"].isFunction(func)) {
console.error("Parameter \"".concat(func, "\" is not a method"));
}
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
func.apply(void 0, [params].concat(args));
};
});
if (modelFunc) {
ons[getOnName(modelEvent)] = function (targetEvnt) {
modelFunc(targetEvnt);
if (events && events[modelEvent]) {
events[modelEvent](params, targetEvnt);
}
};
}
if (changeFunc) {
ons[getOnName(changeEvent)] = function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
changeFunc.apply(void 0, args);
if (events && events[changeEvent]) {
events[changeEvent].apply(events, [params].concat(args));
}
};
}
if (blurFunc) {
ons[getOnName(blurEvent)] = function () {
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
blurFunc.apply(void 0, args);
if (events && events[blurEvent]) {
events[blurEvent].apply(events, [params].concat(args));
}
};
}
if (clearFunc) {
ons[getOnName(clearEvent)] = function () {
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}
clearFunc.apply(void 0, args);
if (events && events[clearEvent]) {
events[clearEvent].apply(events, [params].concat(args));
}
};
}
return eventOns ? Object.assign(ons, eventOns) : ons;
}
function getEditOns(renderOpts, params) {
var $table = params.$table,
row = params.row,
column = params.column;
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
_xeUtils["default"].set(row, column.field, value);
},
change: function change() {
// 处理 change 事件相关逻辑
$table.updateStatus(params);
}
});
}
function getFilterOns(renderOpts, params, option, changeFunc) {
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change: changeFunc
});
}
function getFloatingFilterOns(renderOpts, params, option) {
var $table = params.$table,
column = params.column;
if ((0, _comp.hasInputType)(renderOpts)) {
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
change: function change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
},
clear: function clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
saveFilterEvent(params);
},
blur: function blur() {
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
return getComponentOns(renderOpts, params, {
model: function model(value) {
// 处理 model 值双向绑定
option.data = value;
},
clear: function clear() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
},
change: function change() {
updateFilterChangeOption(params, !isEmptyValue(option.data), option);
$table.saveFilterByEvent(new Event('change'), column);
}
});
}
function matchCascaderData(index, list, values, labels) {
var val = values[index];
if (list && values.length > index) {
_xeUtils["default"].each(list, function (item) {
if (item.value === val) {
labels.push(item.label);
matchCascaderData(++index, item.children, values, labels);
}
});
}
}
function getSelectCellValue(renderOpts, params) {
var _renderOpts$options = renderOpts.options,
options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
optionGroups = renderOpts.optionGroups,
_renderOpts$props = renderOpts.props,
props = _renderOpts$props === void 0 ? {} : _renderOpts$props,
_renderOpts$optionPro = renderOpts.optionProps,
optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
_renderOpts$optionGro = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
var $table = params.$table,
rowid = params.rowid,
row = params.row,
column = params.column;
var filterable = props.filterable,
multiple = props.multiple;
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
var groupOptions = optionGroupProps.options || 'options';
var cellValue = _xeUtils["default"].get(row, column.field);
var colid = column.id;
var cellData;
if (filterable) {
var internalData = $table.internalData;
var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
var rest = fullAllDataRowIdData[rowid];
if (rest) {
cellData = rest.cellData;
if (!cellData) {
cellData = rest.cellData = {};
}
}
if (rest && cellData[colid] && cellData[colid].value === cellValue) {
return cellData[colid].label;
}
}
if (!isEmptyValue(cellValue)) {
var selectlabel = _xeUtils["default"].map(multiple ? cellValue : [cellValue], optionGroups ? function (value) {
var selectItem;
for (var index = 0; index < optionGroups.length; index++) {
selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) {
return item[valueProp] === value;
});
if (selectItem) {
break;
}
}
return selectItem ? selectItem[labelProp] : value;
} : function (value) {
var selectItem = _xeUtils["default"].find(options, function (item) {
return item[valueProp] === value;
});
return selectItem ? selectItem[labelProp] : value;
}).join(', ');
if (cellData && options && options.length) {
cellData[colid] = {
value: cellValue,
label: selectlabel
};
}
return selectlabel;
}
return '';
}
function getCascaderCellValue(renderOpts, params) {
var _renderOpts$props2 = renderOpts.props,
props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2;
var row = params.row,
column = params.column;
var cellValue = _xeUtils["default"].get(row, column.field);
var values = cellValue || [];
var labels = [];
matchCascaderData(0, props.options, values, labels);
return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " "));
}
function getDatePickerCellValue(renderOpts, params) {
var _renderOpts$props3 = renderOpts.props,
props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3;
var row = params.row,
column = params.column;
var _props$rangeSeparator = props.rangeSeparator,
rangeSeparator = _props$rangeSeparator === void 0 ? '-' : _props$rangeSeparator;
var cellValue = _xeUtils["default"].get(row, column.field);
switch (props.type) {
case 'week':
cellValue = getFormatDate(cellValue, props, 'YYYYwWW');
break;
case 'month':
cellValue = getFormatDate(cellValue, props, 'YYYY-MM');
break;
case 'year':
cellValue = getFormatDate(cellValue, props, 'YYYY');
break;
case 'dates':
cellValue = getFormatDates(cellValue, props, ', ', 'YYYY-MM-DD');
break;
case 'daterange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD');
break;
case 'datetimerange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM-DD HH:ss:mm');
break;
case 'monthrange':
cellValue = getFormatDates(cellValue, props, " ".concat(rangeSeparator, " "), 'YYYY-MM');
break;
default:
cellValue = getFormatDate(cellValue, props, 'YYYY-MM-DD');
}
return cellValue;
}
function getTimePickerCellValue(renderOpts, params) {
var _renderOpts$props4 = renderOpts.props,
props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4;
var row = params.row,
column = params.column;
var isRange = props.isRange,
_props$format = props.format,
format = _props$format === void 0 ? 'HH:mm:ss' : _props$format,
_props$rangeSeparator2 = props.rangeSeparator,
rangeSeparator = _props$rangeSeparator2 === void 0 ? '-' : _props$rangeSeparator2;
var cellValue = _xeUtils["default"].get(row, column.field);
if (cellValue && isRange) {
cellValue = _xeUtils["default"].map(cellValue, function (date) {
return toDayDateString(parseDate(date, props), format);
}).join(" ".concat(rangeSeparator, " "));
}
return toDayDateString(parseDate(cellValue, props), format);
}
function createEditRender(defaultProps) {
return function (renderOpts, params) {
var row = params.row,
column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
var cellValue = _xeUtils["default"].get(row, column.field);
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))];
};
}
function defaultButtonEditRender(renderOpts, params) {
var attrs = renderOpts.attrs,
props = renderOpts.props;
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-button'), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, null)), getComponentOns(renderOpts, params)), cellText(renderOpts.content))];
}
function defaultButtonsEditRender(renderOpts, params) {
var children = renderOpts.children;
if (children) {
return children.map(function (childRenderOpts) {
return defaultButtonEditRender(childRenderOpts, params)[0];
});
}
return [];
}
function createFilterRender(defaultProps) {
return function (renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))];
};
}
function createFloatingFilterRender(defaultProps) {
return function (renderOpts, params) {
var option = params.option;
var name = renderOpts.name,
attrs = renderOpts.attrs,
props = renderOpts.props;
var optionValue = option.data;
return [(0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, attrs), props), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFloatingFilterOns(renderOpts, params, option)))];
};
}
function handleConfirmFilter(params, checked, option) {
var $panel = params.$panel;
$panel.changeOption(null, checked, option);
}
/**
* 模糊匹配
* @param params
*/
function defaultFuzzyFilterMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var cellValue = _xeUtils["default"].get(row, column.field);
return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1;
}
/**
* 精确匹配
* @param params
*/
function defaultExactFilterMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var cellValue = _xeUtils["default"].get(row, column.field);
/* eslint-disable eqeqeq */
return cellValue === data;
}
function renderOptions(options, optionProps) {
var labelProp = optionProps.label || 'label';
var valueProp = optionProps.value || 'value';
return _xeUtils["default"].map(options, function (item, oIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option'), {
key: oIndex,
value: item[valueProp],
label: item[labelProp],
disabled: item.disabled
});
});
}
function cellText(cellValue) {
return [formatText(cellValue)];
}
function createExportMethod(getExportCellValue) {
return function (params) {
var row = params.row,
column = params.column,
options = params.options;
return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params);
};
}
function defaultFilterOptions() {
return [{
data: null
}];
}
VxeUI.renderer.mixin({
ElAutocomplete: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElInput: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElInputNumber: {
tableAutoFocus: 'input',
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: defaultFuzzyFilterMethod
},
ElSelect: {
tableAutoFocus: 'input',
renderTableEdit: function renderTableEdit(renderOpts, params) {
var _renderOpts$options2 = renderOpts.options,
options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro2 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
_renderOpts$optionGro2 = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
var row = params.row,
column = params.column;
var attrs = renderOpts.attrs;
var cellValue = _xeUtils["default"].get(row, column.field);
var props = getCellEditFilterProps(renderOpts, params, cellValue);
var ons = getEditOns(renderOpts, params);
if (optionGroups) {
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
})];
}
return [(0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), {
"default": function _default() {
return renderOptions(options, optionProps);
}
})];
},
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: function renderTableFilter(renderOpts, params) {
var _renderOpts$options3 = renderOpts.options,
options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
optionGroups = renderOpts.optionGroups,
_renderOpts$optionPro3 = renderOpts.optionProps,
optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
_renderOpts$optionGro3 = renderOpts.optionGroupProps,
optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
var groupOptions = optionGroupProps.options || 'options';
var groupLabel = optionGroupProps.label || 'label';
var column = params.column;
var attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, optionGroups ? column.filters.map(function (option, oIndex) {
var optionValue = option.data;
var props = getCellEditFilterProps(renderOpts, params, optionValue);
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
})), {
"default": function _default() {
return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
return (0, _vue.h)((0, _comp.getCurrComponent)('el-option-group'), {
key: gIndex,
label: group[groupLabel]
}, {
"default": function _default() {
return renderOptions(group[groupOptions], optionProps);
}
});
});
}
});
}) : column.filters.map(function (option, oIndex) {
var optionValue = option.data;
var props = getCellEditFilterProps(renderOpts, params, optionValue);
return (0, _vue.h)((0, _comp.getCurrComponent)('el-select'), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), props), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, props.multiple ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
})), {
"default": function _default() {
return renderOptions(options, optionProps);
}
});
}))];
},
tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var field = column.field,
renderOpts = column.filterRender;
var _renderOpts$props5 = renderOpts.props,
props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5;
var cellValue = _xeUtils["default"].get(row, field);
if (props.multiple) {
if (_xeUtils["default"].isArray(cellValue)) {
return _xeUtils["default"].includeArrays(cellValue, data);
}
return data.indexOf(cellValue) > -1;
}
/* eslint-disable eqeqeq */
return cellValue == data;
},
tableExportMethod: createExportMethod(getSelectCellValue)
},
ElCascader: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getCascaderCellValue)
},
ElDatePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params));
},
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: function renderTableFilter(renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, !!option.data, option);
})));
}))];
},
renderTableFloatingFilter: createFloatingFilterRender(),
tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
var option = params.option,
row = params.row,
column = params.column;
var data = option.data;
var renderOpts = column.filterRender;
var _renderOpts$props6 = renderOpts.props,
props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6;
var cellValue = _xeUtils["default"].get(row, column.field);
if (data) {
switch (props.type) {
case 'daterange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD');
case 'datetimerange':
return equalDateRange(cellValue, data, props, 'YYYY-MM-DD HH:ss:mm');
case 'monthrange':
return equalDateRange(cellValue, data, props, 'YYYY-MM');
default:
return cellValue === data;
}
}
return false;
},
tableExportMethod: createExportMethod(getDatePickerCellValue)
},
ElTimePicker: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender(),
renderTableCell: function renderTableCell(renderOpts, params) {
return getCellLabelVNs(renderOpts, params, getTimePickerCellValue(renderOpts, params));
},
tableExportMethod: createExportMethod(getTimePickerCellValue)
},
ElTimeSelect: {
tableAutoFocus: 'input',
renderTableEdit: createEditRender()
},
ElRate: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSwitch: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
renderTableFilter: function renderTableFilter(renderOpts, params) {
var column = params.column;
var name = renderOpts.name,
attrs = renderOpts.attrs;
return [(0, _vue.h)('div', {
"class": 'vxe-table--filter-element-wrapper'
}, column.filters.map(function (option, oIndex) {
var optionValue = option.data;
return (0, _vue.h)((0, _comp.getCurrComponent)(name), _objectSpread(_objectSpread(_objectSpread({
key: oIndex
}, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
// 处理 change 事件相关逻辑
handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option);
})));
}))];
},
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElSlider: {
renderTableDefault: createEditRender(),
renderTableEdit: createEditRender(),
createTableFilterOptions: defaultFilterOptions,
renderTableFilter: createFilterRender(),
tableFilterDefaultMethod: defaultExactFilterMethod
},
ElButton: {
renderTableDefault: defaultButtonEditRender
},
ElButtons: {
renderTableDefault: defaultButtonsEditRender
}
});
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getCurrComponent = getCurrComponent;
exports.hasInputType = hasInputType;
var _vue = require("vue");
var _store = require("../store");
function getCurrComponent(name) {
var comp = _store.componentMaps[name] || (_store.globalConfig.ElementPlus ? _store.globalConfig.ElementPlus[name] : null);
if (comp) {
return comp;
}
return (0, _vue.resolveComponent)(name);
}
function hasInputType(renderOpts) {
switch (renderOpts.name) {
case 'ElInput':
case 'ElInputNumber':
case 'ElTextarea':
return true;
}
return false;
}

Sorry, the diff of this file is too big to display