@vxe-ui/plugin-render-antd 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,711 +1,1069 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define("@vxe-ui/plugin-render-antd", ["exports", "vue", "xe-utils"], factory);
3
+ define("@vxe-ui/plugin-render-antd", [], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("vue"), require("xe-utils"));
5
+ factory();
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.Vue, global.XEUtils);
11
- global.VXETablePluginExportXLSX = mod.exports;
10
+ factory();
11
+ global.VxeUIPluginRenderAntd = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _vue, _xeUtils) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function () {
14
14
  "use strict";
15
15
 
16
- Object.defineProperty(_exports, "__esModule", {
17
- value: true
18
- });
19
- _exports["default"] = _exports.VxeUIPluginRenderAntd = void 0;
20
- _xeUtils = _interopRequireDefault(_xeUtils);
21
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
22
- 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); }
23
- 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; }
24
- 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; }
25
- 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; }
26
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
27
- 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); }
28
- var VxeUI;
29
- // eslint-disable-next-line no-unused-vars
30
- var Antd;
31
- function isEmptyValue(cellValue) {
32
- return cellValue === null || cellValue === undefined || cellValue === '';
33
- }
34
- function getOnName(type) {
35
- return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
36
- }
37
- function getModelProp(renderOpts) {
38
- var prop = 'value';
39
- switch (renderOpts.name) {
40
- case 'ASwitch':
41
- prop = 'checked';
42
- break;
43
- }
44
- return prop;
45
- }
46
- function getModelEvent(renderOpts) {
47
- var type = 'update:value';
48
- switch (renderOpts.name) {
49
- case 'ASwitch':
50
- type = 'update:checked';
51
- break;
52
- }
53
- return type;
54
- }
55
- function dateFormatToVxeFormat(format) {
56
- if (format) {
57
- return "".concat(format).replace('YYYY', 'yyyy').replace('DD', 'dd');
58
- }
59
- return format;
60
- }
61
- function getChangeEvent(renderOpts) {
62
- return 'change';
63
- }
64
- function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
65
- return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
66
- }
67
- function getItemProps(renderOpts, params, value, defaultProps) {
68
- return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
69
- }
70
- function formatText(cellValue) {
71
- return '' + (isEmptyValue(cellValue) ? '' : cellValue);
72
- }
73
- function getCellLabelVNs(renderOpts, params, cellLabel) {
74
- var placeholder = renderOpts.placeholder;
75
- return [(0, _vue.h)('span', {
76
- "class": 'vxe-cell--label'
77
- }, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', {
78
- "class": 'vxe-cell--placeholder'
79
- }, formatText(placeholder))] : formatText(cellLabel))];
80
- }
81
- function getOns(renderOpts, params, inputFunc, changeFunc) {
82
- var events = renderOpts.events;
83
- var modelEvent = getModelEvent(renderOpts);
84
- var changeEvent = getChangeEvent(renderOpts);
85
- var isSameEvent = changeEvent === modelEvent;
86
- var ons = {};
87
- _xeUtils["default"].objectEach(events, function (func, key) {
88
- ons[getOnName(key)] = function () {
89
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
- args[_key] = arguments[_key];
91
- }
92
- func.apply(void 0, [params].concat(args));
93
- };
94
- });
95
- if (inputFunc) {
96
- ons[getOnName(modelEvent)] = function (targetEvnt) {
97
- inputFunc(targetEvnt);
98
- if (events && events[modelEvent]) {
99
- events[modelEvent](params, targetEvnt);
100
- }
101
- if (isSameEvent && changeFunc) {
102
- changeFunc(targetEvnt);
103
- }
104
- };
105
- }
106
- if (!isSameEvent && changeFunc) {
107
- ons[getOnName(changeEvent)] = function () {
108
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
109
- args[_key2] = arguments[_key2];
110
- }
111
- changeFunc.apply(void 0, args);
112
- if (events && events[changeEvent]) {
113
- events[changeEvent].apply(events, [params].concat(args));
16
+ (function () {
17
+ function r(e, n, t) {
18
+ function o(i, f) {
19
+ if (!n[i]) {
20
+ if (!e[i]) {
21
+ var c = "function" == typeof require && require;
22
+ if (!f && c) return c(i, !0);
23
+ if (u) return u(i, !0);
24
+ var a = new Error("Cannot find module '" + i + "'");
25
+ throw a.code = "MODULE_NOT_FOUND", a;
26
+ }
27
+ var p = n[i] = {
28
+ exports: {}
29
+ };
30
+ e[i][0].call(p.exports, function (r) {
31
+ var n = e[i][1][r];
32
+ return o(n || r);
33
+ }, p, p.exports, r, e, n, t);
114
34
  }
115
- };
35
+ return n[i].exports;
36
+ }
37
+ for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);
38
+ return o;
116
39
  }
117
- return ons;
118
- }
119
- function getEditOns(renderOpts, params) {
120
- var $table = params.$table,
121
- row = params.row,
122
- column = params.column;
123
- return getOns(renderOpts, params, function (value) {
124
- // 处理 model 值双向绑定
125
- _xeUtils["default"].set(row, column.field, value);
126
- }, function () {
127
- // 处理 change 事件相关逻辑
128
- $table.updateStatus(params);
129
- });
130
- }
131
- function getFilterOns(renderOpts, params, option, changeFunc) {
132
- return getOns(renderOpts, params, function (value) {
133
- // 处理 model 值双向绑定
134
- option.data = value;
135
- }, changeFunc);
136
- }
137
- function getItemOns(renderOpts, params) {
138
- var $form = params.$form,
139
- data = params.data,
140
- field = params.field;
141
- return getOns(renderOpts, params, function (value) {
142
- // 处理 model 值双向绑定
143
- _xeUtils["default"].set(data, field, value);
144
- }, function () {
145
- // 处理 change 事件相关逻辑
146
- $form.updateStatus(params);
147
- });
148
- }
149
- function matchCascaderData(index, list, values, labels) {
150
- var val = values[index];
151
- if (list && values.length > index) {
152
- _xeUtils["default"].each(list, function (item) {
153
- if (item.value === val) {
154
- labels.push(item.label);
155
- matchCascaderData(++index, item.children, values, labels);
156
- }
40
+ return r;
41
+ })()({
42
+ 1: [function (require, module, exports) {
43
+ "use strict";
44
+
45
+ Object.defineProperty(exports, "__esModule", {
46
+ value: true
157
47
  });
158
- }
159
- }
160
- function formatDatePicker(defaultFormat) {
161
- return function (renderOpts, params) {
162
- return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params, defaultFormat));
163
- };
164
- }
165
- function getSelectCellValue(renderOpts, params) {
166
- var _renderOpts$options = renderOpts.options,
167
- options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
168
- optionGroups = renderOpts.optionGroups,
169
- _renderOpts$props = renderOpts.props,
170
- props = _renderOpts$props === void 0 ? {} : _renderOpts$props,
171
- _renderOpts$optionPro = renderOpts.optionProps,
172
- optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
173
- _renderOpts$optionGro = renderOpts.optionGroupProps,
174
- optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
175
- var row = params.row,
176
- column = params.column;
177
- var labelProp = optionProps.label || 'label';
178
- var valueProp = optionProps.value || 'value';
179
- var groupOptions = optionGroupProps.options || 'options';
180
- var cellValue = _xeUtils["default"].get(row, column.field);
181
- if (!isEmptyValue(cellValue)) {
182
- return _xeUtils["default"].map(props.mode === 'multiple' ? cellValue : [cellValue], optionGroups ? function (value) {
183
- var selectItem;
184
- for (var index = 0; index < optionGroups.length; index++) {
185
- selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) {
186
- return item[valueProp] === value;
187
- });
188
- if (selectItem) {
189
- break;
48
+ exports.createWidgetADatePicker = createWidgetADatePicker;
49
+ var _vue = require("vue");
50
+ function createWidgetADatePicker(VxeUI) {
51
+ var getWidgetADatePickerConfig = function getWidgetADatePickerConfig(params) {
52
+ return {
53
+ title: '日期',
54
+ icon: 'vxe-icon-input',
55
+ options: {
56
+ placeholder: ''
57
+ }
58
+ };
59
+ };
60
+ var WidgetADatePickerFormComponent = (0, _vue.defineComponent)({
61
+ props: {
62
+ renderOpts: {
63
+ type: Object,
64
+ "default": function _default() {
65
+ return {};
66
+ }
67
+ },
68
+ renderParams: {
69
+ type: Object,
70
+ "default": function _default() {
71
+ return {};
72
+ }
73
+ }
74
+ },
75
+ emits: [],
76
+ setup: function setup(props) {
77
+ var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
78
+ var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
79
+ var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
80
+ return function () {
81
+ var renderParams = props.renderParams;
82
+ var widget = renderParams.widget;
83
+ return (0, _vue.h)(VxeUIFormComponent, {
84
+ "class": 'vxe-form-design--widget-render-form-wrapper',
85
+ vertical: true,
86
+ span: 24,
87
+ titleBold: true,
88
+ titleOverflow: true,
89
+ data: widget.options
90
+ }, {
91
+ "default": function _default() {
92
+ return [(0, _vue.h)(VxeUIFormItemComponent, {
93
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
94
+ }, {
95
+ "default": function _default() {
96
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-date-picker'), {
97
+ modelValue: widget.title,
98
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
99
+ widget.title = val;
100
+ }
101
+ });
102
+ }
103
+ }), (0, _vue.h)(VxeUIFormItemComponent, {
104
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
105
+ field: 'placeholder',
106
+ itemRender: {
107
+ name: 'VxeInput'
108
+ }
109
+ }), (0, _vue.h)(VxeUIFormItemComponent, {
110
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
111
+ }, {
112
+ "default": function _default() {
113
+ return (0, _vue.h)(VxeUISwitchComponent, {
114
+ modelValue: widget.required,
115
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
116
+ widget.required = val;
117
+ }
118
+ });
119
+ }
120
+ })];
121
+ }
122
+ });
123
+ };
190
124
  }
191
- }
192
- return selectItem ? selectItem[labelProp] : value;
193
- } : function (value) {
194
- var selectItem = _xeUtils["default"].find(options, function (item) {
195
- return item[valueProp] === value;
196
125
  });
197
- return selectItem ? selectItem[labelProp] : value;
198
- }).join(', ');
199
- }
200
- return '';
201
- }
202
- function getCascaderCellValue(renderOpts, params) {
203
- var _renderOpts$props2 = renderOpts.props,
204
- props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2;
205
- var row = params.row,
206
- column = params.column;
207
- var cellValue = _xeUtils["default"].get(row, column.field);
208
- var values = cellValue || [];
209
- var labels = [];
210
- matchCascaderData(0, props.options, values, labels);
211
- return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " "));
212
- }
213
- function getRangePickerCellValue(renderOpts, params) {
214
- var _renderOpts$props3 = renderOpts.props,
215
- props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3;
216
- var row = params.row,
217
- column = params.column;
218
- var cellValue = _xeUtils["default"].get(row, column.field);
219
- if (cellValue) {
220
- cellValue = _xeUtils["default"].map(cellValue, function (date) {
221
- return date && date.format ? date.format(props.format || 'YYYY-MM-DD') : _xeUtils["default"].toDateString(date, dateFormatToVxeFormat(props.format || 'YYYY-MM-DD'));
222
- }).join(' ~ ');
223
- }
224
- return cellValue;
225
- }
226
- function getTreeSelectCellValue(renderOpts, params) {
227
- var _renderOpts$props4 = renderOpts.props,
228
- props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4;
229
- var treeData = props.treeData,
230
- treeCheckable = props.treeCheckable;
231
- var row = params.row,
232
- column = params.column;
233
- var cellValue = _xeUtils["default"].get(row, column.field);
234
- if (!isEmptyValue(cellValue)) {
235
- return _xeUtils["default"].map(treeCheckable ? cellValue : [cellValue], function (value) {
236
- var matchObj = _xeUtils["default"].findTree(treeData, function (item) {
237
- return item.value === value;
238
- }, {
239
- children: 'children'
240
- });
241
- return matchObj ? matchObj.item.title : value;
242
- }).join(', ');
243
- }
244
- return cellValue;
245
- }
246
- function getDatePickerCellValue(renderOpts, params, defaultFormat) {
247
- var _renderOpts$props5 = renderOpts.props,
248
- props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5;
249
- var row = params.row,
250
- column = params.column;
251
- var cellValue = _xeUtils["default"].get(row, column.field);
252
- if (cellValue) {
253
- cellValue = cellValue.format ? cellValue.format(props.format || defaultFormat) : _xeUtils["default"].toDateString(cellValue, dateFormatToVxeFormat(props.format || defaultFormat));
254
- }
255
- return cellValue;
256
- }
257
- function createEditRender(defaultProps) {
258
- return function (renderOpts, params) {
259
- var row = params.row,
260
- column = params.column;
261
- var name = renderOpts.name,
262
- attrs = renderOpts.attrs;
263
- var cellValue = _xeUtils["default"].get(row, column.field);
264
- return [(0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))];
265
- };
266
- }
267
- function defaultButtonEditRender(renderOpts, params) {
268
- var attrs = renderOpts.attrs;
269
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getCellEditFilterProps(renderOpts, params, null)), getOns(renderOpts, params)), cellText(renderOpts.content))];
270
- }
271
- function defaultButtonsEditRender(renderOpts, params) {
272
- var children = renderOpts.children;
273
- if (children) {
274
- return children.map(function (childRenderOpts) {
275
- return defaultButtonEditRender(childRenderOpts, params)[0];
276
- });
277
- }
278
- return [];
279
- }
280
- function createFilterRender(defaultProps) {
281
- return function (renderOpts, params) {
282
- var column = params.column;
283
- var name = renderOpts.name,
284
- attrs = renderOpts.attrs;
285
- return [(0, _vue.h)('div', {
286
- "class": 'vxe-table--filter-antd-wrapper'
287
- }, column.filters.map(function (option, oIndex) {
288
- var optionValue = option.data;
289
- return (0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({
290
- key: oIndex
291
- }, attrs), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () {
292
- // 处理 change 事件相关逻辑
293
- handleConfirmFilter(params, !!option.data, option);
294
- })));
295
- }))];
296
- };
297
- }
298
- function handleConfirmFilter(params, checked, option) {
299
- var $panel = params.$panel;
300
- $panel.changeOption(null, checked, option);
301
- }
302
- /**
303
- * 模糊匹配
304
- * @param params
305
- */
306
- function defaultFuzzyFilterMethod(params) {
307
- var option = params.option,
308
- row = params.row,
309
- column = params.column;
310
- var data = option.data;
311
- var cellValue = _xeUtils["default"].get(row, column.field);
312
- return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1;
313
- }
314
- /**
315
- * 精确匹配
316
- * @param params
317
- */
318
- function defaultExactFilterMethod(params) {
319
- var option = params.option,
320
- row = params.row,
321
- column = params.column;
322
- var data = option.data;
323
- var cellValue = _xeUtils["default"].get(row, column.field);
324
- /* eslint-disable eqeqeq */
325
- return cellValue === data;
326
- }
327
- function cellText(cellValue) {
328
- return [formatText(cellValue)];
329
- }
330
- function renderOptions(options, optionProps) {
331
- var labelProp = optionProps.label || 'label';
332
- var valueProp = optionProps.value || 'value';
333
- return _xeUtils["default"].map(options, function (item, oIndex) {
334
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select-option'), {
335
- key: oIndex,
336
- value: item[valueProp],
337
- disabled: item.disabled
338
- }, {
339
- "default": function _default() {
340
- return cellText(item[labelProp]);
341
- }
342
- });
343
- });
344
- }
345
- function createFormItemRender(defaultProps) {
346
- return function (renderOpts, params) {
347
- var data = params.data,
348
- field = params.field;
349
- var name = renderOpts.name;
350
- var attrs = renderOpts.attrs;
351
- var itemValue = _xeUtils["default"].get(data, field);
352
- return [(0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))];
353
- };
354
- }
355
- function defaultButtonItemRender(renderOpts, params) {
356
- var attrs = renderOpts.attrs;
357
- var props = getItemProps(renderOpts, params, null);
358
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getItemOns(renderOpts, params)), {
359
- "default": function _default() {
360
- return cellText(renderOpts.content || props.content);
361
- }
362
- })];
363
- }
364
- function defaultButtonsItemRender(renderOpts, params) {
365
- var children = renderOpts.children;
366
- if (children) {
367
- return children.map(function (childRenderOpts) {
368
- return defaultButtonItemRender(childRenderOpts, params)[0];
369
- });
370
- }
371
- return [];
372
- }
373
- function createDatePickerExportMethod(defaultFormat) {
374
- return function (params) {
375
- var row = params.row,
376
- column = params.column,
377
- options = params.options;
378
- return options && options.original ? _xeUtils["default"].get(row, column.field) : getDatePickerCellValue(column.editRender || column.cellRender, params, defaultFormat);
379
- };
380
- }
381
- function createExportMethod(getExportCellValue) {
382
- return function (params) {
383
- var row = params.row,
384
- column = params.column,
385
- options = params.options;
386
- return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params);
387
- };
388
- }
389
- function createFormItemRadioAndCheckboxRender() {
390
- return function (renderOpts, params) {
391
- var name = renderOpts.name,
392
- _renderOpts$options2 = renderOpts.options,
393
- options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
394
- _renderOpts$optionPro2 = renderOpts.optionProps,
395
- optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2;
396
- var data = params.data,
397
- field = params.field;
398
- var attrs = renderOpts.attrs;
399
- var labelProp = optionProps.label || 'label';
400
- var valueProp = optionProps.value || 'value';
401
- var itemValue = _xeUtils["default"].get(data, field);
402
- return [(0, _vue.h)((0, _vue.resolveComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
403
- "default": function _default() {
404
- return options.map(function (option, oIndex) {
405
- return (0, _vue.h)((0, _vue.resolveComponent)(name), {
406
- key: oIndex,
407
- value: option[valueProp],
408
- disabled: option.disabled
409
- }, {
126
+ var WidgetADatePickerViewComponent = (0, _vue.defineComponent)({
127
+ props: {
128
+ renderOpts: {
129
+ type: Object,
410
130
  "default": function _default() {
411
- return cellText(option[labelProp]);
131
+ return {};
412
132
  }
413
- });
414
- });
415
- }
416
- })];
417
- };
418
- }
419
- /**
420
- * 检查触发源是否属于目标节点
421
- */
422
- function getEventTargetNode(evnt, container, className) {
423
- var targetElem;
424
- var target = evnt.target;
425
- while (target && target.nodeType && target !== document) {
426
- if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
427
- targetElem = target;
428
- } else if (target === container) {
429
- return {
430
- flag: className ? !!targetElem : true,
431
- container: container,
432
- targetElem: targetElem
433
- };
434
- }
435
- target = target.parentNode;
436
- }
437
- return {
438
- flag: false
439
- };
440
- }
441
- /**
442
- * 事件兼容性处理
443
- */
444
- function handleClearEvent(params) {
445
- var $event = params.$event;
446
- var bodyElem = document.body;
447
- if (
448
- // 下拉框
449
- getEventTargetNode($event, bodyElem, 'ant-select-dropdown').flag ||
450
- // 级联
451
- getEventTargetNode($event, bodyElem, 'ant-cascader-menus').flag ||
452
- // 日期
453
- getEventTargetNode($event, bodyElem, 'ant-picker-dropdown').flag || getEventTargetNode($event, bodyElem, 'ant-calendar-picker-container').flag ||
454
- // 时间选择
455
- getEventTargetNode($event, bodyElem, 'ant-time-picker-panel').flag) {
456
- return false;
457
- }
458
- }
459
- var VxeUIPluginRenderAntd = _exports.VxeUIPluginRenderAntd = {
460
- install: function install(core, options) {
461
- VxeUI = core;
462
- Antd = options ? options.Antd : {};
463
- // 检查版本
464
- if (!/^(4)\./.test(VxeUI.uiVersion)) {
465
- console.error('[plugin-render-antd 4.x] Version 4.x is required');
466
- }
467
- VxeUI.renderer.mixin({
468
- AAutoComplete: {
469
- autofocus: 'input.ant-input',
470
- renderDefault: createEditRender(),
471
- renderEdit: createEditRender(),
472
- renderFilter: createFilterRender(),
473
- defaultFilterMethod: defaultExactFilterMethod,
474
- renderItemContent: createFormItemRender()
475
- },
476
- AInput: {
477
- autofocus: 'input.ant-input',
478
- renderDefault: createEditRender(),
479
- renderEdit: createEditRender(),
480
- renderFilter: createFilterRender(),
481
- defaultFilterMethod: defaultFuzzyFilterMethod,
482
- renderItemContent: createFormItemRender()
483
- },
484
- AInputNumber: {
485
- autofocus: 'input.ant-input-number-input',
486
- renderDefault: createEditRender(),
487
- renderEdit: createEditRender(),
488
- renderFilter: createFilterRender(),
489
- defaultFilterMethod: defaultFuzzyFilterMethod,
490
- renderItemContent: createFormItemRender()
491
- },
492
- ASelect: {
493
- renderEdit: function renderEdit(renderOpts, params) {
494
- var _renderOpts$options3 = renderOpts.options,
495
- options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
496
- optionGroups = renderOpts.optionGroups,
497
- _renderOpts$optionPro3 = renderOpts.optionProps,
498
- optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
499
- _renderOpts$optionGro2 = renderOpts.optionGroupProps,
500
- optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
501
- var row = params.row,
502
- column = params.column;
503
- var attrs = renderOpts.attrs;
504
- var cellValue = _xeUtils["default"].get(row, column.field);
505
- var props = getCellEditFilterProps(renderOpts, params, cellValue);
506
- var ons = getEditOns(renderOpts, params);
507
- if (optionGroups) {
508
- var groupOptions = optionGroupProps.options || 'options';
509
- var groupLabel = optionGroupProps.label || 'label';
510
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), {
133
+ },
134
+ renderParams: {
135
+ type: Object,
136
+ "default": function _default() {
137
+ return {};
138
+ }
139
+ }
140
+ },
141
+ emits: [],
142
+ setup: function setup(props) {
143
+ var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
144
+ var changeEvent = function changeEvent() {
145
+ var renderParams = props.renderParams;
146
+ var widget = renderParams.widget,
147
+ $formView = renderParams.$formView;
148
+ if ($formView) {
149
+ var itemValue = $formView ? $formView.getItemValue(widget) : null;
150
+ $formView.updateItemStatus(widget, itemValue);
151
+ }
152
+ };
153
+ return function () {
154
+ var renderParams = props.renderParams;
155
+ var widget = renderParams.widget,
156
+ $formView = renderParams.$formView;
157
+ var options = widget.options;
158
+ return (0, _vue.h)(VxeUIFormItemComponent, {
159
+ "class": ['vxe-form-design--widget-render-form-item'],
160
+ field: widget.field,
161
+ title: widget.title
162
+ }, {
511
163
  "default": function _default() {
512
- return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
513
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select-opt-group'), {
514
- key: gIndex
515
- }, {
516
- label: function label() {
517
- return (0, _vue.h)('span', {}, group[groupLabel]);
518
- },
519
- "default": function _default() {
520
- return renderOptions(group[groupOptions], optionProps);
164
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-date-picker'), {
165
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
166
+ placeholder: options.placeholder,
167
+ onChange: changeEvent,
168
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
169
+ if ($formView) {
170
+ $formView.setItemValue(widget, val);
521
171
  }
522
- });
172
+ }
523
173
  });
524
174
  }
525
- })];
175
+ });
176
+ };
177
+ }
178
+ });
179
+ return {
180
+ getWidgetADatePickerConfig: getWidgetADatePickerConfig,
181
+ WidgetADatePickerFormComponent: WidgetADatePickerFormComponent,
182
+ WidgetADatePickerViewComponent: WidgetADatePickerViewComponent
183
+ };
184
+ }
185
+ }, {
186
+ "vue": "vue"
187
+ }],
188
+ 2: [function (require, module, exports) {
189
+ "use strict";
190
+
191
+ Object.defineProperty(exports, "__esModule", {
192
+ value: true
193
+ });
194
+ exports.createWidgetAInput = createWidgetAInput;
195
+ var _vue = require("vue");
196
+ function createWidgetAInput(VxeUI) {
197
+ var getWidgetAInputConfig = function getWidgetAInputConfig(params) {
198
+ return {
199
+ title: '输入框',
200
+ icon: 'vxe-icon-input',
201
+ options: {
202
+ placeholder: ''
526
203
  }
527
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), ons), {
204
+ };
205
+ };
206
+ var WidgetAInputFormComponent = (0, _vue.defineComponent)({
207
+ props: {
208
+ renderOpts: {
209
+ type: Object,
528
210
  "default": function _default() {
529
- return renderOptions(options, optionProps);
211
+ return {};
530
212
  }
531
- })];
213
+ },
214
+ renderParams: {
215
+ type: Object,
216
+ "default": function _default() {
217
+ return {};
218
+ }
219
+ }
532
220
  },
533
- renderCell: function renderCell(renderOpts, params) {
534
- return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
535
- },
536
- renderFilter: function renderFilter(renderOpts, params) {
537
- var _renderOpts$options4 = renderOpts.options,
538
- options = _renderOpts$options4 === void 0 ? [] : _renderOpts$options4,
539
- optionGroups = renderOpts.optionGroups,
540
- _renderOpts$optionPro4 = renderOpts.optionProps,
541
- optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4,
542
- _renderOpts$optionGro3 = renderOpts.optionGroupProps,
543
- optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
544
- var groupOptions = optionGroupProps.options || 'options';
545
- var groupLabel = optionGroupProps.label || 'label';
546
- var column = params.column;
547
- var attrs = renderOpts.attrs;
548
- return [(0, _vue.h)('div', {
549
- "class": 'vxe-table--filter-antd-wrapper'
550
- }, optionGroups ? column.filters.map(function (option, oIndex) {
551
- var optionValue = option.data;
552
- var props = getCellEditFilterProps(renderOpts, params, optionValue);
553
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({
554
- key: oIndex
555
- }, attrs), props), getFilterOns(renderOpts, params, option, function () {
556
- // 处理 change 事件相关逻辑
557
- handleConfirmFilter(params, props.mode === 'multiple' ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
558
- })), {
221
+ emits: [],
222
+ setup: function setup(props) {
223
+ var VxeUIFormComponent = VxeUI.getComponent('VxeForm');
224
+ var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
225
+ var VxeUISwitchComponent = VxeUI.getComponent('VxeSwitch');
226
+ return function () {
227
+ var renderParams = props.renderParams;
228
+ var widget = renderParams.widget;
229
+ var options = widget.options;
230
+ return (0, _vue.h)(VxeUIFormComponent, {
231
+ "class": 'vxe-form-design--widget-render-form-wrapper',
232
+ vertical: true,
233
+ span: 24,
234
+ titleBold: true,
235
+ titleOverflow: true,
236
+ data: options
237
+ }, {
559
238
  "default": function _default() {
560
- return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
561
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select-opt-group'), {
562
- key: gIndex
563
- }, {
564
- label: function label() {
565
- return (0, _vue.h)('span', {}, group[groupLabel]);
566
- },
567
- "default": function _default() {
568
- return renderOptions(group[groupOptions], optionProps);
569
- }
570
- });
571
- });
239
+ return [(0, _vue.h)(VxeUIFormItemComponent, {
240
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.name')
241
+ }, {
242
+ "default": function _default() {
243
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-input'), {
244
+ modelValue: widget.title,
245
+ placeholder: options.placeholder,
246
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
247
+ widget.title = val;
248
+ }
249
+ });
250
+ }
251
+ }), (0, _vue.h)(VxeUIFormItemComponent, {
252
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.placeholder'),
253
+ field: 'placeholder',
254
+ itemRender: {
255
+ name: 'VxeInput'
256
+ }
257
+ }), (0, _vue.h)(VxeUIFormItemComponent, {
258
+ title: VxeUI.getI18n('vxe.formDesign.widgetProp.required')
259
+ }, {
260
+ "default": function _default() {
261
+ return (0, _vue.h)(VxeUISwitchComponent, {
262
+ modelValue: widget.required,
263
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
264
+ widget.required = val;
265
+ }
266
+ });
267
+ }
268
+ })];
572
269
  }
573
270
  });
