@vue-start/element-pro 0.2.1 → 0.2.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/dist/index.d.ts +19 -2
- package/dist/index.es.js +126 -33
- package/dist/index.js +127 -30
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -3,12 +3,13 @@ import { VNode, DefineComponent, ExtractPropTypes, PropType, Component } from 'v
|
|
|
3
3
|
import * as element_plus from 'element-plus';
|
|
4
4
|
import { FormItemProps, ButtonProps as ButtonProps$1, ElSelect } from 'element-plus';
|
|
5
5
|
import { FormItemRule } from 'element-plus/es/tokens/form';
|
|
6
|
-
import { TTableColumn, ProFormProps as ProFormProps$1, ProSearchFormProps as ProSearchFormProps$1, ProFormListProps as ProFormListProps$1, ProTableProps as ProTableProps$1, ProCurdAddOrEditProps, TPageState } from '@vue-start/pro';
|
|
6
|
+
import { TTableColumn, ProFormProps as ProFormProps$1, ProSearchFormProps as ProSearchFormProps$1, ProFormListProps as ProFormListProps$1, ProTableProps as ProTableProps$1, ProCurdAddOrEditProps, TPageState, TOptions as TOptions$1 } from '@vue-start/pro';
|
|
7
7
|
import { FilterMethods, Filters } from 'element-plus/es/components/table/src/table-column/defaults';
|
|
8
8
|
import { ColSizeObject } from 'element-plus/es/components/col/src/col';
|
|
9
9
|
import * as element_plus_es_utils from 'element-plus/es/utils';
|
|
10
10
|
import { TableProps } from 'element-plus/es/components/table/src/table/defaults';
|
|
11
11
|
import { Slots } from '@vue/runtime-core';
|
|
12
|
+
import { RadioGroupProps } from 'element-plus/es/components/radio/src/radio-group';
|
|
12
13
|
|
|
13
14
|
interface ModalProps {
|
|
14
15
|
appendToBody?: boolean;
|
|
@@ -249,6 +250,7 @@ interface FormProps {
|
|
|
249
250
|
hideRequiredAsterisk?: boolean;
|
|
250
251
|
scrollToError?: boolean;
|
|
251
252
|
}
|
|
253
|
+
declare const FormMethods: string[];
|
|
252
254
|
declare type ProFormProps = ProFormProps$1 & FormProps & Omit<ProGridProps, "items"> & {
|
|
253
255
|
onFinish?: (showValues: Record<string, any>, values: Record<string, any>) => void;
|
|
254
256
|
onFinishFailed?: (invalidFields: Record<string, any>) => void;
|
|
@@ -1017,6 +1019,8 @@ declare const createFormItemComponent: ({ InputComp, valueType, name }: {
|
|
|
1017
1019
|
[x: string]: any;
|
|
1018
1020
|
}>;
|
|
1019
1021
|
|
|
1022
|
+
declare type ProTableColumnProps = TableColumnCtx<any>;
|
|
1023
|
+
declare const ProTableColumn: DefineComponent<ProTableColumnProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<ProTableColumnProps>, {}>;
|
|
1020
1024
|
declare type ProTableProps = Omit<ProTableProps$1, "columns"> & {
|
|
1021
1025
|
columns?: TColumns;
|
|
1022
1026
|
} & Omit<TableProps<any>, "tableLayout" | "flexible" | "data"> & {
|
|
@@ -1025,6 +1029,7 @@ declare type ProTableProps = Omit<ProTableProps$1, "columns"> & {
|
|
|
1025
1029
|
data?: any;
|
|
1026
1030
|
loading?: boolean;
|
|
1027
1031
|
};
|
|
1032
|
+
declare const TableMethods: string[];
|
|
1028
1033
|
declare const ProTable: DefineComponent<ProTableProps>;
|
|
1029
1034
|
|
|
1030
1035
|
declare type ProCurdFormProps = ProFormProps & ProCurdAddOrEditProps;
|
|
@@ -1088,4 +1093,16 @@ declare const ProSelect: vue.DefineComponent<any, {}, {}, {}, {}, vue.ComponentO
|
|
|
1088
1093
|
[x: string]: any;
|
|
1089
1094
|
}>;
|
|
1090
1095
|
|
|
1091
|
-
|
|
1096
|
+
declare const proRadioProps: () => {
|
|
1097
|
+
options: {
|
|
1098
|
+
type: PropType<TOptions$1>;
|
|
1099
|
+
};
|
|
1100
|
+
buttonStyle: {
|
|
1101
|
+
type: PropType<"default" | "button">;
|
|
1102
|
+
default: string;
|
|
1103
|
+
};
|
|
1104
|
+
};
|
|
1105
|
+
declare type ProRadioProps = Partial<ExtractPropTypes<ReturnType<typeof proRadioProps>>> & RadioGroupProps;
|
|
1106
|
+
declare const ProRadio: vue.DefineComponent<ProRadioProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, vue.EmitsOptions, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<ProRadioProps>, {}>;
|
|
1107
|
+
|
|
1108
|
+
export { ButtonProps, DescriptionsProps, FormMethods, ModalProps, PaginationProps, ProCurdDesc, ProCurdDescConnect, ProCurdForm, ProCurdFormConnect, ProCurdFormProps, ProCurdList, ProCurdListConnect, ProCurdListProps, ProCurdModal, ProCurdModalConnect, ProForm, ProFormCascader, ProFormCheckbox, ProFormDatePicker, ProFormItem, ProFormItemProps, ProFormList, ProFormListProps, ProFormProps, ProFormRadio, ProFormSelect, ProFormSwitch, ProFormText, ProFormTextNumber, ProFormTimePicker, ProFormTreeSelect, ProGrid, ProGridProps, ProLoading, ProLoadingProps, ProRadio, ProRadioProps, ProSearchForm, ProSearchFormProps, ProSelect, ProSelectProps, ProSubmitButton, ProTable, ProTableColumn, ProTableColumnProps, ProTableProps, TableMethods, createFormItemComponent, createLoadingId };
|
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, createVNode, mergeProps, reactive, ref, toRaw, isVNode } from 'vue';
|
|
2
|
-
import { ElRow, ElCol, ElLoading, ElFormItem, ElForm, ElSelect, ElOption, ElInput, ElInputNumber, ElDatePicker, ElTimePicker, ElTreeSelect, ElCheckboxGroup,
|
|
3
|
-
import { isString, keys, omit, map, get } from 'lodash';
|
|
2
|
+
import { ElRow, ElCol, ElLoading, ElFormItem, ElForm, ElSelect, ElOption, ElRadioGroup, ElRadioButton, ElRadio, ElInput, ElInputNumber, ElDatePicker, ElTimePicker, ElTreeSelect, ElCheckboxGroup, ElSwitch, ElCascader, ElButton, ElTableColumn, ElTable, ElPagination, ElDescriptions, ElDescriptionsItem, ElDialog } from 'element-plus';
|
|
3
|
+
import { isString, keys, omit, map, size, get } from 'lodash';
|
|
4
4
|
import { createGrid, generateId, createExpose, createForm, createSearchForm, createFormItemCompFn, useProForm, createFormList, createTable, createCurdForm, CurdCurrentMode, useProCurd, createCurdList, createCurdDesc, CurdAction } from '@vue-start/pro';
|
|
5
5
|
import { useEffect, setReactiveValue } from '@vue-start/hooks';
|
|
6
6
|
|
|
@@ -191,6 +191,7 @@ var ProFormItem = defineComponent({
|
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
193
|
});
|
|
194
|
+
var FormMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
|
|
194
195
|
var Form = defineComponent({
|
|
195
196
|
props: _objectSpread2({}, ElForm.props),
|
|
196
197
|
setup: function setup(props, _ref2) {
|
|
@@ -199,7 +200,6 @@ var Form = defineComponent({
|
|
|
199
200
|
expose = _ref2.expose;
|
|
200
201
|
var formState = props.model || reactive({});
|
|
201
202
|
var formRef = ref();
|
|
202
|
-
var formMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
|
|
203
203
|
useEffect(function () {
|
|
204
204
|
if (!formRef.value) {
|
|
205
205
|
return;
|
|
@@ -217,7 +217,7 @@ var Form = defineComponent({
|
|
|
217
217
|
});
|
|
218
218
|
};
|
|
219
219
|
}, []);
|
|
220
|
-
expose(createExpose(
|
|
220
|
+
expose(createExpose(FormMethods, formRef));
|
|
221
221
|
return function () {
|
|
222
222
|
return createVNode(ElForm, mergeProps({
|
|
223
223
|
"ref": formRef
|
|
@@ -228,7 +228,7 @@ var Form = defineComponent({
|
|
|
228
228
|
}
|
|
229
229
|
});
|
|
230
230
|
//emit;
|
|
231
|
-
var ProForm = createForm(Form, ProGrid);
|
|
231
|
+
var ProForm = createForm(Form, ProGrid, FormMethods);
|
|
232
232
|
var ProSearchForm = createSearchForm(ProForm, {
|
|
233
233
|
needRules: {
|
|
234
234
|
type: Boolean,
|
|
@@ -238,7 +238,7 @@ var ProSearchForm = createSearchForm(ProForm, {
|
|
|
238
238
|
type: Boolean,
|
|
239
239
|
"default": true
|
|
240
240
|
}
|
|
241
|
-
});
|
|
241
|
+
}, FormMethods);
|
|
242
242
|
|
|
243
243
|
var createFormItemComponent = createFormItemCompFn(ProFormItem, function (value, setValue, disabled) {
|
|
244
244
|
return {
|
|
@@ -277,7 +277,66 @@ var ProSelect = defineComponent({
|
|
|
277
277
|
}, item), null);
|
|
278
278
|
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
279
279
|
}
|
|
280
|
-
}, omit(
|
|
280
|
+
}, omit(slots, "default")));
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
function _isSlot(s) {
|
|
286
|
+
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
var proRadioProps = function proRadioProps() {
|
|
290
|
+
return {
|
|
291
|
+
options: {
|
|
292
|
+
type: Array
|
|
293
|
+
},
|
|
294
|
+
buttonStyle: {
|
|
295
|
+
type: String,
|
|
296
|
+
"default": "default"
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
var ProRadio = defineComponent({
|
|
302
|
+
props: _objectSpread2(_objectSpread2({}, ElRadioGroup.props), proRadioProps()),
|
|
303
|
+
setup: function setup(props, _ref) {
|
|
304
|
+
var emit = _ref.emit;
|
|
305
|
+
var invalidKeys = keys(proRadioProps());
|
|
306
|
+
return function () {
|
|
307
|
+
var _slot;
|
|
308
|
+
|
|
309
|
+
return createVNode(ElRadioGroup, mergeProps(omit(props, invalidKeys), {
|
|
310
|
+
"onUpdate:modelValue": function onUpdateModelValue(v) {
|
|
311
|
+
emit("update:modelValue", v);
|
|
312
|
+
}
|
|
313
|
+
}), _isSlot(_slot = map(props.options, function (item) {
|
|
314
|
+
if (props.buttonStyle === "button") {
|
|
315
|
+
return createVNode(ElRadioButton, mergeProps({
|
|
316
|
+
"key": item.value
|
|
317
|
+
}, item, {
|
|
318
|
+
"label": item.value
|
|
319
|
+
}), {
|
|
320
|
+
"default": function _default() {
|
|
321
|
+
return [item.label];
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return createVNode(ElRadio, mergeProps({
|
|
327
|
+
"key": item.value
|
|
328
|
+
}, item, {
|
|
329
|
+
"label": item.value
|
|
330
|
+
}), {
|
|
331
|
+
"default": function _default() {
|
|
332
|
+
return [item.label];
|
|
333
|
+
}
|
|
334
|
+
});
|
|
335
|
+
})) ? _slot : {
|
|
336
|
+
"default": function _default() {
|
|
337
|
+
return [_slot];
|
|
338
|
+
}
|
|
339
|
+
});
|
|
281
340
|
};
|
|
282
341
|
}
|
|
283
342
|
});
|
|
@@ -318,7 +377,7 @@ var ProFormCheckbox = createFormItemComponent({
|
|
|
318
377
|
name: "PFromCheckbox"
|
|
319
378
|
});
|
|
320
379
|
var ProFormRadio = createFormItemComponent({
|
|
321
|
-
InputComp:
|
|
380
|
+
InputComp: ProRadio,
|
|
322
381
|
valueType: "radio",
|
|
323
382
|
name: "PFromRadio"
|
|
324
383
|
});
|
|
@@ -404,6 +463,55 @@ var ProFormList = defineComponent({
|
|
|
404
463
|
}
|
|
405
464
|
});
|
|
406
465
|
|
|
466
|
+
var ProTableColumn = defineComponent({
|
|
467
|
+
props: _objectSpread2(_objectSpread2({}, omit(ElTableColumn.props, "label", "prop")), {}, {
|
|
468
|
+
title: {
|
|
469
|
+
type: String
|
|
470
|
+
},
|
|
471
|
+
dataIndex: {
|
|
472
|
+
type: String
|
|
473
|
+
},
|
|
474
|
+
children: {
|
|
475
|
+
type: Array
|
|
476
|
+
},
|
|
477
|
+
customRender: {
|
|
478
|
+
type: Function
|
|
479
|
+
}
|
|
480
|
+
}),
|
|
481
|
+
setup: function setup(props) {
|
|
482
|
+
return function () {
|
|
483
|
+
return createVNode(ElTableColumn, mergeProps(omit(props, "title", "label", "renderHeader", "prop", "dataIndex", "formatter", "customRender", "children"), {
|
|
484
|
+
"label": isVNode(props.title) ? undefined : props.title,
|
|
485
|
+
"renderHeader": isVNode(props.title) ? function () {
|
|
486
|
+
return props.title;
|
|
487
|
+
} : undefined,
|
|
488
|
+
"prop": props.dataIndex,
|
|
489
|
+
"formatter": function formatter(record, column, value, index) {
|
|
490
|
+
if (props.customRender) {
|
|
491
|
+
return props.customRender({
|
|
492
|
+
value: value,
|
|
493
|
+
text: value,
|
|
494
|
+
record: record,
|
|
495
|
+
column: column,
|
|
496
|
+
index: index
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
return value;
|
|
501
|
+
}
|
|
502
|
+
}), {
|
|
503
|
+
"default": function _default() {
|
|
504
|
+
return [size(props.children) > 0 && map(props.children, function (item) {
|
|
505
|
+
return createVNode(ProTableColumn, mergeProps({
|
|
506
|
+
"key": item.dataIndex
|
|
507
|
+
}, item), null);
|
|
508
|
+
})];
|
|
509
|
+
}
|
|
510
|
+
});
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
});
|
|
514
|
+
var TableMethods = ["clearSelection", "getSelectionRows", "toggleRowSelection", "toggleAllSelection", "toggleRowExpansion", "setCurrentRow", "clearSort", "clearFilter", "doLayout", "sort", "scrollTo", "setScrollTop", "setScrollLeft"];
|
|
407
515
|
var Table = defineComponent({
|
|
408
516
|
props: _objectSpread2(_objectSpread2({}, ElTable.props), {}, {
|
|
409
517
|
columns: {
|
|
@@ -417,40 +525,25 @@ var Table = defineComponent({
|
|
|
417
525
|
}
|
|
418
526
|
}),
|
|
419
527
|
setup: function setup(props, _ref) {
|
|
420
|
-
var slots = _ref.slots
|
|
528
|
+
var slots = _ref.slots,
|
|
529
|
+
expose = _ref.expose;
|
|
530
|
+
var tableRef = ref();
|
|
421
531
|
var id = createLoadingId("table");
|
|
532
|
+
expose(createExpose(TableMethods, tableRef));
|
|
422
533
|
return function () {
|
|
423
534
|
var _slots$start, _slots$default;
|
|
424
535
|
|
|
425
536
|
return createVNode(ElTable, mergeProps({
|
|
537
|
+
"ref": tableRef,
|
|
426
538
|
"id": id
|
|
427
539
|
}, omit(props, "columns", "dataSource", "loading"), {
|
|
428
540
|
"data": props.dataSource || props.data
|
|
429
541
|
}), _objectSpread2({
|
|
430
542
|
"default": function _default() {
|
|
431
543
|
return [(_slots$start = slots.start) === null || _slots$start === void 0 ? void 0 : _slots$start.call(slots), map(props.columns, function (item) {
|
|
432
|
-
return createVNode(
|
|
544
|
+
return createVNode(ProTableColumn, mergeProps({
|
|
433
545
|
"key": item.dataIndex
|
|
434
|
-
},
|
|
435
|
-
"label": isVNode(item.title) ? undefined : item.title || get(item, "label"),
|
|
436
|
-
"renderHeader": isVNode(item.title) ? function () {
|
|
437
|
-
return item.title;
|
|
438
|
-
} : undefined,
|
|
439
|
-
"prop": item.dataIndex,
|
|
440
|
-
"formatter": function formatter(record, column, value, index) {
|
|
441
|
-
if (item.customRender) {
|
|
442
|
-
return item.customRender({
|
|
443
|
-
value: value,
|
|
444
|
-
text: value,
|
|
445
|
-
record: record,
|
|
446
|
-
column: column,
|
|
447
|
-
index: index
|
|
448
|
-
});
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
return value;
|
|
452
|
-
}
|
|
453
|
-
}), null);
|
|
546
|
+
}, item), null);
|
|
454
547
|
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), props.loading && createVNode(ProLoading, {
|
|
455
548
|
"target": id,
|
|
456
549
|
"loading": true
|
|
@@ -460,13 +553,13 @@ var Table = defineComponent({
|
|
|
460
553
|
};
|
|
461
554
|
}
|
|
462
555
|
});
|
|
463
|
-
var ProTable = createTable(Table);
|
|
556
|
+
var ProTable = createTable(Table, undefined, TableMethods);
|
|
464
557
|
|
|
465
558
|
var ProCurdForm = createCurdForm(ProForm, ElButton, function (curdState) {
|
|
466
559
|
return {
|
|
467
560
|
hideRequiredAsterisk: curdState.mode === CurdCurrentMode.DETAIL
|
|
468
561
|
};
|
|
469
|
-
});
|
|
562
|
+
}, FormMethods);
|
|
470
563
|
var ProCurdFormConnect = defineComponent({
|
|
471
564
|
setup: function setup() {
|
|
472
565
|
var _useProCurd = useProCurd(),
|
|
@@ -593,4 +686,4 @@ var ProCurdModalConnect = defineComponent({
|
|
|
593
686
|
}
|
|
594
687
|
});
|
|
595
688
|
|
|
596
|
-
export { ProCurdDesc, ProCurdDescConnect, ProCurdForm, ProCurdFormConnect, ProCurdList, ProCurdListConnect, ProCurdModal, ProCurdModalConnect, ProForm, ProFormCascader, ProFormCheckbox, ProFormDatePicker, ProFormItem, ProFormList, ProFormRadio, ProFormSelect, ProFormSwitch, ProFormText, ProFormTextNumber, ProFormTimePicker, ProFormTreeSelect, ProGrid, ProLoading, ProSearchForm, ProSelect, ProSubmitButton, ProTable, createFormItemComponent, createLoadingId };
|
|
689
|
+
export { FormMethods, ProCurdDesc, ProCurdDescConnect, ProCurdForm, ProCurdFormConnect, ProCurdList, ProCurdListConnect, ProCurdModal, ProCurdModalConnect, ProForm, ProFormCascader, ProFormCheckbox, ProFormDatePicker, ProFormItem, ProFormList, ProFormRadio, ProFormSelect, ProFormSwitch, ProFormText, ProFormTextNumber, ProFormTimePicker, ProFormTreeSelect, ProGrid, ProLoading, ProRadio, ProSearchForm, ProSelect, ProSubmitButton, ProTable, ProTableColumn, TableMethods, createFormItemComponent, createLoadingId };
|
package/dist/index.js
CHANGED
|
@@ -195,6 +195,7 @@ var ProFormItem = vue.defineComponent({
|
|
|
195
195
|
};
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
|
+
var FormMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
|
|
198
199
|
var Form = vue.defineComponent({
|
|
199
200
|
props: _objectSpread2({}, elementPlus.ElForm.props),
|
|
200
201
|
setup: function setup(props, _ref2) {
|
|
@@ -203,7 +204,6 @@ var Form = vue.defineComponent({
|
|
|
203
204
|
expose = _ref2.expose;
|
|
204
205
|
var formState = props.model || vue.reactive({});
|
|
205
206
|
var formRef = vue.ref();
|
|
206
|
-
var formMethods = ["clearValidate", "resetFields", "scrollToField", "validate", "validateField", "submit"];
|
|
207
207
|
hooks.useEffect(function () {
|
|
208
208
|
if (!formRef.value) {
|
|
209
209
|
return;
|
|
@@ -221,7 +221,7 @@ var Form = vue.defineComponent({
|
|
|
221
221
|
});
|
|
222
222
|
};
|
|
223
223
|
}, []);
|
|
224
|
-
expose(pro.createExpose(
|
|
224
|
+
expose(pro.createExpose(FormMethods, formRef));
|
|
225
225
|
return function () {
|
|
226
226
|
return vue.createVNode(elementPlus.ElForm, vue.mergeProps({
|
|
227
227
|
"ref": formRef
|
|
@@ -232,7 +232,7 @@ var Form = vue.defineComponent({
|
|
|
232
232
|
}
|
|
233
233
|
});
|
|
234
234
|
//emit;
|
|
235
|
-
var ProForm = pro.createForm(Form, ProGrid);
|
|
235
|
+
var ProForm = pro.createForm(Form, ProGrid, FormMethods);
|
|
236
236
|
var ProSearchForm = pro.createSearchForm(ProForm, {
|
|
237
237
|
needRules: {
|
|
238
238
|
type: Boolean,
|
|
@@ -242,7 +242,7 @@ var ProSearchForm = pro.createSearchForm(ProForm, {
|
|
|
242
242
|
type: Boolean,
|
|
243
243
|
"default": true
|
|
244
244
|
}
|
|
245
|
-
});
|
|
245
|
+
}, FormMethods);
|
|
246
246
|
|
|
247
247
|
var createFormItemComponent = pro.createFormItemCompFn(ProFormItem, function (value, setValue, disabled) {
|
|
248
248
|
return {
|
|
@@ -281,7 +281,66 @@ var ProSelect = vue.defineComponent({
|
|
|
281
281
|
}, item), null);
|
|
282
282
|
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
|
|
283
283
|
}
|
|
284
|
-
}, lodash.omit(
|
|
284
|
+
}, lodash.omit(slots, "default")));
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
function _isSlot(s) {
|
|
290
|
+
return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !vue.isVNode(s);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
var proRadioProps = function proRadioProps() {
|
|
294
|
+
return {
|
|
295
|
+
options: {
|
|
296
|
+
type: Array
|
|
297
|
+
},
|
|
298
|
+
buttonStyle: {
|
|
299
|
+
type: String,
|
|
300
|
+
"default": "default"
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
var ProRadio = vue.defineComponent({
|
|
306
|
+
props: _objectSpread2(_objectSpread2({}, elementPlus.ElRadioGroup.props), proRadioProps()),
|
|
307
|
+
setup: function setup(props, _ref) {
|
|
308
|
+
var emit = _ref.emit;
|
|
309
|
+
var invalidKeys = lodash.keys(proRadioProps());
|
|
310
|
+
return function () {
|
|
311
|
+
var _slot;
|
|
312
|
+
|
|
313
|
+
return vue.createVNode(elementPlus.ElRadioGroup, vue.mergeProps(lodash.omit(props, invalidKeys), {
|
|
314
|
+
"onUpdate:modelValue": function onUpdateModelValue(v) {
|
|
315
|
+
emit("update:modelValue", v);
|
|
316
|
+
}
|
|
317
|
+
}), _isSlot(_slot = lodash.map(props.options, function (item) {
|
|
318
|
+
if (props.buttonStyle === "button") {
|
|
319
|
+
return vue.createVNode(elementPlus.ElRadioButton, vue.mergeProps({
|
|
320
|
+
"key": item.value
|
|
321
|
+
}, item, {
|
|
322
|
+
"label": item.value
|
|
323
|
+
}), {
|
|
324
|
+
"default": function _default() {
|
|
325
|
+
return [item.label];
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
return vue.createVNode(elementPlus.ElRadio, vue.mergeProps({
|
|
331
|
+
"key": item.value
|
|
332
|
+
}, item, {
|
|
333
|
+
"label": item.value
|
|
334
|
+
}), {
|
|
335
|
+
"default": function _default() {
|
|
336
|
+
return [item.label];
|
|
337
|
+
}
|
|
338
|
+
});
|
|
339
|
+
})) ? _slot : {
|
|
340
|
+
"default": function _default() {
|
|
341
|
+
return [_slot];
|
|
342
|
+
}
|
|
343
|
+
});
|
|
285
344
|
};
|
|
286
345
|
}
|
|
287
346
|
});
|
|
@@ -322,7 +381,7 @@ var ProFormCheckbox = createFormItemComponent({
|
|
|
322
381
|
name: "PFromCheckbox"
|
|
323
382
|
});
|
|
324
383
|
var ProFormRadio = createFormItemComponent({
|
|
325
|
-
InputComp:
|
|
384
|
+
InputComp: ProRadio,
|
|
326
385
|
valueType: "radio",
|
|
327
386
|
name: "PFromRadio"
|
|
328
387
|
});
|
|
@@ -408,6 +467,55 @@ var ProFormList = vue.defineComponent({
|
|
|
408
467
|
}
|
|
409
468
|
});
|
|
410
469
|
|
|
470
|
+
var ProTableColumn = vue.defineComponent({
|
|
471
|
+
props: _objectSpread2(_objectSpread2({}, lodash.omit(elementPlus.ElTableColumn.props, "label", "prop")), {}, {
|
|
472
|
+
title: {
|
|
473
|
+
type: String
|
|
474
|
+
},
|
|
475
|
+
dataIndex: {
|
|
476
|
+
type: String
|
|
477
|
+
},
|
|
478
|
+
children: {
|
|
479
|
+
type: Array
|
|
480
|
+
},
|
|
481
|
+
customRender: {
|
|
482
|
+
type: Function
|
|
483
|
+
}
|
|
484
|
+
}),
|
|
485
|
+
setup: function setup(props) {
|
|
486
|
+
return function () {
|
|
487
|
+
return vue.createVNode(elementPlus.ElTableColumn, vue.mergeProps(lodash.omit(props, "title", "label", "renderHeader", "prop", "dataIndex", "formatter", "customRender", "children"), {
|
|
488
|
+
"label": vue.isVNode(props.title) ? undefined : props.title,
|
|
489
|
+
"renderHeader": vue.isVNode(props.title) ? function () {
|
|
490
|
+
return props.title;
|
|
491
|
+
} : undefined,
|
|
492
|
+
"prop": props.dataIndex,
|
|
493
|
+
"formatter": function formatter(record, column, value, index) {
|
|
494
|
+
if (props.customRender) {
|
|
495
|
+
return props.customRender({
|
|
496
|
+
value: value,
|
|
497
|
+
text: value,
|
|
498
|
+
record: record,
|
|
499
|
+
column: column,
|
|
500
|
+
index: index
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
return value;
|
|
505
|
+
}
|
|
506
|
+
}), {
|
|
507
|
+
"default": function _default() {
|
|
508
|
+
return [lodash.size(props.children) > 0 && lodash.map(props.children, function (item) {
|
|
509
|
+
return vue.createVNode(ProTableColumn, vue.mergeProps({
|
|
510
|
+
"key": item.dataIndex
|
|
511
|
+
}, item), null);
|
|
512
|
+
})];
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
};
|
|
516
|
+
}
|
|
517
|
+
});
|
|
518
|
+
var TableMethods = ["clearSelection", "getSelectionRows", "toggleRowSelection", "toggleAllSelection", "toggleRowExpansion", "setCurrentRow", "clearSort", "clearFilter", "doLayout", "sort", "scrollTo", "setScrollTop", "setScrollLeft"];
|
|
411
519
|
var Table = vue.defineComponent({
|
|
412
520
|
props: _objectSpread2(_objectSpread2({}, elementPlus.ElTable.props), {}, {
|
|
413
521
|
columns: {
|
|
@@ -421,40 +529,25 @@ var Table = vue.defineComponent({
|
|
|
421
529
|
}
|
|
422
530
|
}),
|
|
423
531
|
setup: function setup(props, _ref) {
|
|
424
|
-
var slots = _ref.slots
|
|
532
|
+
var slots = _ref.slots,
|
|
533
|
+
expose = _ref.expose;
|
|
534
|
+
var tableRef = vue.ref();
|
|
425
535
|
var id = createLoadingId("table");
|
|
536
|
+
expose(pro.createExpose(TableMethods, tableRef));
|
|
426
537
|
return function () {
|
|
427
538
|
var _slots$start, _slots$default;
|
|
428
539
|
|
|
429
540
|
return vue.createVNode(elementPlus.ElTable, vue.mergeProps({
|
|
541
|
+
"ref": tableRef,
|
|
430
542
|
"id": id
|
|
431
543
|
}, lodash.omit(props, "columns", "dataSource", "loading"), {
|
|
432
544
|
"data": props.dataSource || props.data
|
|
433
545
|
}), _objectSpread2({
|
|
434
546
|
"default": function _default() {
|
|
435
547
|
return [(_slots$start = slots.start) === null || _slots$start === void 0 ? void 0 : _slots$start.call(slots), lodash.map(props.columns, function (item) {
|
|
436
|
-
return vue.createVNode(
|
|
548
|
+
return vue.createVNode(ProTableColumn, vue.mergeProps({
|
|
437
549
|
"key": item.dataIndex
|
|
438
|
-
},
|
|
439
|
-
"label": vue.isVNode(item.title) ? undefined : item.title || lodash.get(item, "label"),
|
|
440
|
-
"renderHeader": vue.isVNode(item.title) ? function () {
|
|
441
|
-
return item.title;
|
|
442
|
-
} : undefined,
|
|
443
|
-
"prop": item.dataIndex,
|
|
444
|
-
"formatter": function formatter(record, column, value, index) {
|
|
445
|
-
if (item.customRender) {
|
|
446
|
-
return item.customRender({
|
|
447
|
-
value: value,
|
|
448
|
-
text: value,
|
|
449
|
-
record: record,
|
|
450
|
-
column: column,
|
|
451
|
-
index: index
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
return value;
|
|
456
|
-
}
|
|
457
|
-
}), null);
|
|
550
|
+
}, item), null);
|
|
458
551
|
}), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), props.loading && vue.createVNode(ProLoading, {
|
|
459
552
|
"target": id,
|
|
460
553
|
"loading": true
|
|
@@ -464,13 +557,13 @@ var Table = vue.defineComponent({
|
|
|
464
557
|
};
|
|
465
558
|
}
|
|
466
559
|
});
|
|
467
|
-
var ProTable = pro.createTable(Table);
|
|
560
|
+
var ProTable = pro.createTable(Table, undefined, TableMethods);
|
|
468
561
|
|
|
469
562
|
var ProCurdForm = pro.createCurdForm(ProForm, elementPlus.ElButton, function (curdState) {
|
|
470
563
|
return {
|
|
471
564
|
hideRequiredAsterisk: curdState.mode === pro.CurdCurrentMode.DETAIL
|
|
472
565
|
};
|
|
473
|
-
});
|
|
566
|
+
}, FormMethods);
|
|
474
567
|
var ProCurdFormConnect = vue.defineComponent({
|
|
475
568
|
setup: function setup() {
|
|
476
569
|
var _useProCurd = pro.useProCurd(),
|
|
@@ -597,6 +690,7 @@ var ProCurdModalConnect = vue.defineComponent({
|
|
|
597
690
|
}
|
|
598
691
|
});
|
|
599
692
|
|
|
693
|
+
exports.FormMethods = FormMethods;
|
|
600
694
|
exports.ProCurdDesc = ProCurdDesc;
|
|
601
695
|
exports.ProCurdDescConnect = ProCurdDescConnect;
|
|
602
696
|
exports.ProCurdForm = ProCurdForm;
|
|
@@ -620,9 +714,12 @@ exports.ProFormTimePicker = ProFormTimePicker;
|
|
|
620
714
|
exports.ProFormTreeSelect = ProFormTreeSelect;
|
|
621
715
|
exports.ProGrid = ProGrid;
|
|
622
716
|
exports.ProLoading = ProLoading;
|
|
717
|
+
exports.ProRadio = ProRadio;
|
|
623
718
|
exports.ProSearchForm = ProSearchForm;
|
|
624
719
|
exports.ProSelect = ProSelect;
|
|
625
720
|
exports.ProSubmitButton = ProSubmitButton;
|
|
626
721
|
exports.ProTable = ProTable;
|
|
722
|
+
exports.ProTableColumn = ProTableColumn;
|
|
723
|
+
exports.TableMethods = TableMethods;
|
|
627
724
|
exports.createFormItemComponent = createFormItemComponent;
|
|
628
725
|
exports.createLoadingId = createLoadingId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue-start/element-pro",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "zx <zxpstudy@163.com>",
|
|
6
6
|
"homepage": "https://github.com/zxeryu/vue-start#readme",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"rxjs": ">=7.x",
|
|
33
33
|
"vue": ">= 3.x"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "817582dc319eea2d525e93234e02185d0844a207"
|
|
36
36
|
}
|