morningfast-plus 1.0.21 → 1.1.0

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.
Files changed (76) hide show
  1. package/components/_internal/use-sortable/index.d.ts +22 -0
  2. package/components/column-setting/index.d.ts +7 -0
  3. package/components/column-setting/src/column-setting.d.ts +34 -0
  4. package/components/column-setting/src/column-setting.vue.d.ts +72 -0
  5. package/components/column-setting/src/types.d.ts +27 -0
  6. package/components/column-setting/src/use-column-setting.d.ts +16 -0
  7. package/components/components.css +1 -1
  8. package/components/drawer/index.d.ts +5 -0
  9. package/components/drawer/src/drawer.d.ts +86 -0
  10. package/components/drawer/src/drawer.vue.d.ts +203 -0
  11. package/components/edit-table/index.d.ts +12 -0
  12. package/components/edit-table/src/edit-table.d.ts +65 -0
  13. package/components/edit-table/src/edit-table.vue.d.ts +179 -0
  14. package/components/edit-table/src/instance.d.ts +12 -0
  15. package/components/edit-table/src/types.d.ts +39 -0
  16. package/components/export-setting/index.d.ts +7 -0
  17. package/components/export-setting/src/export-setting.d.ts +51 -0
  18. package/components/export-setting/src/export-setting.vue.d.ts +108 -0
  19. package/components/export-setting/src/types.d.ts +15 -0
  20. package/components/export-setting/src/use-export-setting.d.ts +8 -0
  21. package/components/form/index.d.ts +14 -0
  22. package/components/form/src/field-renderer/index.d.ts +38 -0
  23. package/components/form/src/field-renderer/src/field-components.d.ts +7 -0
  24. package/components/form/src/field-renderer/src/field-renderer.vue.d.ts +19 -0
  25. package/components/form/src/field-renderer/src/register-fields.d.ts +1 -0
  26. package/components/form/src/field-renderer/src/types.d.ts +50 -0
  27. package/components/form/src/form-item-renderer.vue.d.ts +24 -0
  28. package/components/form/src/form-renderer.vue.d.ts +29 -0
  29. package/components/form/src/form.d.ts +56 -0
  30. package/components/form/src/form.vue.d.ts +140 -0
  31. package/components/form/src/instance.d.ts +9 -0
  32. package/components/form/src/model.d.ts +2 -0
  33. package/components/form/src/types.d.ts +33 -0
  34. package/components/index.cjs +2 -2
  35. package/components/index.d.ts +9 -0
  36. package/components/index.mjs +3 -3
  37. package/components/input/src/extra.vue.d.ts +4 -4
  38. package/components/input/src/input.vue.d.ts +1 -1
  39. package/components/loading/index.d.ts +2 -1
  40. package/components/loading/src/instance.d.ts +2 -0
  41. package/components/loading/src/loading.d.ts +28 -4
  42. package/components/loading/src/loading.vue.d.ts +59 -8
  43. package/components/loading/src/service.d.ts +17 -0
  44. package/components/main-container-default/index.d.ts +6 -0
  45. package/components/main-container-default/src/instance.d.ts +5 -0
  46. package/components/main-container-default/src/main-container-default.d.ts +35 -0
  47. package/components/main-container-default/src/main-container-default.vue.d.ts +89 -0
  48. package/components/private/layout/src/aside.vue.d.ts +1 -1
  49. package/components/private/layout/src/header.vue.d.ts +1 -1
  50. package/components/private/layout/src/layout.vue.d.ts +1 -1
  51. package/components/private/user-select/src/user-select.d.ts +3 -3
  52. package/components/private/user-select-architecture/src/user-select-architecture.vue.d.ts +8 -8
  53. package/components/product-select/src/product-select.vue.d.ts +2 -2
  54. package/components/scan-input/src/scan-input.vue.d.ts +13 -13
  55. package/components/search-form/index.d.ts +10 -0
  56. package/components/search-form/src/search-form.d.ts +122 -0
  57. package/components/search-form/src/search-form.vue.d.ts +43 -0
  58. package/components/table/index.d.ts +11 -0
  59. package/components/table/src/table.d.ts +73 -0
  60. package/components/table/src/table.vue.d.ts +182 -0
  61. package/components/table/src/types.d.ts +52 -0
  62. package/components/templates/table-page/index.d.ts +14 -0
  63. package/components/templates/table-page/src/instance.d.ts +17 -0
  64. package/components/templates/table-page/src/table-page.d.ts +93 -0
  65. package/components/templates/table-page/src/table-page.vue.d.ts +211 -0
  66. package/components/templates/table-page/src/types.d.ts +199 -0
  67. package/components/templates/table-page/src/use-table-page-summary.d.ts +7 -0
  68. package/components/templates/table-page/src/use-table-page.d.ts +2 -0
  69. package/components/upload/src/button.vue.d.ts +2 -2
  70. package/components/upload/src/list.vue.d.ts +2 -2
  71. package/components/upload/src/picture.vue.d.ts +2 -2
  72. package/components/upload/src/upload.vue.d.ts +2 -2
  73. package/package.json +1 -1
  74. package/shared/index.cjs +1 -1
  75. package/shared/index.d.ts +1 -0
  76. package/shared/index.mjs +1 -1
