@vxe-ui/plugin-render-antd 4.4.0 → 4.4.2
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 +87 -9
- package/dist/index.umd.min.js +1 -1
- package/es/index.esm.js +3 -3
- package/es/index.js +3 -3
- package/es/table/index.js +75 -0
- package/lib/index.common.js +3 -3
- package/lib/index.js +3 -3
- package/lib/index.umd.js +87 -9
- package/lib/index.umd.min.js +1 -1
- package/lib/table/index.js +84 -6
- package/package.json +17 -17
- package/src/form/index.ts +3 -3
- package/src/table/index.ts +74 -0
package/src/table/index.ts
CHANGED
|
@@ -156,6 +156,66 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
+
function handleFormatSelect (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, renderParams: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
160
|
+
const { cellValue } = renderParams
|
|
161
|
+
return handleSelectCellValue(cellValue, renderOpts)
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function handleSetSelectValue (renderOpts: VxeGlobalRendererHandles.RenderTableDefaultOptions, renderParams: VxeGlobalRendererHandles.TableCellFormatterParams | VxeGlobalRendererHandles.TableCellCopyMethodParams) {
|
|
165
|
+
const { row, column, cellValue } = renderParams
|
|
166
|
+
const { field } = column
|
|
167
|
+
if (field) {
|
|
168
|
+
const { options, optionGroups, optionProps = {}, optionGroupProps = {}, props } = renderOpts
|
|
169
|
+
if (isEmptyValue(cellValue)) {
|
|
170
|
+
XEUtils.set(row, field, props && props.mode === 'multiple' ? [] : null)
|
|
171
|
+
return
|
|
172
|
+
}
|
|
173
|
+
const isMultiVal = XEUtils.indexOf(`${cellValue}`, ',') > -1
|
|
174
|
+
const labelProp = optionProps.label || 'label'
|
|
175
|
+
const valueProp = optionProps.value || 'value'
|
|
176
|
+
const labelMpas: Record<string, any> = {}
|
|
177
|
+
if (optionGroups && optionGroups.length) {
|
|
178
|
+
const groupOptions = optionGroupProps.options || 'options'
|
|
179
|
+
for (let i = 0; i < optionGroups.length; i++) {
|
|
180
|
+
const opts = optionGroups[i][groupOptions] || {}
|
|
181
|
+
for (let j = 0; j < opts.length; j++) {
|
|
182
|
+
const item = opts[j]
|
|
183
|
+
if (isMultiVal) {
|
|
184
|
+
labelMpas[item[labelProp]] = item
|
|
185
|
+
/* eslint-disable eqeqeq */
|
|
186
|
+
} else if (item[labelProp] == cellValue) {
|
|
187
|
+
XEUtils.set(row, field, item[valueProp])
|
|
188
|
+
return
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
} else {
|
|
193
|
+
if (options) {
|
|
194
|
+
for (let i = 0; i < options.length; i++) {
|
|
195
|
+
const item = options[i]
|
|
196
|
+
if (isMultiVal) {
|
|
197
|
+
labelMpas[item[labelProp]] = item
|
|
198
|
+
/* eslint-disable eqeqeq */
|
|
199
|
+
} else if (item[labelProp] == cellValue) {
|
|
200
|
+
XEUtils.set(row, field, item[valueProp])
|
|
201
|
+
return
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (isMultiVal) {
|
|
207
|
+
XEUtils.set(row, field, (isMultiVal
|
|
208
|
+
? cellValue.split(',')
|
|
209
|
+
: [cellValue]).map((label: any) => {
|
|
210
|
+
const item = labelMpas[label]
|
|
211
|
+
return item ? item[valueProp] : label
|
|
212
|
+
}))
|
|
213
|
+
} else {
|
|
214
|
+
XEUtils.set(row, field, cellValue)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
159
219
|
function handleSelectCellValue (cellValue: any, renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions) {
|
|
160
220
|
const { options = [], optionGroups, props = {}, optionProps = {}, optionGroupProps = {} } = renderOpts
|
|
161
221
|
const labelProp = optionProps.label || 'label'
|
|
@@ -356,11 +416,18 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
356
416
|
}
|
|
357
417
|
}
|
|
358
418
|
|
|
419
|
+
function handleDefaultCellValue (renderOpts: VxeGlobalRendererHandles.RenderTableCellOptions, renderParams: VxeGlobalRendererHandles.RenderTableCellParams) {
|
|
420
|
+
const { row, column } = renderParams
|
|
421
|
+
const cellValue = XEUtils.get(row, column.field)
|
|
422
|
+
return formatText(cellValue)
|
|
423
|
+
}
|
|
424
|
+
|
|
359
425
|
VxeUI.renderer.mixin({
|
|
360
426
|
AAutoComplete: {
|
|
361
427
|
tableAutoFocus: 'input',
|
|
362
428
|
renderTableDefault: createEditRender(),
|
|
363
429
|
renderTableEdit: createEditRender(),
|
|
430
|
+
renderTableCell: handleDefaultCellValue,
|
|
364
431
|
renderTableFilter: createFilterRender(),
|
|
365
432
|
tableFilterDefaultMethod: defaultExactFilterMethod
|
|
366
433
|
},
|
|
@@ -368,6 +435,7 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
368
435
|
tableAutoFocus: 'input',
|
|
369
436
|
renderTableDefault: createEditRender(),
|
|
370
437
|
renderTableEdit: createEditRender(),
|
|
438
|
+
renderTableCell: handleDefaultCellValue,
|
|
371
439
|
renderTableFilter: createFilterRender(),
|
|
372
440
|
tableFilterDefaultMethod: defaultFuzzyFilterMethod
|
|
373
441
|
},
|
|
@@ -375,6 +443,7 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
375
443
|
tableAutoFocus: 'input',
|
|
376
444
|
renderTableDefault: createEditRender(),
|
|
377
445
|
renderTableEdit: createEditRender(),
|
|
446
|
+
renderTableCell: handleDefaultCellValue,
|
|
378
447
|
renderTableFilter: createFilterRender(),
|
|
379
448
|
tableFilterDefaultMethod: defaultFuzzyFilterMethod
|
|
380
449
|
},
|
|
@@ -467,6 +536,9 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
467
536
|
}))
|
|
468
537
|
]
|
|
469
538
|
},
|
|
539
|
+
tableCellFormatter: handleFormatSelect,
|
|
540
|
+
tableCellCopyMethod: handleFormatSelect,
|
|
541
|
+
tableCellPasteMethod: handleSetSelectValue,
|
|
470
542
|
tableFilterDefaultMethod (params) {
|
|
471
543
|
const { option, row, column } = params
|
|
472
544
|
const { data } = option
|
|
@@ -528,12 +600,14 @@ export function defineTableRender (VxeUI: VxeUIExport) {
|
|
|
528
600
|
ARate: {
|
|
529
601
|
renderTableDefault: createEditRender(),
|
|
530
602
|
renderTableEdit: createEditRender(),
|
|
603
|
+
renderTableCell: handleDefaultCellValue,
|
|
531
604
|
renderTableFilter: createFilterRender(),
|
|
532
605
|
tableFilterDefaultMethod: defaultExactFilterMethod
|
|
533
606
|
},
|
|
534
607
|
ASwitch: {
|
|
535
608
|
renderTableDefault: createEditRender(),
|
|
536
609
|
renderTableEdit: createEditRender(),
|
|
610
|
+
renderTableCell: handleDefaultCellValue,
|
|
537
611
|
renderTableFilter (renderOpts, params) {
|
|
538
612
|
const { column } = params
|
|
539
613
|
const { name, attrs } = renderOpts
|