@vxe-ui/plugin-render-element 4.4.1 → 4.4.4

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/es/table/index.js CHANGED
@@ -203,9 +203,71 @@ export function defineTableRender(VxeUI) {
203
203
  });
204
204
  }
205
205
  }
206
+ function handleFormatSelect(renderOpts, renderParams) {
207
+ const { cellValue } = renderParams;
208
+ return handleSelectCellValue(cellValue, renderOpts, renderParams);
209
+ }
210
+ function handleSetSelectValue(renderOpts, renderParams) {
211
+ const { row, column, cellValue } = renderParams;
212
+ const { field } = column;
213
+ if (field) {
214
+ const { options, optionGroups, optionProps = {}, optionGroupProps = {}, props } = renderOpts;
215
+ if (isEmptyValue(cellValue)) {
216
+ XEUtils.set(row, field, props && props.multiple ? [] : null);
217
+ return;
218
+ }
219
+ const isMultiVal = XEUtils.indexOf(`${cellValue}`, ',') > -1;
220
+ const labelProp = optionProps.label || 'label';
221
+ const valueProp = optionProps.value || 'value';
222
+ const labelMpas = {};
223
+ if (optionGroups && optionGroups.length) {
224
+ const groupOptions = optionGroupProps.options || 'options';
225
+ for (let i = 0; i < optionGroups.length; i++) {
226
+ const opts = optionGroups[i][groupOptions] || {};
227
+ for (let j = 0; j < opts.length; j++) {
228
+ const item = opts[j];
229
+ if (isMultiVal) {
230
+ labelMpas[item[labelProp]] = item;
231
+ /* eslint-disable eqeqeq */
232
+ }
233
+ else if (item[labelProp] == cellValue) {
234
+ XEUtils.set(row, field, item[valueProp]);
235
+ return;
236
+ }
237
+ }
238
+ }
239
+ }
240
+ else {
241
+ if (options) {
242
+ for (let i = 0; i < options.length; i++) {
243
+ const item = options[i];
244
+ if (isMultiVal) {
245
+ labelMpas[item[labelProp]] = item;
246
+ /* eslint-disable eqeqeq */
247
+ }
248
+ else if (item[labelProp] == cellValue) {
249
+ XEUtils.set(row, field, item[valueProp]);
250
+ return;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ if (isMultiVal) {
256
+ XEUtils.set(row, field, (isMultiVal
257
+ ? cellValue.split(',')
258
+ : [cellValue]).map((label) => {
259
+ const item = labelMpas[label];
260
+ return item ? item[valueProp] : label;
261
+ }));
262
+ }
263
+ else {
264
+ XEUtils.set(row, field, cellValue);
265
+ }
266
+ }
267
+ }
206
268
  function handleSelectCellValue(cellValue, renderOpts, renderParams) {
207
269
  const { options = [], optionGroups, props = {}, optionProps = {}, optionGroupProps = {} } = renderOpts;
208
- const { $table, rowid, column } = renderParams;
270
+ const { $table, row, column } = renderParams;
209
271
  const { filterable, multiple } = props;
210
272
  const labelProp = optionProps.label || 'label';
211
273
  const valueProp = optionProps.value || 'value';
@@ -215,6 +277,7 @@ export function defineTableRender(VxeUI) {
215
277
  if (filterable) {
216
278
  const { internalData } = $table;
217
279
  const { fullAllDataRowIdData } = internalData;
280
+ const rowid = renderParams.rowid || $table.getRowid(row);
218
281
  const rest = fullAllDataRowIdData[rowid];
219
282
  if (rest) {
220
283
  cellData = rest.cellData;
@@ -406,11 +469,17 @@ export function defineTableRender(VxeUI) {
406
469
  { data: null }
407
470
  ];
408
471
  }
472
+ function handleDefaultCellValue(renderOpts, renderParams) {
473
+ const { row, column } = renderParams;
474
+ const cellValue = XEUtils.get(row, column.field);
475
+ return formatText(cellValue);
476
+ }
409
477
  VxeUI.renderer.mixin({
410
478
  ElAutocomplete: {
411
479
  tableAutoFocus: 'input',
412
480
  renderTableDefault: createEditRender(),
413
481
  renderTableEdit: createEditRender(),
482
+ renderTableCell: handleDefaultCellValue,
414
483
  createTableFilterOptions: defaultFilterOptions,
415
484
  renderTableFilter: createFilterRender(),
416
485
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -419,6 +488,7 @@ export function defineTableRender(VxeUI) {
419
488
  tableAutoFocus: 'input',
420
489
  renderTableDefault: createEditRender(),
421
490
  renderTableEdit: createEditRender(),
491
+ renderTableCell: handleDefaultCellValue,
422
492
  createTableFilterOptions: defaultFilterOptions,
423
493
  renderTableFilter: createFilterRender(),
424
494
  renderTableFloatingFilter: createFloatingFilterRender(),
@@ -428,6 +498,7 @@ export function defineTableRender(VxeUI) {
428
498
  tableAutoFocus: 'input',
429
499
  renderTableDefault: createEditRender(),
430
500
  renderTableEdit: createEditRender(),
501
+ renderTableCell: handleDefaultCellValue,
431
502
  createTableFilterOptions: defaultFilterOptions,
432
503
  renderTableFilter: createFilterRender(),
433
504
  renderTableFloatingFilter: createFloatingFilterRender(),
@@ -536,6 +607,9 @@ export function defineTableRender(VxeUI) {
536
607
  }))
537
608
  ];
538
609
  },
610
+ tableCellFormatter: handleFormatSelect,
611
+ tableCellCopyMethod: handleFormatSelect,
612
+ tableCellPasteMethod: handleSetSelectValue,
539
613
  tableFilterDefaultMethod(params) {
540
614
  const { option, row, column } = params;
541
615
  const { data } = option;
@@ -616,11 +690,13 @@ export function defineTableRender(VxeUI) {
616
690
  },
617
691
  ElTimeSelect: {
618
692
  tableAutoFocus: 'input',
619
- renderTableEdit: createEditRender()
693
+ renderTableEdit: createEditRender(),
694
+ renderTableCell: handleDefaultCellValue
620
695
  },
621
696
  ElRate: {
622
697
  renderTableDefault: createEditRender(),
623
698
  renderTableEdit: createEditRender(),
699
+ renderTableCell: handleDefaultCellValue,
624
700
  createTableFilterOptions: defaultFilterOptions,
625
701
  renderTableFilter: createFilterRender(),
626
702
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -628,6 +704,7 @@ export function defineTableRender(VxeUI) {
628
704
  ElSwitch: {
629
705
  renderTableDefault: createEditRender(),
630
706
  renderTableEdit: createEditRender(),
707
+ renderTableCell: handleDefaultCellValue,
631
708
  renderTableFilter(renderOpts, params) {
632
709
  const { column } = params;
633
710
  const { name, attrs } = renderOpts;
@@ -648,6 +725,7 @@ export function defineTableRender(VxeUI) {
648
725
  ElSlider: {
649
726
  renderTableDefault: createEditRender(),
650
727
  renderTableEdit: createEditRender(),
728
+ renderTableCell: handleDefaultCellValue,
651
729
  createTableFilterOptions: defaultFilterOptions,
652
730
  renderTableFilter: createFilterRender(),
653
731
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -56,7 +56,7 @@ var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
56
56
  _store.componentMaps[kcName] = comp;
57
57
  _store.componentMaps[ccName] = comp;
58
58
  } else {
59
- console.error('[@vxe-ui/plugin-render-element 4.4.1] error component.', comp);
59
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] error component.', comp);
60
60
  }
61
61
  },
62
62
  install: function install(VxeUI, options) {
@@ -70,11 +70,11 @@ var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
70
70
  var pVersion = 4;
71
71
  var sVersion = 11;
72
72
  if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
73
- console.error("[@vxe-ui/plugin-render-element 4.4.1] ".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"));
73
+ console.error("[@vxe-ui/plugin-render-element 4.4.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"));
74
74
  }
75
75
  } else {
76
76
  if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
77
- console.error('[@vxe-ui/plugin-render-element 4.4.1] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
77
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
78
78
  }
79
79
  }
80
80
  /**
package/lib/index.js CHANGED
@@ -56,7 +56,7 @@ var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
56
56
  _store.componentMaps[kcName] = comp;
57
57
  _store.componentMaps[ccName] = comp;
58
58
  } else {
59
- console.error('[@vxe-ui/plugin-render-element 4.4.1] error component.', comp);
59
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] error component.', comp);
60
60
  }
61
61
  },
62
62
  install: function install(VxeUI, options) {
@@ -70,11 +70,11 @@ var VxeUIPluginRenderElement = exports.VxeUIPluginRenderElement = {
70
70
  var pVersion = 4;
71
71
  var sVersion = 11;
72
72
  if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
73
- console.error("[@vxe-ui/plugin-render-element 4.4.1] ".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"));
73
+ console.error("[@vxe-ui/plugin-render-element 4.4.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"));
74
74
  }
75
75
  } else {
76
76
  if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
77
- console.error('[@vxe-ui/plugin-render-element 4.4.1] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
77
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
78
78
  }
79
79
  }
80
80
  /**
package/lib/index.umd.js CHANGED
@@ -301,18 +301,82 @@
301
301
  });
302
302
  }
303
303
  }
304
+ function handleFormatSelect(renderOpts, renderParams) {
305
+ var cellValue = renderParams.cellValue;
306
+ return handleSelectCellValue(cellValue, renderOpts, renderParams);
307
+ }
308
+ function handleSetSelectValue(renderOpts, renderParams) {
309
+ var row = renderParams.row,
310
+ column = renderParams.column,
311
+ cellValue = renderParams.cellValue;
312
+ var field = column.field;
313
+ if (field) {
314
+ var options = renderOpts.options,
315
+ optionGroups = renderOpts.optionGroups,
316
+ _renderOpts$optionPro = renderOpts.optionProps,
317
+ optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
318
+ _renderOpts$optionGro = renderOpts.optionGroupProps,
319
+ optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro,
320
+ props = renderOpts.props;
321
+ if (isEmptyValue(cellValue)) {
322
+ _xeUtils["default"].set(row, field, props && props.multiple ? [] : null);
323
+ return;
324
+ }
325
+ var isMultiVal = _xeUtils["default"].indexOf("".concat(cellValue), ',') > -1;
326
+ var labelProp = optionProps.label || 'label';
327
+ var valueProp = optionProps.value || 'value';
328
+ var labelMpas = {};
329
+ if (optionGroups && optionGroups.length) {
330
+ var groupOptions = optionGroupProps.options || 'options';
331
+ for (var i = 0; i < optionGroups.length; i++) {
332
+ var opts = optionGroups[i][groupOptions] || {};
333
+ for (var j = 0; j < opts.length; j++) {
334
+ var item = opts[j];
335
+ if (isMultiVal) {
336
+ labelMpas[item[labelProp]] = item;
337
+ /* eslint-disable eqeqeq */
338
+ } else if (item[labelProp] == cellValue) {
339
+ _xeUtils["default"].set(row, field, item[valueProp]);
340
+ return;
341
+ }
342
+ }
343
+ }
344
+ } else {
345
+ if (options) {
346
+ for (var _i = 0; _i < options.length; _i++) {
347
+ var _item = options[_i];
348
+ if (isMultiVal) {
349
+ labelMpas[_item[labelProp]] = _item;
350
+ /* eslint-disable eqeqeq */
351
+ } else if (_item[labelProp] == cellValue) {
352
+ _xeUtils["default"].set(row, field, _item[valueProp]);
353
+ return;
354
+ }
355
+ }
356
+ }
357
+ }
358
+ if (isMultiVal) {
359
+ _xeUtils["default"].set(row, field, (isMultiVal ? cellValue.split(',') : [cellValue]).map(function (label) {
360
+ var item = labelMpas[label];
361
+ return item ? item[valueProp] : label;
362
+ }));
363
+ } else {
364
+ _xeUtils["default"].set(row, field, cellValue);
365
+ }
366
+ }
367
+ }
304
368
  function handleSelectCellValue(cellValue, renderOpts, renderParams) {
305
369
  var _renderOpts$options = renderOpts.options,
306
370
  options = _renderOpts$options === void 0 ? [] : _renderOpts$options,
307
371
  optionGroups = renderOpts.optionGroups,
308
372
  _renderOpts$props = renderOpts.props,
309
373
  props = _renderOpts$props === void 0 ? {} : _renderOpts$props,
310
- _renderOpts$optionPro = renderOpts.optionProps,
311
- optionProps = _renderOpts$optionPro === void 0 ? {} : _renderOpts$optionPro,
312
- _renderOpts$optionGro = renderOpts.optionGroupProps,
313
- optionGroupProps = _renderOpts$optionGro === void 0 ? {} : _renderOpts$optionGro;
374
+ _renderOpts$optionPro2 = renderOpts.optionProps,
375
+ optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
376
+ _renderOpts$optionGro2 = renderOpts.optionGroupProps,
377
+ optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
314
378
  var $table = renderParams.$table,
315
- rowid = renderParams.rowid,
379
+ row = renderParams.row,
316
380
  column = renderParams.column;
317
381
  var filterable = props.filterable,
318
382
  multiple = props.multiple;
@@ -324,6 +388,7 @@
324
388
  if (filterable) {
325
389
  var internalData = $table.internalData;
326
390
  var fullAllDataRowIdData = internalData.fullAllDataRowIdData;
391
+ var rowid = renderParams.rowid || $table.getRowid(row);
327
392
  var rest = fullAllDataRowIdData[rowid];
328
393
  if (rest) {
329
394
  cellData = rest.cellData;
@@ -544,11 +609,18 @@
544
609
  data: null
545
610
  }];
546
611
  }
612
+ function handleDefaultCellValue(renderOpts, renderParams) {
613
+ var row = renderParams.row,
614
+ column = renderParams.column;
615
+ var cellValue = _xeUtils["default"].get(row, column.field);
616
+ return formatText(cellValue);
617
+ }
547
618
  VxeUI.renderer.mixin({
548
619
  ElAutocomplete: {
549
620
  tableAutoFocus: 'input',
550
621
  renderTableDefault: createEditRender(),
551
622
  renderTableEdit: createEditRender(),
623
+ renderTableCell: handleDefaultCellValue,
552
624
  createTableFilterOptions: defaultFilterOptions,
553
625
  renderTableFilter: createFilterRender(),
554
626
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -557,6 +629,7 @@
557
629
  tableAutoFocus: 'input',
558
630
  renderTableDefault: createEditRender(),
559
631
  renderTableEdit: createEditRender(),
632
+ renderTableCell: handleDefaultCellValue,
560
633
  createTableFilterOptions: defaultFilterOptions,
561
634
  renderTableFilter: createFilterRender(),
562
635
  renderTableFloatingFilter: createFloatingFilterRender(),
@@ -566,6 +639,7 @@
566
639
  tableAutoFocus: 'input',
567
640
  renderTableDefault: createEditRender(),
568
641
  renderTableEdit: createEditRender(),
642
+ renderTableCell: handleDefaultCellValue,
569
643
  createTableFilterOptions: defaultFilterOptions,
570
644
  renderTableFilter: createFilterRender(),
571
645
  renderTableFloatingFilter: createFloatingFilterRender(),
@@ -584,10 +658,10 @@
584
658
  var _renderOpts$options2 = renderOpts.options,
585
659
  options = _renderOpts$options2 === void 0 ? [] : _renderOpts$options2,
586
660
  optionGroups = renderOpts.optionGroups,
587
- _renderOpts$optionPro2 = renderOpts.optionProps,
588
- optionProps = _renderOpts$optionPro2 === void 0 ? {} : _renderOpts$optionPro2,
589
- _renderOpts$optionGro2 = renderOpts.optionGroupProps,
590
- optionGroupProps = _renderOpts$optionGro2 === void 0 ? {} : _renderOpts$optionGro2;
661
+ _renderOpts$optionPro3 = renderOpts.optionProps,
662
+ optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
663
+ _renderOpts$optionGro3 = renderOpts.optionGroupProps,
664
+ optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
591
665
  var row = params.row,
592
666
  column = params.column;
593
667
  var attrs = renderOpts.attrs;
@@ -654,10 +728,10 @@
654
728
  var _renderOpts$options3 = renderOpts.options,
655
729
  options = _renderOpts$options3 === void 0 ? [] : _renderOpts$options3,
656
730
  optionGroups = renderOpts.optionGroups,
657
- _renderOpts$optionPro3 = renderOpts.optionProps,
658
- optionProps = _renderOpts$optionPro3 === void 0 ? {} : _renderOpts$optionPro3,
659
- _renderOpts$optionGro3 = renderOpts.optionGroupProps,
660
- optionGroupProps = _renderOpts$optionGro3 === void 0 ? {} : _renderOpts$optionGro3;
731
+ _renderOpts$optionPro4 = renderOpts.optionProps,
732
+ optionProps = _renderOpts$optionPro4 === void 0 ? {} : _renderOpts$optionPro4,
733
+ _renderOpts$optionGro4 = renderOpts.optionGroupProps,
734
+ optionGroupProps = _renderOpts$optionGro4 === void 0 ? {} : _renderOpts$optionGro4;
661
735
  var groupOptions = optionGroupProps.options || 'options';
662
736
  var groupLabel = optionGroupProps.label || 'label';
663
737
  var column = params.column;
@@ -701,6 +775,9 @@
701
775
  });
702
776
  }))];
703
777
  },
778
+ tableCellFormatter: handleFormatSelect,
779
+ tableCellCopyMethod: handleFormatSelect,
780
+ tableCellPasteMethod: handleSetSelectValue,
704
781
  tableFilterDefaultMethod: function tableFilterDefaultMethod(params) {
705
782
  var option = params.option,
706
783
  row = params.row,
@@ -789,11 +866,13 @@
789
866
  },
790
867
  ElTimeSelect: {
791
868
  tableAutoFocus: 'input',
792
- renderTableEdit: createEditRender()
869
+ renderTableEdit: createEditRender(),
870
+ renderTableCell: handleDefaultCellValue
793
871
  },
794
872
  ElRate: {
795
873
  renderTableDefault: createEditRender(),
796
874
  renderTableEdit: createEditRender(),
875
+ renderTableCell: handleDefaultCellValue,
797
876
  createTableFilterOptions: defaultFilterOptions,
798
877
  renderTableFilter: createFilterRender(),
799
878
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -801,6 +880,7 @@
801
880
  ElSwitch: {
802
881
  renderTableDefault: createEditRender(),
803
882
  renderTableEdit: createEditRender(),
883
+ renderTableCell: handleDefaultCellValue,
804
884
  renderTableFilter: function renderTableFilter(renderOpts, params) {
805
885
  var column = params.column;
806
886
  var name = renderOpts.name,
@@ -822,6 +902,7 @@
822
902
  ElSlider: {
823
903
  renderTableDefault: createEditRender(),
824
904
  renderTableEdit: createEditRender(),
905
+ renderTableCell: handleDefaultCellValue,
825
906
  createTableFilterOptions: defaultFilterOptions,
826
907
  renderTableFilter: createFilterRender(),
827
908
  tableFilterDefaultMethod: defaultExactFilterMethod
@@ -2928,7 +3009,7 @@
2928
3009
  _store.componentMaps[kcName] = comp;
2929
3010
  _store.componentMaps[ccName] = comp;
2930
3011
  } else {
2931
- console.error('[@vxe-ui/plugin-render-element 4.4.1] error component.', comp);
3012
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] error component.', comp);
2932
3013
  }
2933
3014
  },
2934
3015
  install: function install(VxeUI, options) {
@@ -2942,11 +3023,11 @@
2942
3023
  var pVersion = 4;
2943
3024
  var sVersion = 11;
2944
3025
  if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
2945
- console.error("[@vxe-ui/plugin-render-element 4.4.1] ".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"));
3026
+ console.error("[@vxe-ui/plugin-render-element 4.4.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"));
2946
3027
  }
2947
3028
  } else {
2948
3029
  if (!/^(4)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
2949
- console.error('[@vxe-ui/plugin-render-element 4.4.1] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
3030
+ console.error('[@vxe-ui/plugin-render-element 4.4.4] Requires vxe-table 4.7.0+ version. https://vxeui.com/other4/#/plugin-render-element/install');
2950
3031
  }
2951
3032
  }
2952
3033
  /**