574
- }) : column.filters.map(function (option, oIndex) {
575
- var optionValue = option.data;
576
- var props = getCellEditFilterProps(renderOpts, params, optionValue);
577
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({
578
- key: oIndex
579
- }, attrs), props), getFilterOns(renderOpts, params, option, function () {
580
- // 处理 change 事件相关逻辑
581
- handleConfirmFilter(params, props.mode === 'multiple' ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
582
- })), {
271
+ };
272
+ }
273
+ });
274
+ var WidgetAInputViewComponent = (0, _vue.defineComponent)({
275
+ props: {
276
+ renderOpts: {
277
+ type: Object,
278
+ "default": function _default() {
279
+ return {};
280
+ }
281
+ },
282
+ renderParams: {
283
+ type: Object,
284
+ "default": function _default() {
285
+ return {};
286
+ }
287
+ }
288
+ },
289
+ emits: [],
290
+ setup: function setup(props) {
291
+ var VxeUIFormItemComponent = VxeUI.getComponent('VxeFormItem');
292
+ var changeEvent = function changeEvent() {
293
+ var renderParams = props.renderParams;
294
+ var widget = renderParams.widget,
295
+ $formView = renderParams.$formView;
296
+ if ($formView) {
297
+ var itemValue = $formView ? $formView.getItemValue(widget) : null;
298
+ $formView.updateItemStatus(widget, itemValue);
299
+ }
300
+ };
301
+ return function () {
302
+ var renderParams = props.renderParams;
303
+ var widget = renderParams.widget,
304
+ $formView = renderParams.$formView;
305
+ return (0, _vue.h)(VxeUIFormItemComponent, {
306
+ "class": ['vxe-form-design--widget-render-form-item'],
307
+ field: widget.field,
308
+ title: widget.title
309
+ }, {
583
310
  "default": function _default() {
584
- return renderOptions(options, optionProps);
311
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-input'), {
312
+ modelValue: $formView ? $formView.getItemValue(widget) : null,
313
+ onChange: changeEvent,
314
+ 'onUpdate:modelValue': function onUpdateModelValue(val) {
315
+ if ($formView) {
316
+ $formView.setItemValue(widget, val);
317
+ }
318
+ }
319
+ });
585
320
  }
586
321
  });
587
- }))];
322
+ };
323
+ }
324
+ });
325
+ return {
326
+ getWidgetAInputConfig: getWidgetAInputConfig,
327
+ WidgetAInputFormComponent: WidgetAInputFormComponent,
328
+ WidgetAInputViewComponent: WidgetAInputViewComponent
329
+ };
330
+ }
331
+ }, {
332
+ "vue": "vue"
333
+ }],
334
+ 3: [function (require, module, exports) {
335
+ "use strict";
336
+
337
+ Object.defineProperty(exports, "__esModule", {
338
+ value: true
339
+ });
340
+ exports.defineFormDesignRender = defineFormDesignRender;
341
+ var _vue = require("vue");
342
+ var _aInput = require("./a-input");
343
+ var _aDatePicker = require("./a-date-picker");
344
+ /**
345
+ * 表单设计器 - 渲染器
346
+ */
347
+ function defineFormDesignRender(VxeUI) {
348
+ var _createWidgetAInput = (0, _aInput.createWidgetAInput)(VxeUI),
349
+ getWidgetAInputConfig = _createWidgetAInput.getWidgetAInputConfig,
350
+ WidgetAInputViewComponent = _createWidgetAInput.WidgetAInputViewComponent,
351
+ WidgetAInputFormComponent = _createWidgetAInput.WidgetAInputFormComponent;
352
+ var _createWidgetADatePic = (0, _aDatePicker.createWidgetADatePicker)(VxeUI),
353
+ getWidgetADatePickerConfig = _createWidgetADatePic.getWidgetADatePickerConfig,
354
+ WidgetADatePickerViewComponent = _createWidgetADatePic.WidgetADatePickerViewComponent,
355
+ WidgetADatePickerFormComponent = _createWidgetADatePic.WidgetADatePickerFormComponent;
356
+ VxeUI.renderer.mixin({
357
+ AInput: {
358
+ createFormDesignWidgetConfig: getWidgetAInputConfig,
359
+ renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
360
+ return (0, _vue.h)(WidgetAInputViewComponent, {
361
+ renderOpts: renderOpts,
362
+ renderParams: renderParams
363
+ });
364
+ },
365
+ renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
366
+ return (0, _vue.h)(WidgetAInputFormComponent, {
367
+ renderOpts: renderOpts,
368
+ renderParams: renderParams
369
+ });
370
+ }
588
371
  },
589
- defaultFilterMethod: function defaultFilterMethod(params) {
590
- var option = params.option,
591
- row = params.row,
592
- column = params.column;
593
- var data = option.data;
594
- var field = column.field,
595
- renderOpts = column.filterRender;
596
- var _renderOpts$props6 = renderOpts.props,
597
- props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6;
598
- var cellValue = _xeUtils["default"].get(row, field);
599
- if (props.mode === 'multiple') {
600
- if (_xeUtils["default"].isArray(cellValue)) {
601
- return _xeUtils["default"].includeArrays(cellValue, data);
602
- }
603
- return data.indexOf(cellValue) > -1;
372
+ ADatePicker: {
373
+ createFormDesignWidgetConfig: getWidgetADatePickerConfig,
374
+ renderFormDesignWidgetView: function renderFormDesignWidgetView(renderOpts, renderParams) {
375
+ return (0, _vue.h)(WidgetADatePickerViewComponent, {
376
+ renderOpts: renderOpts,
377
+ renderParams: renderParams
378
+ });
379
+ },
380
+ renderFormDesignWidgetFormView: function renderFormDesignWidgetFormView(renderOpts, renderParams) {
381
+ return (0, _vue.h)(WidgetADatePickerFormComponent, {
382
+ renderOpts: renderOpts,
383
+ renderParams: renderParams
384
+ });
604
385
  }
605
- /* eslint-disable eqeqeq */
606
- return cellValue == data;
607
- },
608
- renderItemContent: function renderItemContent(renderOpts, params) {
609
- var _renderOpts$options5 = renderOpts.options,
610
- options = _renderOpts$options5 === void 0 ? [] : _renderOpts$options5,
611
- optionGroups = renderOpts.optionGroups,
612
- _renderOpts$optionPro5 = renderOpts.optionProps,
613
- optionProps = _renderOpts$optionPro5 === void 0 ? {} : _renderOpts$optionPro5,
614
- _renderOpts$optionGro4 = renderOpts.optionGroupProps,
615
- optionGroupProps = _renderOpts$optionGro4 === void 0 ? {} : _renderOpts$optionGro4;
386
+ }
387
+ });
388
+ }
389
+ }, {
390
+ "./a-date-picker": 1,
391
+ "./a-input": 2,
392
+ "vue": "vue"
393
+ }],
394
+ 4: [function (require, module, exports) {
395
+ "use strict";
396
+
397
+ Object.defineProperty(exports, "__esModule", {
398
+ value: true
399
+ });
400
+ exports.defineFormRender = defineFormRender;
401
+ var _vue = require("vue");
402
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
403
+ function _interopRequireDefault(e) {
404
+ return e && e.__esModule ? e : {
405
+ "default": e
406
+ };
407
+ }
408
+ function _typeof(o) {
409
+ "@babel/helpers - typeof";
410
+
411
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
412
+ return typeof o;
413
+ } : function (o) {
414
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
415
+ }, _typeof(o);
416
+ }
417
+ function ownKeys(e, r) {
418
+ var t = Object.keys(e);
419
+ if (Object.getOwnPropertySymbols) {
420
+ var o = Object.getOwnPropertySymbols(e);
421
+ r && (o = o.filter(function (r) {
422
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
423
+ })), t.push.apply(t, o);
424
+ }
425
+ return t;
426
+ }
427
+ function _objectSpread(e) {
428
+ for (var r = 1; r < arguments.length; r++) {
429
+ var t = null != arguments[r] ? arguments[r] : {};
430
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
431
+ _defineProperty(e, r, t[r]);
432
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
433
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
434
+ });
435
+ }
436
+ return e;
437
+ }
438
+ function _defineProperty(e, r, t) {
439
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
440
+ value: t,
441
+ enumerable: !0,
442
+ configurable: !0,
443
+ writable: !0
444
+ }) : e[r] = t, e;
445
+ }
446
+ function _toPropertyKey(t) {
447
+ var i = _toPrimitive(t, "string");
448
+ return "symbol" == _typeof(i) ? i : i + "";
449
+ }
450
+ function _toPrimitive(t, r) {
451
+ if ("object" != _typeof(t) || !t) return t;
452
+ var e = t[Symbol.toPrimitive];
453
+ if (void 0 !== e) {
454
+ var i = e.call(t, r || "default");
455
+ if ("object" != _typeof(i)) return i;
456
+ throw new TypeError("@@toPrimitive must return a primitive value.");
457
+ }
458
+ return ("string" === r ? String : Number)(t);
459
+ }
460
+ /**
461
+ * 表单 - 渲染器
462
+ */
463
+ function defineFormRender(VxeUI) {
464
+ function isEmptyValue(cellValue) {
465
+ return cellValue === null || cellValue === undefined || cellValue === '';
466
+ }
467
+ function getOnName(type) {
468
+ return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
469
+ }
470
+ function getModelProp(renderOpts) {
471
+ var prop = 'value';
472
+ switch (renderOpts.name) {
473
+ case 'ASwitch':
474
+ prop = 'checked';
475
+ break;
476
+ }
477
+ return prop;
478
+ }
479
+ function getModelEvent(renderOpts) {
480
+ var type = 'update:value';
481
+ switch (renderOpts.name) {
482
+ case 'ASwitch':
483
+ type = 'update:checked';
484
+ break;
485
+ }
486
+ return type;
487
+ }
488
+ function getChangeEvent(renderOpts) {
489
+ return 'change';
490
+ }
491
+ function getItemProps(renderOpts, params, value, defaultProps) {
492
+ return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
493
+ }
494
+ function formatText(cellValue) {
495
+ return '' + (isEmptyValue(cellValue) ? '' : cellValue);
496
+ }
497
+ function getOns(renderOpts, params, inputFunc, changeFunc) {
498
+ var events = renderOpts.events;
499
+ var modelEvent = getModelEvent(renderOpts);
500
+ var changeEvent = getChangeEvent(renderOpts);
501
+ var isSameEvent = changeEvent === modelEvent;
502
+ var ons = {};
503
+ _xeUtils["default"].objectEach(events, function (func, key) {
504
+ ons[getOnName(key)] = function () {
505
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
506
+ args[_key] = arguments[_key];
507
+ }
508
+ func.apply(void 0, [params].concat(args));
509
+ };
510
+ });
511
+ if (inputFunc) {
512
+ ons[getOnName(modelEvent)] = function (targetEvnt) {
513
+ inputFunc(targetEvnt);
514
+ if (events && events[modelEvent]) {
515
+ events[modelEvent](params, targetEvnt);
516
+ }
517
+ if (isSameEvent && changeFunc) {
518
+ changeFunc(targetEvnt);
519
+ }
520
+ };
521
+ }
522
+ if (!isSameEvent && changeFunc) {
523
+ ons[getOnName(changeEvent)] = function () {
524
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
525
+ args[_key2] = arguments[_key2];
526
+ }
527
+ changeFunc.apply(void 0, args);
528
+ if (events && events[changeEvent]) {
529
+ events[changeEvent].apply(events, [params].concat(args));
530
+ }
531
+ };
532
+ }
533
+ return ons;
534
+ }
535
+ function getItemOns(renderOpts, params) {
536
+ var $form = params.$form,
537
+ data = params.data,
538
+ field = params.field;
539
+ return getOns(renderOpts, params, function (value) {
540
+ // 处理 model 值双向绑定
541
+ _xeUtils["default"].set(data, field, value);
542
+ }, function () {
543
+ // 处理 change 事件相关逻辑
544
+ $form.updateStatus(params);
545
+ });
546
+ }
547
+ function cellText(cellValue) {
548
+ return [formatText(cellValue)];
549
+ }
550
+ function createFormItemRender(defaultProps) {
551
+ return function (renderOpts, params) {
616
552
  var data = params.data,
617
553
  field = params.field;
554
+ var name = renderOpts.name;
618
555
  var attrs = renderOpts.attrs;
619
556
  var itemValue = _xeUtils["default"].get(data, field);
620
- var props = getItemProps(renderOpts, params, itemValue);
621
- var ons = getItemOns(renderOpts, params);
622
- if (optionGroups) {
623
- var groupOptions = optionGroupProps.options || 'options';
624
- var groupLabel = optionGroupProps.label || 'label';
625
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
626
- "default": function _default() {
627
- return _xeUtils["default"].map(optionGroups, function (group, gIndex) {
628
- return (0, _vue.h)((0, _vue.resolveComponent)('a-select-opt-group'), {
629
- key: gIndex
630
- }, {
631
- label: function label() {
632
- return (0, _vue.h)('span', {}, group[groupLabel]);
633
- },
634
- "default": function _default() {
635
- return renderOptions(group[groupOptions], optionProps);
636
- }
637
- });
638
- });
639
- }
640
- })];
557
+ return [(0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue, defaultProps)), getItemOns(renderOpts, params)))];
558
+ };
559
+ }
560
+ function defaultButtonItemRender(renderOpts, params) {
561
+ var attrs = renderOpts.attrs;
562
+ var props = getItemProps(renderOpts, params, null);
563
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), getItemOns(renderOpts, params)), {
564
+ "default": function _default() {
565
+ return cellText(renderOpts.content || props.content);
641
566
  }
642
- return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), ons), {
567
+ })];
568
+ }
569
+ function defaultButtonsItemRender(renderOpts, params) {
570
+ var children = renderOpts.children;
571
+ if (children) {
572
+ return children.map(function (childRenderOpts) {
573
+ return defaultButtonItemRender(childRenderOpts, params)[0];
574
+ });
575
+ }
576
+ return [];
577
+ }
578
+ function createFormItemRadioAndCheckboxRender() {
579
+ return function (renderOpts, params) {
580
+ var name = renderOpts.name,
581
+ _renderOpts$options = renderOpts.options,
582
+ options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
583
+ _renderOpts$optionPro = renderOpts.optionProps,
584
+ optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro;
585
+ var data = params.data,
586
+ field = params.field;
587
+ var attrs = renderOpts.attrs;
588
+ var labelProp = optionProps.label || 'label';
589
+ var valueProp = optionProps.value || 'value';
590
+ var itemValue = _xeUtils["default"].get(data, field);
591
+ return [(0, _vue.h)((0, _vue.resolveComponent)("".concat(name, "Group")), _objectSpread(_objectSpread(_objectSpread({}, attrs), getItemProps(renderOpts, params, itemValue)), getItemOns(renderOpts, params)), {
643
592
  "default": function _default() {
644
- return renderOptions(options, optionProps);
593
+ return options.map(function (option, oIndex) {
594
+ return (0, _vue.h)((0, _vue.resolveComponent)(name), {
595
+ key: oIndex,
596
+ value: option[valueProp],
597
+ disabled: option.disabled
598
+ }, {
599
+ "default": function _default() {
600
+ return cellText(option[labelProp]);
601
+ }
602
+ });
603
+ });
645
604
  }
646
605
  })];
606
+ };
607
+ }
608
+ VxeUI.renderer.mixin({
609
+ AAutoComplete: {
610
+ renderFormItemContent: createFormItemRender()
611
+ },
612
+ AInput: {
613
+ renderFormItemContent: createFormItemRender()
614
+ },
615
+ AInputNumber: {
616
+ renderFormItemContent: createFormItemRender()
617
+ },
618
+ ASelect: {
619
+ renderFormItemContent: function renderFormItemContent(renderOpts, params) {
620
+ var _renderOpts$options2 = renderOpts.options,
621
+ options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
622
+ optionGroups = renderOpts.optionGroups;
623
+ var data = params.data,
624
+ field = params.field;
625
+ var attrs = renderOpts.attrs;
626
+ var itemValue = _xeUtils["default"].get(data, field);
627
+ var props = getItemProps(renderOpts, params, itemValue);
628
+ var ons = getItemOns(renderOpts, params);
629
+ if (optionGroups) {
630
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), {}, {
631
+ options: optionGroups
632
+ }, ons))];
633
+ }
634
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, attrs), props), {}, {
635
+ options: props.options || options
636
+ }, ons))];
637
+ }
638
+ },
639
+ ACascader: {
640
+ renderFormItemContent: createFormItemRender()
641
+ },
642
+ ADatePicker: {
643
+ renderFormItemContent: createFormItemRender()
644
+ },
645
+ AMonthPicker: {
646
+ renderFormItemContent: createFormItemRender()
647
+ },
648
+ ARangePicker: {
649
+ renderFormItemContent: createFormItemRender()
650
+ },
651
+ AWeekPicker: {
652
+ renderFormItemContent: createFormItemRender()
653
+ },
654
+ ATimePicker: {
655
+ renderFormItemContent: createFormItemRender()
656
+ },
657
+ ATreeSelect: {
658
+ renderFormItemContent: createFormItemRender()
659
+ },
660
+ ARate: {
661
+ renderFormItemContent: createFormItemRender()
662
+ },
663
+ ASwitch: {
664
+ renderFormItemContent: createFormItemRender()
665
+ },
666
+ ARadio: {
667
+ renderFormItemContent: createFormItemRadioAndCheckboxRender()
647
668
  },