@@ -0,0 +1,17 @@
1
+ import { MpFormSchema } from '../../../form';
2
+ import { MpTablePageModel } from './types';
3
+ export interface TablePageInstance<Query extends MpTablePageModel = MpTablePageModel> {
4
+ reload: () => Promise<void>;
5
+ search: () => Promise<void>;
6
+ reset: (nextModel?: Query) => Promise<void>;
7
+ getSearchModel: () => Query;
8
+ setSearchModel: (model: Query) => void;
9
+ updateSearchModel: (patch: Partial<Query>) => void;
10
+ setSearchFormSchemas: (schemas: MpFormSchema[]) => void;
11
+ updateSearchFormSchemas: (schemas: Partial<MpFormSchema>[]) => void;
12
+ getSelectedRows: () => unknown[];
13
+ getSelectedRowKeys: () => string[];
14
+ openColumnSetting: () => void;
15
+ openExportSetting: () => void;
16
+ openImportSetting: () => void;
17
+ }
@@ -0,0 +1,93 @@
1
+ import { PropType } from 'vue';
2
+ import { MpColumnSettingItem } from '../../../column-setting';
3
+ import { MpExportSettingPayload } from '../../../export-setting';
4
+ import { MpFormModel, MpFormSchema } from '../../../form';
5
+ import { MpMainContainerDefaultTab } from '../../../main-container-default';
6
+ import { MpSearchFormProps } from '../../../search-form';
7
+ import { MpTableColumn } from '../../../table';
8
+ import { MpTablePageApi, MpTablePageActionOption, MpTablePageColumnSettingConfig, MpTablePageExportConfig, MpTablePageImportConfig, MpTablePageImportRecord, MpTablePageImportSubmitPayload, MpTablePageModel, MpTablePagePaginationState } from './types';
9
+ export declare const mpTablePageProps: {
10
+ readonly modelValue: {
11
+ readonly type: PropType<MpTablePageModel>;
12
+ readonly default: undefined;
13
+ };
14
+ readonly searchSchemas: {
15
+ readonly type: PropType<MpFormSchema[]>;
16
+ readonly default: () => never[];
17
+ };
18
+ readonly api: {
19
+ readonly type: PropType<MpTablePageApi>;
20
+ readonly default: undefined;
21
+ };
22
+ readonly tableData: {
23
+ readonly type: PropType<any[]>;
24
+ readonly default: () => never[];
25
+ };
26
+ readonly columns: {
27
+ readonly type: PropType<MpTableColumn[]>;
28
+ readonly default: () => never[];
29
+ };
30
+ readonly pagination: {
31
+ readonly type: PropType<Partial<MpTablePagePaginationState>>;
32
+ readonly default: undefined;
33
+ };
34
+ readonly loading: {
35
+ readonly type: BooleanConstructor;
36
+ readonly default: false;
37
+ };
38
+ readonly rowKey: {
39
+ readonly type: PropType<string | ((row: any) => string)>;
40
+ readonly default: undefined;
41
+ };
42
+ readonly reserveSelection: {
43
+ readonly type: BooleanConstructor;
44
+ readonly default: false;
45
+ };
46
+ readonly actionOptions: {
47
+ readonly type: PropType<MpTablePageActionOption[]>;
48
+ readonly default: () => never[];
49
+ };
50
+ readonly columnSetting: {
51
+ readonly type: PropType<false | MpTablePageColumnSettingConfig>;
52
+ readonly default: undefined;
53
+ };
54
+ readonly exportSetting: {
55
+ readonly type: PropType<false | MpTablePageExportConfig>;
56
+ readonly default: undefined;
57
+ };
58
+ readonly importSetting: {
59
+ readonly type: PropType<false | MpTablePageImportConfig>;
60
+ readonly default: undefined;
61
+ };
62
+ readonly searchFormProps: {
63
+ readonly type: PropType<Partial<MpSearchFormProps>>;
64
+ readonly default: () => {};
65
+ };
66
+ readonly tabs: {
67
+ readonly type: PropType<MpMainContainerDefaultTab[]>;
68
+ readonly default: () => never[];
69
+ };
70
+ readonly activeTab: {
71
+ readonly type: StringConstructor;
72
+ readonly default: "";
73
+ };
74
+ };
75
+ export declare const mpTablePageEmits: {
76
+ 'update:modelValue': (value: MpTablePageModel) => boolean;
77
+ 'update:activeTab': (value: string) => boolean;
78
+ submit: (value: MpTablePageModel) => boolean;
79
+ reset: (value: MpTablePageModel) => boolean;
80
+ 'selection-change': (selection: any[]) => boolean;
81
+ 'column-setting-confirm': (items: MpColumnSettingItem[]) => boolean;
82
+ 'column-setting-reset': () => boolean;
83
+ export: (payload: MpExportSettingPayload) => boolean;
84
+ 'open-export-task-center': () => boolean;
85
+ 'open-import-setting': () => boolean;
86
+ 'update:importFormModel': (value: MpFormModel) => boolean;
87
+ import: (payload: MpTablePageImportSubmitPayload) => boolean;
88
+ 'download-import-template': () => boolean;
89
+ 'refresh-import-records': () => boolean;
90
+ 'import-record-page-change': (page: number) => boolean;
91
+ 'import-record-page-size-change': (pageSize: number) => boolean;
92
+ 'download-import-error-file': (record: MpTablePageImportRecord) => boolean;
93
+ };
@@ -0,0 +1,211 @@
1
+ import { MpColumnSettingItem } from '../../../column-setting';
2
+ import { MpExportSettingPayload } from '../../../export-setting';
3
+ import { MpFormSchema } from '../../../form';
4
+ import { MpTablePageActionOption, MpTablePageColumnSettingConfig, MpTablePageModel } from './types';
5
+ declare function __VLS_template(): any;
6
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
7
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
+ readonly modelValue: {
9
+ readonly type: import('vue').PropType<MpTablePageModel>;
10
+ readonly default: undefined;
11
+ };
12
+ readonly searchSchemas: {
13
+ readonly type: import('vue').PropType<MpFormSchema[]>;
14
+ readonly default: () => never[];
15
+ };
16
+ readonly api: {
17
+ readonly type: import('vue').PropType<import('./types').MpTablePageApi>;
18
+ readonly default: undefined;
19
+ };
20
+ readonly tableData: {
21
+ readonly type: import('vue').PropType<any[]>;
22
+ readonly default: () => never[];
23
+ };
24
+ readonly columns: {
25
+ readonly type: import('vue').PropType<import('../../..').MpTableColumn[]>;
26
+ readonly default: () => never[];
27
+ };
28
+ readonly pagination: {
29
+ readonly type: import('vue').PropType<Partial<import('./types').MpTablePagePaginationState>>;
30
+ readonly default: undefined;
31
+ };
32
+ readonly loading: {
33
+ readonly type: BooleanConstructor;
34
+ readonly default: false;
35
+ };
36
+ readonly rowKey: {
37
+ readonly type: import('vue').PropType<string | ((row: any) => string)>;
38
+ readonly default: undefined;
39
+ };
40
+ readonly reserveSelection: {
41
+ readonly type: BooleanConstructor;
42
+ readonly default: false;
43
+ };
44
+ readonly actionOptions: {
45
+ readonly type: import('vue').PropType<MpTablePageActionOption[]>;
46
+ readonly default: () => never[];
47
+ };
48
+ readonly columnSetting: {
49
+ readonly type: import('vue').PropType<false | MpTablePageColumnSettingConfig>;
50
+ readonly default: undefined;
51
+ };
52
+ readonly exportSetting: {
53
+ readonly type: import('vue').PropType<false | import('./types').MpTablePageExportConfig>;
54
+ readonly default: undefined;
55
+ };
56
+ readonly importSetting: {
57
+ readonly type: import('vue').PropType<false | import('./types').MpTablePageImportConfig>;
58
+ readonly default: undefined;
59
+ };
60
+ readonly searchFormProps: {
61
+ readonly type: import('vue').PropType<Partial<import('../../..').MpSearchFormProps>>;
62
+ readonly default: () => {};
63
+ };
64
+ readonly tabs: {
65
+ readonly type: import('vue').PropType<import('../../..').MpMainContainerDefaultTab[]>;
66
+ readonly default: () => never[];
67
+ };
68
+ readonly activeTab: {
69
+ readonly type: StringConstructor;
70
+ readonly default: "";
71
+ };
72
+ }>, {
73
+ reload: () => Promise<void>;
74
+ search: () => Promise<void>;
75
+ reset: (nextModel?: MpTablePageModel | undefined) => Promise<void>;
76
+ getSearchModel: () => MpTablePageModel;
77
+ setSearchModel: (model: MpTablePageModel) => void;
78
+ updateSearchModel: (patch: Partial<MpTablePageModel>) => void;
79
+ setSearchFormSchemas: (schemas: MpFormSchema[]) => void;
80
+ updateSearchFormSchemas: (schemas: Partial<MpFormSchema>[]) => void;
81
+ getSelectedRows: () => unknown[];
82
+ getSelectedRowKeys: () => string[];
83
+ openColumnSetting: () => void;
84
+ openExportSetting: () => void;
85
+ openImportSetting: () => void;
86
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
87
+ reset: (value: MpTablePageModel) => void;
88
+ submit: (value: MpTablePageModel) => void;
89
+ "update:modelValue": (value: MpTablePageModel) => void;
90
+ "selection-change": (selection: any[]) => void;
91
+ "update:activeTab": (value: string) => void;
92
+ "column-setting-confirm": (items: MpColumnSettingItem[]) => void;
93
+ "column-setting-reset": () => void;
94
+ export: (payload: MpExportSettingPayload) => void;
95
+ "open-export-task-center": () => void;
96
+ "open-import-setting": () => void;
97
+ "update:importFormModel": (value: import('../../../form/src/field-renderer').MpFieldModel) => void;
98
+ import: (payload: import('./types').MpTablePageImportSubmitPayload) => void;
99
+ "download-import-template": () => void;
100
+ "refresh-import-records": () => void;
101
+ "import-record-page-change": (page: number) => void;
102
+ "import-record-page-size-change": (pageSize: number) => void;
103
+ "download-import-error-file": (record: import('./types').MpTablePageImportRecord) => void;
104
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
105
+ readonly modelValue: {
106
+ readonly type: import('vue').PropType<MpTablePageModel>;
107
+ readonly default: undefined;
108
+ };
109
+ readonly searchSchemas: {
110
+ readonly type: import('vue').PropType<MpFormSchema[]>;
111
+ readonly default: () => never[];
112
+ };
113
+ readonly api: {
114
+ readonly type: import('vue').PropType<import('./types').MpTablePageApi>;
115
+ readonly default: undefined;
116
+ };
117
+ readonly tableData: {
118
+ readonly type: import('vue').PropType<any[]>;
119
+ readonly default: () => never[];
120
+ };
121
+ readonly columns: {
122
+ readonly type: import('vue').PropType<import('../../..').MpTableColumn[]>;
123
+ readonly default: () => never[];
124
+ };
125
+ readonly pagination: {
126
+ readonly type: import('vue').PropType<Partial<import('./types').MpTablePagePaginationState>>;
127
+ readonly default: undefined;
128
+ };
129
+ readonly loading: {
130
+ readonly type: BooleanConstructor;
131
+ readonly default: false;
132
+ };
133
+ readonly rowKey: {
134
+ readonly type: import('vue').PropType<string | ((row: any) => string)>;
135
+ readonly default: undefined;
136
+ };
137
+ readonly reserveSelection: {
138
+ readonly type: BooleanConstructor;
139
+ readonly default: false;
140
+ };
141
+ readonly actionOptions: {
142
+ readonly type: import('vue').PropType<MpTablePageActionOption[]>;
143
+ readonly default: () => never[];
144
+ };
145
+ readonly columnSetting: {
146
+ readonly type: import('vue').PropType<false | MpTablePageColumnSettingConfig>;
147
+ readonly default: undefined;
148
+ };
149
+ readonly exportSetting: {
150
+ readonly type: import('vue').PropType<false | import('./types').MpTablePageExportConfig>;
151
+ readonly default: undefined;
152
+ };
153
+ readonly importSetting: {
154
+ readonly type: import('vue').PropType<false | import('./types').MpTablePageImportConfig>;
155
+ readonly default: undefined;
156
+ };
157
+ readonly searchFormProps: {
158
+ readonly type: import('vue').PropType<Partial<import('../../..').MpSearchFormProps>>;
159
+ readonly default: () => {};
160
+ };
161
+ readonly tabs: {
162
+ readonly type: import('vue').PropType<import('../../..').MpMainContainerDefaultTab[]>;
163
+ readonly default: () => never[];
164
+ };
165
+ readonly activeTab: {
166
+ readonly type: StringConstructor;
167
+ readonly default: "";
168
+ };
169
+ }>> & Readonly<{
170
+ onReset?: ((value: MpTablePageModel) => any) | undefined;
171
+ onSubmit?: ((value: MpTablePageModel) => any) | undefined;
172
+ "onUpdate:modelValue"?: ((value: MpTablePageModel) => any) | undefined;
173
+ "onSelection-change"?: ((selection: any[]) => any) | undefined;
174
+ "onUpdate:activeTab"?: ((value: string) => any) | undefined;
175
+ "onColumn-setting-confirm"?: ((items: MpColumnSettingItem[]) => any) | undefined;
176
+ "onColumn-setting-reset"?: (() => any) | undefined;
177
+ onExport?: ((payload: MpExportSettingPayload) => any) | undefined;
178
+ "onOpen-export-task-center"?: (() => any) | undefined;
179
+ "onOpen-import-setting"?: (() => any) | undefined;
180
+ "onUpdate:importFormModel"?: ((value: import('../../../form/src/field-renderer').MpFieldModel) => any) | undefined;
181
+ onImport?: ((payload: import('./types').MpTablePageImportSubmitPayload) => any) | undefined;
182
+ "onDownload-import-template"?: (() => any) | undefined;
183
+ "onRefresh-import-records"?: (() => any) | undefined;
184
+ "onImport-record-page-change"?: ((page: number) => any) | undefined;
185
+ "onImport-record-page-size-change"?: ((pageSize: number) => any) | undefined;
186
+ "onDownload-import-error-file"?: ((record: import('./types').MpTablePageImportRecord) => any) | undefined;
187
+ }>, {
188
+ readonly loading: boolean;
189
+ readonly modelValue: MpTablePageModel;
190
+ readonly columns: import('../../..').MpTableColumn<any>[];
191
+ readonly rowKey: string | ((row: any) => string);
192
+ readonly reserveSelection: boolean;
193
+ readonly pagination: Partial<import('./types').MpTablePagePaginationState>;
194
+ readonly tabs: import('../../..').MpMainContainerDefaultTab[];
195
+ readonly activeTab: string;
196
+ readonly searchSchemas: MpFormSchema[];
197
+ readonly api: import('./types').MpTablePageApi;
198
+ readonly tableData: any[];
199
+ readonly actionOptions: MpTablePageActionOption<any>[];
200
+ readonly columnSetting: false | MpTablePageColumnSettingConfig<any>;
201
+ readonly exportSetting: false | import('./types').MpTablePageExportConfig<any>;
202
+ readonly importSetting: false | import('./types').MpTablePageImportConfig;
203
+ readonly searchFormProps: Partial<import('../../..').MpSearchFormProps>;
204
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
205
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
206
+ export default _default;
207
+ type __VLS_WithTemplateSlots<T, S> = T & {
208
+ new (): {
209
+ $slots: S;
210
+ };
211
+ };
@@ -0,0 +1,199 @@
1
+ import { Component, ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
2
+ import { MpColumnSettingOptions } from '../../../column-setting';
3
+ import { MpExportSettingItem, MpExportSettingPayload, MpExportSettingScope } from '../../../export-setting';
4
+ import { MpFormModel, MpFormSchema } from '../../../form';
5
+ import { MpMainContainerDefaultTab } from '../../../main-container-default';
6
+ import { MpSearchFormProps } from '../../../search-form';
7
+ import { MpTableColumn, MpTablePagination, MpTablePaginationChange } from '../../../table';
8
+ export interface MpTablePagePaginationState {
9
+ page: number;
10
+ pageSize: number;
11
+ total: number;
12
+ }
13
+ export interface MpTablePageBackendPaginationState {
14
+ page: number;
15
+ page_size: number;
16
+ total?: number;
17
+ }
18
+ export type MpTablePageModel = MpFormModel & {
19
+ pagination?: MpTablePagePaginationState;
20
+ };
21
+ export type MpTablePageApiResult<Row = any> = Row[] | {
22
+ rows?: Row[];
23
+ list?: Row[];
24
+ data?: Row[];
25
+ total?: number;
26
+ } | {
27
+ data?: {
28
+ list?: Row[];
29
+ rows?: Row[];
30
+ data?: Row[];
31
+ total?: number;
32
+ page?: number;
33
+ page_size?: number;
34
+ total_page?: number;
35
+ };
36
+ total?: number;
37
+ };
38
+ export interface MpTablePageRequest<Query extends MpTablePageModel = MpTablePageModel> {
39
+ page: number;
40
+ page_size: number;
41
+ filters: Query;
42
+ sort?: unknown;
43
+ }
44
+ export interface MpTablePageResult<Row = any> {
45
+ rows: Row[];
46
+ total: number;
47
+ }
48
+ export type MpTablePageApi<Row = any, Query extends MpTablePageModel = MpTablePageModel> = (params: Query & MpTablePageBackendPaginationState) => Promise<MpTablePageApiResult<Row>> | MpTablePageApiResult<Row>;
49
+ export interface UseMpTablePageOptions<Row = any, Query extends MpTablePageModel = MpTablePageModel> {
50
+ api?: MpTablePageApi<Row, Query>;
51
+ model: Ref<Query>;
52
+ tableData?: MaybeRefOrGetter<Row[] | undefined>;
53
+ immediate?: boolean;
54
+ pagination?: MaybeRefOrGetter<Partial<MpTablePagePaginationState> | undefined>;
55
+ beforeFetch?: (params: Query & MpTablePageBackendPaginationState) => Promise<Partial<Query> | void> | Partial<Query> | void;
56
+ afterFetch?: (rows: Row[]) => Promise<Row[] | void> | Row[] | void;
57
+ rowKey?: keyof Row | string | ((row: Row) => string);
58
+ getRowKey?: (row: Row) => string;
59
+ emitSubmit?: (value: Query) => void;
60
+ emitReset?: (value: Query) => void;
61
+ emitSelectionChange?: (selection: Row[]) => void;
62
+ }
63
+ export interface UseMpTablePageReturn<Row = any, Query extends MpTablePageModel = MpTablePageModel> {
64
+ rows: Ref<Row[]>;
65
+ pagination: ComputedRef<MpTablePagePaginationState>;
66
+ tablePagination: ComputedRef<MpTablePagination>;
67
+ loading: Ref<boolean>;
68
+ selectedRows: Ref<Row[]>;
69
+ selectedRowKeys: ComputedRef<string[]>;
70
+ buildParams: () => Query & MpTablePageBackendPaginationState;
71
+ getSearchModel: () => Query;
72
+ setSearchModel: (model: Query) => void;
73
+ updateSearchModel: (patch: Partial<Query>) => void;
74
+ setRows: (rows: Row[]) => void;
75
+ setLoading: (value: boolean) => void;
76
+ load: () => Promise<void>;
77
+ search: () => Promise<void>;
78
+ reset: (nextModel?: Query) => Promise<void>;
79
+ changePage: (page: number) => Promise<void>;
80
+ changePageSize: (pageSize: number) => Promise<void>;
81
+ changePagination: (payload: MpTablePaginationChange) => Promise<void>;
82
+ changeSelection: (selection: Row[]) => void;
83
+ clearSelection: () => void;
84
+ }
85
+ export interface MpTablePageColumnSettingConfig<Row = any> extends MpColumnSettingOptions {
86
+ columns?: MaybeRefOrGetter<MpTableColumn<Row>[] | undefined>;
87
+ }
88
+ export interface MpTablePageActionOption<Row = any> {
89
+ key?: string;
90
+ label: string;
91
+ value?: unknown;
92
+ type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | '';
93
+ plain?: boolean;
94
+ link?: boolean;
95
+ icon?: Component;
96
+ disabled?: boolean | ((context: MpTablePageActionContext<Row>) => boolean);
97
+ visible?: boolean | ((context: MpTablePageActionContext<Row>) => boolean);
98
+ handle: (context: MpTablePageActionContext<Row>) => void | Promise<void>;
99
+ }
100
+ export interface MpTablePageActionContext<Row = any> {
101
+ value?: unknown;
102
+ selectedRows: Row[];
103
+ selectedRowKeys: string[];
104
+ reload: () => Promise<void>;
105
+ openColumnSetting: () => void;
106
+ openExportSetting: () => void;
107
+ openImportSetting: () => Promise<void> | void;
108
+ }
109
+ export interface MpTablePageExportConfig<Row = any> {
110
+ enabled?: boolean;
111
+ columns?: MaybeRefOrGetter<MpTableColumn<Row>[] | undefined>;
112
+ title?: string;
113
+ width?: string | number;
114
+ loading?: boolean;
115
+ querySummary?: string[];
116
+ selectedCount?: number;
117
+ defaultScope?: MpExportSettingScope;
118
+ taskCenterEnabled?: boolean;
119
+ request?: (context: {
120
+ payload: MpExportSettingPayload;
121
+ params: MpTablePageModel & MpTablePageBackendPaginationState;
122
+ selectedRows: Row[];
123
+ selectedRowKeys: string[];
124
+ }) => Promise<unknown> | unknown;
125
+ successMessage?: string | ((result: unknown) => string);
126
+ }
127
+ export interface MpTablePageImportRecord {
128
+ id: string | number;
129
+ fileName?: string;
130
+ status?: string;
131
+ createdAt?: string;
132
+ errorFileUrl?: string;
133
+ [key: string]: unknown;
134
+ }
135
+ export interface MpTablePageImportRecordPagination {
136
+ currentPage: number;
137
+ pageSize: number;
138
+ total: number;
139
+ }
140
+ export interface MpTablePageImportSubmitPayload {
141
+ file: File;
142
+ form: MpFormModel;
143
+ }
144
+ export interface MpTablePageImportConfig {
145
+ enabled?: boolean;
146
+ title?: string;
147
+ width?: string | number;
148
+ schemas?: MpFormSchema[];
149
+ formModel?: MpFormModel;
150
+ initialFormModel?: MpFormModel;
151
+ labelWidth?: string | number;
152
+ accept?: string;
153
+ maxSize?: number;
154
+ loading?: boolean;
155
+ records?: MpTablePageImportRecord[];
156
+ recordsPagination?: MpTablePageImportRecordPagination;
157
+ recordsLoading?: boolean;
158
+ templateEnabled?: boolean;
159
+ templateUrl?: string;
160
+ submitRequest?: (payload: {
161
+ file: File;
162
+ form: MpFormModel;
163
+ }) => Promise<unknown> | unknown;
164
+ loadRecords?: (pagination: {
165
+ page: number;
166
+ pageSize: number;
167
+ }) => Promise<{
168
+ records: MpTablePageImportRecord[];
169
+ total: number;
170
+ }> | {
171
+ records: MpTablePageImportRecord[];
172
+ total: number;
173
+ };
174
+ downloadTemplate?: () => Promise<void> | void;
175
+ downloadErrorFile?: (record: MpTablePageImportRecord) => Promise<void> | void;
176
+ successMessage?: string | ((result: unknown) => string);
177
+ }
178
+ export interface MpTablePageProps<Row = any> {
179
+ modelValue?: MpTablePageModel;
180
+ searchSchemas?: MpFormSchema[];
181
+ api?: MpTablePageApi<Row>;
182
+ tableData?: Row[];
183
+ columns?: MpTableColumn<Row>[];
184
+ pagination?: Partial<MpTablePagePaginationState>;
185
+ loading?: boolean;
186
+ rowKey?: string | ((row: Row) => string);
187
+ reserveSelection?: boolean;
188
+ actionOptions?: MpTablePageActionOption<Row>[];
189
+ columnSetting?: MpTablePageColumnSettingConfig<Row> | false;
190
+ exportSetting?: MpTablePageExportConfig<Row> | false;
191
+ importSetting?: MpTablePageImportConfig | false;
192
+ searchFormProps?: Partial<MpSearchFormProps>;
193
+ tabs?: MpMainContainerDefaultTab[];
194
+ activeTab?: string;
195
+ }
196
+ export interface MpTablePageExportPayload {
197
+ scope: MpExportSettingScope;
198
+ columns: MpExportSettingItem[];
199
+ }
@@ -0,0 +1,7 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { MpFormSchema } from '../../../form';
3
+ import { MpTablePageModel } from './types';
4
+ export declare function useMpTablePageSummary(options: {
5
+ schemas: ComputedRef<MpFormSchema[]>;
6
+ model: ComputedRef<MpTablePageModel>;
7
+ }): ComputedRef<string[]>;
@@ -0,0 +1,2 @@
1
+ import { MpTablePageModel, UseMpTablePageOptions, UseMpTablePageReturn } from './types';
2
+ export declare function useMpTablePage<Row = any, Query extends MpTablePageModel = MpTablePageModel>(options: UseMpTablePageOptions<Row, Query>): UseMpTablePageReturn<Row, Query>;
@@ -283,13 +283,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
283
283
  onProgress: (evt: import('element-plus').UploadProgressEvent, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
284
284
  drag: boolean;
285
285
  multiple: boolean;
286
+ onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
286
287
  showIcon: boolean;
288
+ action: string;
287
289
  beforeUpload: (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>;
288
- onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
289
290
  onPreview: (uploadFile: import('element-plus').UploadFile) => void;
290
291
  onSuccess: (response: any, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
291
292
  onExceed: (files: File[], uploadFiles: import('element-plus').UploadUserFile[]) => void;
292
- action: string;
293
293
  withCredentials: boolean;
294
294
  showFileList: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
295
295
  accept: string;
@@ -283,13 +283,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
283
283
  onProgress: (evt: import('element-plus').UploadProgressEvent, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
284
284
  drag: boolean;
285
285
  multiple: boolean;
286
+ onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
286
287
  showIcon: boolean;
288
+ action: string;
287
289
  beforeUpload: (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>;
288
- onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
289
290
  onPreview: (uploadFile: import('element-plus').UploadFile) => void;
290
291
  onSuccess: (response: any, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
291
292
  onExceed: (files: File[], uploadFiles: import('element-plus').UploadUserFile[]) => void;
292
- action: string;
293
293
  withCredentials: boolean;
294
294
  showFileList: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
295
295
  accept: string;
@@ -283,13 +283,13 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
283
283
  onProgress: (evt: import('element-plus').UploadProgressEvent, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
284
284
  drag: boolean;
285
285
  multiple: boolean;
286
+ onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
286
287
  showIcon: boolean;
288
+ action: string;
287
289
  beforeUpload: (rawFile: import('element-plus').UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>;
288
- onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
289
290
  onPreview: (uploadFile: import('element-plus').UploadFile) => void;
290
291
  onSuccess: (response: any, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
291
292
  onExceed: (files: File[], uploadFiles: import('element-plus').UploadUserFile[]) => void;
292
- action: string;
293
293
  withCredentials: boolean;
294
294
  showFileList: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
295
295
  accept: string;
@@ -376,13 +376,13 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
376
376
  onProgress: (evt: import('element-plus').UploadProgressEvent, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
377
377
  drag: boolean;
378
378
  multiple: boolean;
379
+ onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
379
380
  showIcon: boolean;
381
+ action: string;
380
382
  beforeUpload: (rawFile: UploadRawFile) => import('element-plus/es/utils/typescript.mjs').Awaitable<void | undefined | null | boolean | File | Blob>;
381
- onRemove: (uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
382
383
  onPreview: (uploadFile: import('element-plus').UploadFile) => void;
383
384
  onSuccess: (response: any, uploadFile: import('element-plus').UploadFile, uploadFiles: import('element-plus').UploadFiles) => void;
384
385
  onExceed: (files: File[], uploadFiles: import('element-plus').UploadUserFile[]) => void;
385
- action: string;
386
386
  withCredentials: boolean;
387
387
  showFileList: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
388
388
  accept: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "morningfast-plus",
3
- "version": "1.0.21",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "A library based on Vue 3 and Element Plus",
6
6
  "author": "jishu_app@morningfast.com",