648
- exportMethod: createExportMethod(getSelectCellValue)
649
- },
650
- ACascader: {
651
- renderEdit: createEditRender(),
652
- renderCell: function renderCell(renderOpts, params) {
653
- return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params));
654
- },
655
- renderItemContent: createFormItemRender(),
656
- exportMethod: createExportMethod(getCascaderCellValue)
657
- },
658
- ADatePicker: {
659
- renderEdit: createEditRender(),
660
- renderCell: formatDatePicker('YYYY-MM-DD'),
661
- renderItemContent: createFormItemRender(),
662
- exportMethod: createDatePickerExportMethod('YYYY-MM-DD')
663
- },
664
- AMonthPicker: {
665
- renderEdit: createEditRender(),
666
- renderCell: formatDatePicker('YYYY-MM'),
667
- renderItemContent: createFormItemRender(),
668
- exportMethod: createDatePickerExportMethod('YYYY-MM')
669
- },
670
- ARangePicker: {
671
- renderEdit: createEditRender(),
672
- renderCell: function renderCell(renderOpts, params) {
673
- return getCellLabelVNs(renderOpts, params, getRangePickerCellValue(renderOpts, params));
674
- },
675
- renderItemContent: createFormItemRender(),
676
- exportMethod: createExportMethod(getRangePickerCellValue)
677
- },
678
- AWeekPicker: {
679
- renderEdit: createEditRender(),
680
- renderCell: formatDatePicker('YYYY-WW周'),
681
- renderItemContent: createFormItemRender(),
682
- exportMethod: createDatePickerExportMethod('YYYY-WW周')
683
- },
684
- ATimePicker: {
685
- renderEdit: createEditRender(),
686
- renderCell: formatDatePicker('HH:mm:ss'),
687
- renderItemContent: createFormItemRender(),
688
- exportMethod: createDatePickerExportMethod('HH:mm:ss')
689
- },
690
- ATreeSelect: {
691
- renderEdit: createEditRender(),
692
- renderCell: function renderCell(renderOpts, params) {
693
- return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
694
- },
695
- renderItemContent: createFormItemRender(),
696
- exportMethod: createExportMethod(getTreeSelectCellValue)
697
- },
698
- ARate: {
699
- renderDefault: createEditRender(),
700
- renderEdit: createEditRender(),
701
- renderFilter: createFilterRender(),
702
- defaultFilterMethod: defaultExactFilterMethod,
703
- renderItemContent: createFormItemRender()
704
- },
705
- ASwitch: {
706
- renderDefault: createEditRender(),
707
- renderEdit: createEditRender(),
708
- renderFilter: function renderFilter(renderOpts, params) {
669
+ ACheckbox: {
670
+ renderFormItemContent: createFormItemRadioAndCheckboxRender()
671
+ },
672
+ AButton: {
673
+ renderFormItemContent: defaultButtonItemRender
674
+ },
675
+ AButtons: {
676
+ renderFormItemContent: defaultButtonsItemRender
677
+ }
678
+ });
679
+ }
680
+ }, {
681
+ "vue": "vue",
682
+ "xe-utils": "xe-utils"
683
+ }],
684
+ 5: [function (require, module, exports) {
685
+ "use strict";
686
+
687
+ Object.defineProperty(exports, "__esModule", {
688
+ value: true
689
+ });
690
+ exports["default"] = exports.VxeUIPluginRenderAntd = void 0;
691
+ var _table = require("./table");
692
+ var _form = require("./form");
693
+ var _formDesign = require("./form-design");
694
+ /**
695
+ * 检查触发源是否属于目标节点
696
+ */
697
+ function getEventTargetNode(evnt, container, className) {
698
+ var targetElem;
699
+ var target = evnt.target;
700
+ while (target && target.nodeType && target !== document) {
701
+ if (className && target.className && target.className.split && target.className.split(' ').indexOf(className) > -1) {
702
+ targetElem = target;
703
+ } else if (target === container) {
704
+ return {
705
+ flag: className ? !!targetElem : true,
706
+ container: container,
707
+ targetElem: targetElem
708
+ };
709
+ }
710
+ target = target.parentNode;
711
+ }
712
+ return {
713
+ flag: false
714
+ };
715
+ }
716
+ /**
717
+ * 事件兼容性处理
718
+ */
719
+ function handleClearEvent(params) {
720
+ var $event = params.$event;
721
+ var bodyElem = document.body;
722
+ if (
723
+ // 下拉框
724
+ getEventTargetNode($event, bodyElem, 'ant-select-dropdown').flag ||
725
+ // 级联
726
+ getEventTargetNode($event, bodyElem, 'ant-cascader-menus').flag ||
727
+ // 日期
728
+ getEventTargetNode($event, bodyElem, 'ant-picker-dropdown').flag || getEventTargetNode($event, bodyElem, 'ant-calendar-picker-container').flag ||
729
+ // 时间选择
730
+ getEventTargetNode($event, bodyElem, 'ant-time-picker-panel').flag) {
731
+ return false;
732
+ }
733
+ }
734
+ var VxeUIPluginRenderAntd = exports.VxeUIPluginRenderAntd = {
735
+ install: function install(VxeUI, options) {
736
+ // 检查版本
737
+ if (!/^(4)\./.test(VxeUI.uiVersion)) {
738
+ console.error('[plugin-render-antd 4.x] Version 4.x is required');
739
+ }
740
+ (0, _table.defineTableRender)(VxeUI);
741
+ (0, _form.defineFormRender)(VxeUI);
742
+ (0, _formDesign.defineFormDesignRender)(VxeUI);
743
+ VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
744
+ VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
745
+ VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
746
+ // 兼容老版本
747
+ VxeUI.interceptor.add('event.clearActived', handleClearEvent);
748
+ }
749
+ };
750
+ if (typeof window !== 'undefined' && window.VxeUI && window.VxeUI.use) {
751
+ window.VxeUI.use(VxeUIPluginRenderAntd);
752
+ }
753
+ var _default = exports["default"] = VxeUIPluginRenderAntd;
754
+ }, {
755
+ "./form": 4,
756
+ "./form-design": 3,
757
+ "./table": 6
758
+ }],
759
+ 6: [function (require, module, exports) {
760
+ "use strict";
761
+
762
+ Object.defineProperty(exports, "__esModule", {
763
+ value: true
764
+ });
765
+ exports.defineTableRender = defineTableRender;
766
+ var _vue = require("vue");
767
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
768
+ function _interopRequireDefault(e) {
769
+ return e && e.__esModule ? e : {
770
+ "default": e
771
+ };
772
+ }
773
+ function _typeof(o) {
774
+ "@babel/helpers - typeof";
775
+
776
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
777
+ return typeof o;
778
+ } : function (o) {
779
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
780
+ }, _typeof(o);
781
+ }
782
+ function ownKeys(e, r) {
783
+ var t = Object.keys(e);
784
+ if (Object.getOwnPropertySymbols) {
785
+ var o = Object.getOwnPropertySymbols(e);
786
+ r && (o = o.filter(function (r) {
787
+ return Object.getOwnPropertyDescriptor(e, r).enumerable;
788
+ })), t.push.apply(t, o);
789
+ }
790
+ return t;
791
+ }
792
+ function _objectSpread(e) {
793
+ for (var r = 1; r < arguments.length; r++) {
794
+ var t = null != arguments[r] ? arguments[r] : {};
795
+ r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
796
+ _defineProperty(e, r, t[r]);
797
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
798
+ Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
799
+ });
800
+ }
801
+ return e;
802
+ }
803
+ function _defineProperty(e, r, t) {
804
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
805
+ value: t,
806
+ enumerable: !0,
807
+ configurable: !0,
808
+ writable: !0
809
+ }) : e[r] = t, e;
810
+ }
811
+ function _toPropertyKey(t) {
812
+ var i = _toPrimitive(t, "string");
813
+ return "symbol" == _typeof(i) ? i : i + "";
814
+ }
815
+ function _toPrimitive(t, r) {
816
+ if ("object" != _typeof(t) || !t) return t;
817
+ var e = t[Symbol.toPrimitive];
818
+ if (void 0 !== e) {
819
+ var i = e.call(t, r || "default");
820
+ if ("object" != _typeof(i)) return i;
821
+ throw new TypeError("@@toPrimitive must return a primitive value.");
822
+ }
823
+ return ("string" === r ? String : Number)(t);
824
+ }
825
+ /**
826
+ * 表格 - 渲染器
827
+ */
828
+ function defineTableRender(VxeUI) {
829
+ function isEmptyValue(cellValue) {
830
+ return cellValue === null || cellValue === undefined || cellValue === '';
831
+ }
832
+ function getOnName(type) {
833
+ return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
834
+ }
835
+ function getModelProp(renderOpts) {
836
+ var prop = 'value';
837
+ switch (renderOpts.name) {
838
+ case 'ASwitch':
839
+ prop = 'checked';
840
+ break;
841
+ }
842
+ return prop;
843
+ }
844
+ function getModelEvent(renderOpts) {
845
+ var type = 'update:value';
846
+ switch (renderOpts.name) {
847
+ case 'ASwitch':
848
+ type = 'update:checked';
849
+ break;
850
+ }
851
+ return type;
852
+ }
853
+ function dateFormatToVxeFormat(format) {
854
+ if (format) {
855
+ return "".concat(format).replace('YYYY', 'yyyy').replace('DD', 'dd');
856
+ }
857
+ return format;
858
+ }
859
+ function getChangeEvent(renderOpts) {
860
+ return 'change';
861
+ }
862
+ function getCellEditFilterProps(renderOpts, params, value, defaultProps) {
863
+ return _xeUtils["default"].assign({}, defaultProps, renderOpts.props, _defineProperty({}, getModelProp(renderOpts), value));
864
+ }
865
+ function formatText(cellValue) {
866
+ return '' + (isEmptyValue(cellValue) ? '' : cellValue);
867
+ }
868
+ function getCellLabelVNs(renderOpts, params, cellLabel) {
869
+ var placeholder = renderOpts.placeholder;
870
+ return [(0, _vue.h)('span', {
871
+ "class": 'vxe-cell--label'
872
+ }, placeholder && isEmptyValue(cellLabel) ? [(0, _vue.h)('span', {
873
+ "class": 'vxe-cell--placeholder'
874
+ }, formatText(placeholder))] : formatText(cellLabel))];
875
+ }
876
+ function getOns(renderOpts, params, inputFunc, changeFunc) {
877
+ var events = renderOpts.events;
878
+ var modelEvent = getModelEvent(renderOpts);
879
+ var changeEvent = getChangeEvent(renderOpts);
880
+ var isSameEvent = changeEvent === modelEvent;
881
+ var ons = {};
882
+ _xeUtils["default"].objectEach(events, function (func, key) {
883
+ ons[getOnName(key)] = function () {
884
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
885
+ args[_key] = arguments[_key];
886
+ }
887
+ func.apply(void 0, [params].concat(args));
888
+ };
889
+ });
890
+ if (inputFunc) {
891
+ ons[getOnName(modelEvent)] = function (targetEvnt) {
892
+ inputFunc(targetEvnt);
893
+ if (events && events[modelEvent]) {
894
+ events[modelEvent](params, targetEvnt);
895
+ }
896
+ if (isSameEvent && changeFunc) {
897
+ changeFunc(targetEvnt);
898
+ }
899
+ };
900
+ }
901
+ if (!isSameEvent && changeFunc) {
902
+ ons[getOnName(changeEvent)] = function () {
903
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
904
+ args[_key2] = arguments[_key2];
905
+ }
906
+ changeFunc.apply(void 0, args);
907
+ if (events && events[changeEvent]) {
908
+ events[changeEvent].apply(events, [params].concat(args));
909
+ }
910
+ };
911
+ }
912
+ return ons;
913
+ }
914
+ function getEditOns(renderOpts, params) {
915
+ var $table = params.$table,
916
+ row = params.row,
917
+ column = params.column;
918
+ return getOns(renderOpts, params, function (value) {
919
+ // 处理 model 值双向绑定
920
+ _xeUtils["default"].set(row, column.field, value);
921
+ }, function () {
922
+ // 处理 change 事件相关逻辑
923
+ $table.updateStatus(params);
924
+ });
925
+ }
926
+ function getFilterOns(renderOpts, params, option, changeFunc) {
927
+ return getOns(renderOpts, params, function (value) {
928
+ // 处理 model 值双向绑定
929
+ option.data = value;
930
+ }, changeFunc);
931
+ }
932
+ function matchCascaderData(index, list, values, labels) {
933
+ var val = values[index];
934
+ if (list && values.length > index) {
935
+ _xeUtils["default"].each(list, function (item) {
936
+ if (item.value === val) {
937
+ labels.push(item.label);
938
+ matchCascaderData(++index, item.children, values, labels);
939
+ }
940
+ });
941
+ }
942
+ }
943
+ function formatDatePicker(defaultFormat) {
944
+ return function (renderOpts, params) {
945
+ return getCellLabelVNs(renderOpts, params, getDatePickerCellValue(renderOpts, params, defaultFormat));
946
+ };
947
+ }
948
+ function getSelectCellValue(renderOpts, params) {
949
+ var _renderOpts$options = renderOpts.options,
950
+ options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
951
+ optionGroups = renderOpts.optionGroups,
952
+ _renderOpts$props = renderOpts.props,
953
+ props = _renderOpts$props === void 0 ? {} : _renderOpts$props,
954
+ _renderOpts$optionPro = renderOpts.optionProps,
955
+ optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
956
+ _renderOpts$optionGro = renderOpts.optionGroupProps,
957
+ optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
958
+ var row = params.row,
959
+ column = params.column;
960
+ var labelProp = optionProps.label || 'label';
961
+ var valueProp = optionProps.value || 'value';
962
+ var groupOptions = optionGroupProps.options || 'options';
963
+ var cellValue = _xeUtils["default"].get(row, column.field);
964
+ if (!isEmptyValue(cellValue)) {
965
+ return _xeUtils["default"].map(props.mode === 'multiple' ? cellValue : [cellValue], optionGroups ? function (value) {
966
+ var selectItem;
967
+ for (var index = 0; index < optionGroups.length; index++) {
968
+ selectItem = _xeUtils["default"].find(optionGroups[index][groupOptions], function (item) {
969
+ return item[valueProp] === value;
970
+ });
971
+ if (selectItem) {
972
+ break;
973
+ }
974
+ }
975
+ return selectItem ? selectItem[labelProp] : value;
976
+ } : function (value) {
977
+ var selectItem = _xeUtils["default"].find(options, function (item) {
978
+ return item[valueProp] === value;
979
+ });
980
+ return selectItem ? selectItem[labelProp] : value;
981
+ }).join(', ');
982
+ }
983
+ return '';
984
+ }
985
+ function getCascaderCellValue(renderOpts, params) {
986
+ var _renderOpts$props2 = renderOpts.props,
987
+ props = _renderOpts$props2 === void 0 ? {} : _renderOpts$props2;
988
+ var row = params.row,
989
+ column = params.column;
990
+ var cellValue = _xeUtils["default"].get(row, column.field);
991
+ var values = cellValue || [];
992
+ var labels = [];
993
+ matchCascaderData(0, props.options, values, labels);
994
+ return (props.showAllLevels === false ? labels.slice(labels.length - 1, labels.length) : labels).join(" ".concat(props.separator || '/', " "));
995
+ }
996
+ function getRangePickerCellValue(renderOpts, params) {
997
+ var _renderOpts$props3 = renderOpts.props,
998
+ props = _renderOpts$props3 === void 0 ? {} : _renderOpts$props3;
999
+ var row = params.row,
1000
+ column = params.column;
1001
+ var cellValue = _xeUtils["default"].get(row, column.field);
1002
+ if (cellValue) {
1003
+ cellValue = _xeUtils["default"].map(cellValue, function (date) {
1004
+ return date && date.format ? date.format(props.format || 'YYYY-MM-DD') : _xeUtils["default"].toDateString(date, dateFormatToVxeFormat(props.format || 'YYYY-MM-DD'));
1005
+ }).join(' ~ ');
1006
+ }
1007
+ return cellValue;
1008
+ }
1009
+ function getTreeSelectCellValue(renderOpts, params) {
1010
+ var _renderOpts$props4 = renderOpts.props,
1011
+ props = _renderOpts$props4 === void 0 ? {} : _renderOpts$props4;
1012
+ var treeData = props.treeData,
1013
+ treeCheckable = props.treeCheckable;
1014
+ var row = params.row,
1015
+ column = params.column;
1016
+ var cellValue = _xeUtils["default"].get(row, column.field);
1017
+ if (!isEmptyValue(cellValue)) {
1018
+ return _xeUtils["default"].map(treeCheckable ? cellValue : [cellValue], function (value) {
1019
+ var matchObj = _xeUtils["default"].findTree(treeData, function (item) {
1020
+ return item.value === value;
1021
+ }, {
1022
+ children: 'children'
1023
+ });
1024
+ return matchObj ? matchObj.item.title : value;
1025
+ }).join(', ');
1026
+ }
1027
+ return cellValue;
1028
+ }
1029
+ function getDatePickerCellValue(renderOpts, params, defaultFormat) {
1030
+ var _renderOpts$props5 = renderOpts.props,
1031
+ props = _renderOpts$props5 === void 0 ? {} : _renderOpts$props5;
1032
+ var row = params.row,
1033
+ column = params.column;
1034
+ var cellValue = _xeUtils["default"].get(row, column.field);
1035
+ try {
1036
+ if (cellValue) {
1037
+ cellValue = cellValue.format ? cellValue.format(props.format || defaultFormat) : _xeUtils["default"].toDateString(cellValue, dateFormatToVxeFormat(props.format || defaultFormat));
1038
+ }
1039
+ } catch (e) {}
1040
+ return cellValue;
1041
+ }
1042
+ function createEditRender(defaultProps) {
1043
+ return function (renderOpts, params) {
1044
+ var row = params.row,
1045
+ column = params.column;
1046
+ var name = renderOpts.name,
1047
+ attrs = renderOpts.attrs;
1048
+ var cellValue = _xeUtils["default"].get(row, column.field);
1049
+ return [(0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({}, attrs), getCellEditFilterProps(renderOpts, params, cellValue, defaultProps)), getEditOns(renderOpts, params)))];
1050
+ };
1051
+ }
1052
+ function defaultButtonEditRender(renderOpts, params) {
1053
+ var attrs = renderOpts.attrs;
1054
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-button'), _objectSpread(_objectSpread(_objectSpread({}, attrs), getCellEditFilterProps(renderOpts, params, null)), getOns(renderOpts, params)), cellText(renderOpts.content))];
1055
+ }
1056
+ function defaultButtonsEditRender(renderOpts, params) {
1057
+ var children = renderOpts.children;
1058
+ if (children) {
1059
+ return children.map(function (childRenderOpts) {
1060
+ return defaultButtonEditRender(childRenderOpts, params)[0];
1061
+ });
1062
+ }
1063
+ return [];
1064
+ }
1065
+ function createFilterRender(defaultProps) {
1066
+ return function (renderOpts, params) {
709
1067
  var column = params.column;
710
1068
  var name = renderOpts.name,
711
1069
  attrs = renderOpts.attrs;
@@ -713,43 +1071,244 @@
713
1071
  "class": 'vxe-table--filter-antd-wrapper'
714
1072
  }, column.filters.map(function (option, oIndex) {
715
1073
  var optionValue = option.data;
716
- return (0, _vue.h)(name, _objectSpread(_objectSpread(_objectSpread({
1074
+ return (0, _vue.h)((0, _vue.resolveComponent)(name), _objectSpread(_objectSpread(_objectSpread({
717
1075
  key: oIndex
718
- }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
1076
+ }, attrs), getCellEditFilterProps(renderOpts, params, optionValue, defaultProps)), getFilterOns(renderOpts, params, option, function () {
719
1077
  // 处理 change 事件相关逻辑
720
- handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option);
1078
+ handleConfirmFilter(params, !!option.data, option);
721
1079
  })));
722
1080
  }))];
723
- },
724
- defaultFilterMethod: defaultExactFilterMethod,
725
- renderItemContent: createFormItemRender()
726
- },
727
- ARadio: {
728
- renderItemContent: createFormItemRadioAndCheckboxRender()
729
- },
730
- ACheckbox: {
731
- renderItemContent: createFormItemRadioAndCheckboxRender()
732
- },
733
- AButton: {
734
- renderEdit: defaultButtonEditRender,
735
- renderDefault: defaultButtonEditRender,
736
- renderItemContent: defaultButtonItemRender
737
- },
738
- AButtons: {
739
- renderEdit: defaultButtonsEditRender,
740
- renderDefault: defaultButtonsEditRender,
741
- renderItemContent: defaultButtonsItemRender
1081
+ };
742
1082
  }
743
- });
744
- VxeUI.interceptor.add('event.clearFilter', handleClearEvent);
745
- VxeUI.interceptor.add('event.clearEdit', handleClearEvent);
746
- VxeUI.interceptor.add('event.clearAreas', handleClearEvent);
747
- // 兼容老版本
748
- VxeUI.interceptor.add('event.clearActived', handleClearEvent);
749
- }
750
- };
751
- if (typeof window !== 'undefined' && window.VxeUI && window.VxeUI.use) {
752
- window.VxeUI.use(VxeUIPluginRenderAntd);
753
- }
754
- var _default2 = _exports["default"] = VxeUIPluginRenderAntd;
1083
+ function handleConfirmFilter(params, checked, option) {
1084
+ var $panel = params.$panel;
1085
+ $panel.changeOption(null, checked, option);
1086
+ }
1087
+ /**
1088
+ * 模糊匹配
1089
+ * @param params
1090
+ */
1091
+ function defaultFuzzyFilterMethod(params) {
1092
+ var option = params.option,
1093
+ row = params.row,
1094
+ column = params.column;
1095
+ var data = option.data;
1096
+ var cellValue = _xeUtils["default"].get(row, column.field);
1097
+ return _xeUtils["default"].toValueString(cellValue).indexOf(data) > -1;
1098
+ }
1099
+ /**
1100
+ * 精确匹配
1101
+ * @param params
1102
+ */
1103
+ function defaultExactFilterMethod(params) {
1104
+ var option = params.option,
1105
+ row = params.row,
1106
+ column = params.column;
1107
+ var data = option.data;
1108
+ var cellValue = _xeUtils["default"].get(row, column.field);
1109
+ /* eslint-disable eqeqeq */
1110
+ return cellValue === data;
1111
+ }
1112
+ function cellText(cellValue) {
1113
+ return [formatText(cellValue)];
1114
+ }
1115
+ function createDatePickerExportMethod(defaultFormat) {
1116
+ return function (params) {
1117
+ var row = params.row,
1118
+ column = params.column,
1119
+ options = params.options;
1120
+ return options && options.original ? _xeUtils["default"].get(row, column.field) : getDatePickerCellValue(column.editRender || column.cellRender, params, defaultFormat);
1121
+ };
1122
+ }
1123
+ function createExportMethod(getExportCellValue) {
1124
+ return function (params) {
1125
+ var row = params.row,
1126
+ column = params.column,
1127
+ options = params.options;
1128
+ return options && options.original ? _xeUtils["default"].get(row, column.field) : getExportCellValue(column.editRender || column.cellRender, params);
1129
+ };
1130
+ }
1131
+ VxeUI.renderer.mixin({
1132
+ AAutoComplete: {
1133
+ tableAutoFocus: 'input.ant-input',
1134
+ renderTableDefault: createEditRender(),
1135
+ renderTableEdit: createEditRender(),
1136
+ renderTableFilter: createFilterRender(),
1137
+ tableFilterDefaultMethod: defaultExactFilterMethod
1138
+ },
1139
+ AInput: {
1140
+ tableAutoFocus: 'input.ant-input',
1141
+ renderTableDefault: createEditRender(),
1142
+ renderTableEdit: createEditRender(),
1143
+ renderTableFilter: createFilterRender(),
1144
+ tableFilterDefaultMethod: defaultFuzzyFilterMethod
1145
+ },
1146
+ AInputNumber: {
1147
+ tableAutoFocus: 'input.ant-input-number-input',
1148
+ renderTableDefault: createEditRender(),
1149
+ renderTableEdit: createEditRender(),
1150
+ renderTableFilter: createFilterRender(),
1151
+ tableFilterDefaultMethod: defaultFuzzyFilterMethod
1152
+ },
1153
+ ASelect: {
1154
+ renderTableEdit: function renderTableEdit(renderOpts, params) {
1155
+ var options = renderOpts.options,
1156
+ optionGroups = renderOpts.optionGroups;
1157
+ var row = params.row,
1158
+ column = params.column;
1159
+ var attrs = renderOpts.attrs;
1160
+ var cellValue = _xeUtils["default"].get(row, column.field);
1161
+ var props = getCellEditFilterProps(renderOpts, params, cellValue);
1162
+ var ons = getEditOns(renderOpts, params);
1163
+ if (optionGroups) {
1164
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), {}, {
1165
+ options: optionGroups
1166
+ }, ons))];
1167
+ }
1168
+ return [(0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({}, props), attrs), {}, {
1169
+ options: props.options || options
1170
+ }, ons))];
1171
+ },
1172
+ renderTableCell: function renderTableCell(renderOpts, params) {
1173
+ return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
1174
+ },
1175
+ renderTableFilter: function renderTableFilter(renderOpts, params) {
1176
+ var _renderOpts$options2 = renderOpts.options,
1177
+ options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
1178
+ optionGroups = renderOpts.optionGroups,
1179
+ _renderOpts$optionGro2 = renderOpts.optionGroupProps,
1180
+ optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
1181
+ var groupOptions = optionGroupProps.options || 'options';
1182
+ var column = params.column;
1183
+ var attrs = renderOpts.attrs;
1184
+ return [(0, _vue.h)('div', {
1185
+ "class": 'vxe-table--filter-antd-wrapper'
1186
+ }, optionGroups ? column.filters.map(function (option, oIndex) {
1187
+ var optionValue = option.data;
1188
+ var props = getCellEditFilterProps(renderOpts, params, optionValue);
1189
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({
1190
+ key: oIndex
1191
+ }, attrs), props), {}, {
1192
+ options: groupOptions
1193
+ }, getFilterOns(renderOpts, params, option, function () {
1194
+ // 处理 change 事件相关逻辑
1195
+ handleConfirmFilter(params, props.mode === 'multiple' ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
1196
+ })));
1197
+ }) : column.filters.map(function (option, oIndex) {
1198
+ var optionValue = option.data;
1199
+ var props = getCellEditFilterProps(renderOpts, params, optionValue);
1200
+ return (0, _vue.h)((0, _vue.resolveComponent)('a-select'), _objectSpread(_objectSpread(_objectSpread({
1201
+ key: oIndex
1202
+ }, attrs), props), {}, {
1203
+ options: props.options || options
1204
+ }, getFilterOns(renderOpts, params, option, function () {
1205
+ // 处理 change 事件相关逻辑
1206
+ handleConfirmFilter(params, props.mode === 'multiple' ? option.data && option.data.length > 0 : !_xeUtils["default"].eqNull(option.data), option);
1207
+ })));
1208
+ }))];
1209
+ },
1210
+ tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
1211
+ var option = params.option,
1212
+ row = params.row,
1213
+ column = params.column;
1214
+ var data = option.data;
1215
+ var field = column.field,
1216
+ renderOpts = column.filterRender;
1217
+ var _renderOpts$props6 = renderOpts.props,
1218
+ props = _renderOpts$props6 === void 0 ? {} : _renderOpts$props6;
1219
+ var cellValue = _xeUtils["default"].get(row, field);
1220
+ if (props.mode === 'multiple') {
1221
+ if (_xeUtils["default"].isArray(cellValue)) {
1222
+ return _xeUtils["default"].includeArrays(cellValue, data);
1223
+ }
1224
+ return data.indexOf(cellValue) > -1;
1225
+ }
1226
+ /* eslint-disable eqeqeq */
1227
+ return cellValue == data;
1228
+ },
1229
+ tableExportMethod: createExportMethod(getSelectCellValue)
1230
+ },
1231
+ ACascader: {
1232
+ renderTableEdit: createEditRender(),
1233
+ renderTableCell: function renderTableCell(renderOpts, params) {
1234
+ return getCellLabelVNs(renderOpts, params, getCascaderCellValue(renderOpts, params));
1235
+ },
1236
+ tableExportMethod: createExportMethod(getCascaderCellValue)
1237
+ },
1238
+ ADatePicker: {
1239
+ renderTableEdit: createEditRender(),
1240
+ renderTableCell: formatDatePicker('YYYY-MM-DD'),
1241
+ tableExportMethod: createDatePickerExportMethod('YYYY-MM-DD')
1242
+ },
1243
+ AMonthPicker: {
1244
+ renderTableEdit: createEditRender(),
1245
+ renderTableCell: formatDatePicker('YYYY-MM'),
1246
+ tableExportMethod: createDatePickerExportMethod('YYYY-MM')
1247
+ },
1248
+ ARangePicker: {
1249
+ renderTableEdit: createEditRender(),
1250
+ renderTableCell: function renderTableCell(renderOpts, params) {
1251
+ return getCellLabelVNs(renderOpts, params, getRangePickerCellValue(renderOpts, params));
1252
+ },
1253
+ tableExportMethod: createExportMethod(getRangePickerCellValue)
1254
+ },
1255
+ AWeekPicker: {
1256
+ renderTableEdit: createEditRender(),
1257
+ renderTableCell: formatDatePicker('YYYY-WW周'),
1258
+ tableExportMethod: createDatePickerExportMethod('YYYY-WW周')
1259
+ },
1260
+ ATimePicker: {
1261
+ renderTableEdit: createEditRender(),
1262
+ renderTableCell: formatDatePicker('HH:mm:ss'),
1263
+ tableExportMethod: createDatePickerExportMethod('HH:mm:ss')
1264
+ },
1265
+ ATreeSelect: {
1266
+ renderTableEdit: createEditRender(),
1267
+ renderTableCell: function renderTableCell(renderOpts, params) {
1268
+ return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
1269
+ },
1270
+ tableExportMethod: createExportMethod(getTreeSelectCellValue)
1271
+ },
1272
+ ARate: {
1273
+ renderTableDefault: createEditRender(),
1274
+ renderTableEdit: createEditRender(),
1275
+ renderTableFilter: createFilterRender(),
1276
+ tableFilterDefaultMethod: defaultExactFilterMethod
1277
+ },
1278
+ ASwitch: {
1279
+ renderTableDefault: createEditRender(),
1280
+ renderTableEdit: createEditRender(),
1281
+ renderTableFilter: function renderTableFilter(renderOpts, params) {
1282
+ var column = params.column;
1283
+ var name = renderOpts.name,
1284
+ attrs = renderOpts.attrs;
1285
+ return [(0, _vue.h)('div', {
1286
+ "class": 'vxe-table--filter-antd-wrapper'
1287
+ }, column.filters.map(function (option, oIndex) {
1288
+ var optionValue = option.data;
1289
+ return (0, _vue.h)(name, _objectSpread(_objectSpread(_objectSpread({
1290
+ key: oIndex
1291
+ }, attrs), getCellEditFilterProps(renderOpts, params, optionValue)), getFilterOns(renderOpts, params, option, function () {
1292
+ // 处理 change 事件相关逻辑
1293
+ handleConfirmFilter(params, _xeUtils["default"].isBoolean(option.data), option);
1294
+ })));
1295
+ }))];
1296
+ },
1297
+ tableFilterDefaultMethod: defaultExactFilterMethod
1298
+ },
1299
+ AButton: {
1300
+ renderTableEdit: defaultButtonEditRender,
1301
+ renderTableDefault: defaultButtonEditRender
1302
+ },
1303
+ AButtons: {
1304
+ renderTableEdit: defaultButtonsEditRender,
1305
+ renderTableDefault: defaultButtonsEditRender
1306
+ }
1307
+ });
1308
+ }
1309
+ }, {
1310
+ "vue": "vue",
1311
+ "xe-utils": "xe-utils"
1312
+ }]
1313
+ }, {}, [5]);
755
1314
  });