@antsoo-lib/core 1.0.1 → 1.0.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.
Files changed (28) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +2 -2
  3. package/dist/types/core/index.d.ts +0 -6
  4. package/dist/types/core/src/BaseTable/helpers.d.ts +0 -9
  5. package/dist/types/core/src/BaseTable/index.d.ts +0 -190
  6. package/dist/types/core/src/BaseTable/registry.d.ts +0 -9
  7. package/dist/types/core/src/BaseTable/renderers/AreaCascader.d.ts +0 -5
  8. package/dist/types/core/src/BaseTable/renderers/AutoComplete.d.ts +0 -4
  9. package/dist/types/core/src/BaseTable/renderers/Button.d.ts +0 -4
  10. package/dist/types/core/src/BaseTable/renderers/Cascader.d.ts +0 -5
  11. package/dist/types/core/src/BaseTable/renderers/Checkbox.d.ts +0 -4
  12. package/dist/types/core/src/BaseTable/renderers/CheckboxGroup.d.ts +0 -4
  13. package/dist/types/core/src/BaseTable/renderers/DatePicker.d.ts +0 -4
  14. package/dist/types/core/src/BaseTable/renderers/Input.d.ts +0 -4
  15. package/dist/types/core/src/BaseTable/renderers/InputGroup.d.ts +0 -5
  16. package/dist/types/core/src/BaseTable/renderers/InputNumber.d.ts +0 -4
  17. package/dist/types/core/src/BaseTable/renderers/InputPassword.d.ts +0 -4
  18. package/dist/types/core/src/BaseTable/renderers/RadioGroup.d.ts +0 -4
  19. package/dist/types/core/src/BaseTable/renderers/Select.d.ts +0 -4
  20. package/dist/types/core/src/BaseTable/renderers/SselectPage.d.ts +0 -4
  21. package/dist/types/core/src/BaseTable/renderers/Switch.d.ts +0 -4
  22. package/dist/types/core/src/BaseTable/renderers/TreeSelect.d.ts +0 -4
  23. package/dist/types/core/src/BaseTable/renderers/Upload.d.ts +0 -4
  24. package/dist/types/core/src/BaseTable/renderers/index.d.ts +0 -24
  25. package/dist/types/core/src/BaseTable/state.d.ts +0 -19
  26. package/dist/types/core/src/BaseTable/types.d.ts +0 -391
  27. package/dist/types/core/src/BaseTable/utils.d.ts +0 -8
  28. package/dist/types/core/src/index.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @antsoo-lib/core
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @antsoo-lib/components@0.1.2
9
+
3
10
  ## 1.0.1
4
11
 
5
12
  ### Patch Changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@antsoo-lib/core",
3
3
  "type": "module",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "exports": {
@@ -22,7 +22,7 @@
22
22
  "peerDependencies": {
23
23
  "lodash-es": "^4.17.21",
24
24
  "vue": "^3.3.4",
25
- "@antsoo-lib/components": "0.1.1",
25
+ "@antsoo-lib/components": "0.1.2",
26
26
  "@antsoo-lib/icons": "0.1.0",
27
27
  "@antsoo-lib/utils": "0.1.0",
28
28
  "@antsoo-lib/shared": "0.0.1"
@@ -1,6 +0,0 @@
1
- import { App } from 'vue';
2
- export declare const version = "0.0.0";
3
- export * from 'xe-utils';
4
- export declare const CoreTable: {
5
- install(app: App): void;
6
- };
@@ -1,9 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from './state';
3
- import { InputGroupToolbarItem, SlotConfig } from './types';
4
- export declare function renderSlotContent(slotConfig: SlotConfig, toolbarState: ToolbarState): VNode | undefined;
5
- export declare function validateInputGroupConfig(cfg: InputGroupToolbarItem): {
6
- valid: boolean;
7
- errors?: string[];
8
- };
9
- export declare function getInputNumberFocusState(toolbarState: ToolbarState): Map<string, boolean>;
@@ -1,190 +0,0 @@
1
- import { AnyObject } from '../../packages/shared/index.ts';
2
- import { VxeGridProps } from 'vxe-table';
3
- import { ToolbarConfig } from './utils';
4
- interface Button {
5
- name?: (row: any) => string;
6
- permission?: string;
7
- event?: (row: any, controls: any, grid: any) => void;
8
- disabled?: (row: any, grid: any) => boolean;
9
- beforeCreate?: (row: any) => boolean;
10
- props?: AnyObject;
11
- }
12
- interface Column {
13
- type?: 'checkbox' | 'radio' | 'seq' | 'html' | 'expand' | null;
14
- buttons?: Button[];
15
- [key: string]: any;
16
- }
17
- interface Props {
18
- scope?: string;
19
- checkbox?: boolean;
20
- checkboxConfig?: AnyObject;
21
- radio?: boolean;
22
- radioConfig?: AnyObject;
23
- columns?: Column[];
24
- customConfig?: AnyObject;
25
- columnConfig?: AnyObject;
26
- data?: any[];
27
- drag?: boolean;
28
- footerData?: any[];
29
- height?: string;
30
- lToolBar?: ToolbarConfig;
31
- loading?: boolean;
32
- options?: Partial<VxeGridProps>;
33
- pager?: boolean;
34
- rToolBar?: ToolbarConfig;
35
- rowConfig?: AnyObject;
36
- rowDragConfig?: AnyObject;
37
- seq?: boolean;
38
- showFooter?: boolean;
39
- toolbarConfig?: AnyObject;
40
- tooltipConfig?: AnyObject;
41
- total?: number;
42
- tree?: boolean;
43
- treeConfig?: AnyObject;
44
- lToolBarCount?: number | (() => number);
45
- rToolBarCount?: number | (() => number);
46
- currentPage?: number;
47
- pageSize?: number;
48
- permissions?: string[];
49
- getCommonCodeOptions?: (type: string) => Array<{
50
- code: string;
51
- name: string;
52
- }>;
53
- }
54
- /**
55
- * 跳转指定页码
56
- * @param {number} page - 页码
57
- */
58
- declare function goToPage(page: number): void;
59
- /**
60
- * 获取当前选中的数据(兼容复选框和单选框)
61
- * @returns {Array | object | null}
62
- * - 复选框模式:返回选中的行数据数组
63
- * - 单选框模式:返回选中的行数据对象,如果没有选中则返回 null
64
- */
65
- declare function getSelectedRecords(): any;
66
- declare function __VLS_template(): {
67
- attrs: Partial<{}>;
68
- slots: any;
69
- refs: {
70
- basetable: (import('vxe-table').VxeGridMethods<any> & {
71
- $props: VxeGridProps<any> & import('vxe-table').VxeGridEventProps<any>;
72
- $slots: import('vxe-table').VxeGridSlots<any>;
73
- }) | null;
74
- paginationRef: unknown;
75
- };
76
- rootEl: any;
77
- };
78
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
79
- declare const __VLS_component: import('vue').DefineComponent<Props, {
80
- grid: import('vue').Ref<any, any>;
81
- getAllToolBarValues: () => {
82
- lToolBar: {
83
- [key: string]: any;
84
- };
85
- rToolBar: {
86
- [key: string]: any;
87
- };
88
- };
89
- getLToolBarValues: () => {
90
- [key: string]: any;
91
- };
92
- getRToolBarValues: () => {
93
- [key: string]: any;
94
- };
95
- goToPage: typeof goToPage;
96
- lToolBarState: {
97
- state: {
98
- readonly [x: string]: any;
99
- };
100
- setValue: (key: string, value: any) => void;
101
- getValue: <T = any>(key: string) => T | undefined;
102
- clear: () => void;
103
- getAllValues: () => {
104
- [key: string]: any;
105
- };
106
- };
107
- rToolBarState: {
108
- state: {
109
- readonly [x: string]: any;
110
- };
111
- setValue: (key: string, value: any) => void;
112
- getValue: <T = any>(key: string) => T | undefined;
113
- clear: () => void;
114
- getAllValues: () => {
115
- [key: string]: any;
116
- };
117
- };
118
- getSelectedRecords: typeof getSelectedRecords;
119
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
120
- pageChange: (page: number, size: number) => any;
121
- pageShowSizeChange: (current: number, size: number) => any;
122
- selectAllChangeEvent: (checked: boolean, records: any[]) => any;
123
- selectChangeEvent: (params: {
124
- checked: boolean;
125
- row: any;
126
- rowIndex: number;
127
- records: any[];
128
- }) => any;
129
- radioChangeEvent: (params: {
130
- row: any;
131
- rowIndex: number;
132
- records: any;
133
- }) => any;
134
- buttonClick: (params: {
135
- button: Button;
136
- row: any;
137
- grid: any;
138
- }) => any;
139
- }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
140
- onPageChange?: ((page: number, size: number) => any) | undefined;
141
- onPageShowSizeChange?: ((current: number, size: number) => any) | undefined;
142
- onSelectAllChangeEvent?: ((checked: boolean, records: any[]) => any) | undefined;
143
- onSelectChangeEvent?: ((params: {
144
- checked: boolean;
145
- row: any;
146
- rowIndex: number;
147
- records: any[];
148
- }) => any) | undefined;
149
- onRadioChangeEvent?: ((params: {
150
- row: any;
151
- rowIndex: number;
152
- records: any;
153
- }) => any) | undefined;
154
- onButtonClick?: ((params: {
155
- button: Button;
156
- row: any;
157
- grid: any;
158
- }) => any) | undefined;
159
- }>, {
160
- height: string;
161
- checkbox: boolean;
162
- radio: boolean;
163
- drag: boolean;
164
- tree: boolean;
165
- loading: boolean;
166
- total: number;
167
- pager: boolean;
168
- seq: boolean;
169
- showFooter: boolean;
170
- lToolBarCount: number | (() => number);
171
- rToolBarCount: number | (() => number);
172
- permissions: string[];
173
- getCommonCodeOptions: (type: string) => Array<{
174
- code: string;
175
- name: string;
176
- }>;
177
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
178
- basetable: (import('vxe-table').VxeGridMethods<any> & {
179
- $props: VxeGridProps<any> & import('vxe-table').VxeGridEventProps<any>;
180
- $slots: import('vxe-table').VxeGridSlots<any>;
181
- }) | null;
182
- paginationRef: unknown;
183
- }, any>;
184
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
185
- export default _default;
186
- type __VLS_WithTemplateSlots<T, S> = T & {
187
- new (): {
188
- $slots: S;
189
- };
190
- };
@@ -1,9 +0,0 @@
1
- import { Component } from 'vue';
2
- export declare function registerBaseTableComponents(components: {
3
- SselectPage?: Component;
4
- AutoComplete?: Component;
5
- Cascader?: Component;
6
- AreaCascader?: Component;
7
- Upload?: Component;
8
- }): void;
9
- export declare function getRegisteredComponent(name: string): Component | undefined;
@@ -1,5 +0,0 @@
1
- import { AnyObject } from '../../../packages/shared/index.ts';
2
- import { VNode } from 'vue';
3
- import { ToolbarState } from '../state';
4
- import { AreaCascaderToolbarItem } from '../types';
5
- export declare function renderAreaCascader(config: AreaCascaderToolbarItem, toolbarState: ToolbarState, allValues?: AnyObject): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderAutoComplete(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderButton(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,5 +0,0 @@
1
- import { AnyObject } from '../../../packages/shared/index.ts';
2
- import { VNode } from 'vue';
3
- import { ToolbarState } from '../state';
4
- import { CascaderToolbarItem } from '../types';
5
- export declare function renderCascader(config: CascaderToolbarItem, toolbarState: ToolbarState, allValues: AnyObject): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderCheckbox(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderCheckboxGroup(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderDatePicker(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderInput(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,5 +0,0 @@
1
- import { AnyObject } from '../../../packages/shared/index.ts';
2
- import { VNode } from 'vue';
3
- import { ToolbarState } from '../state';
4
- import { InputGroupToolbarItem } from '../types';
5
- export declare function renderInputGroup(config: InputGroupToolbarItem, toolbarState: ToolbarState, formValues?: AnyObject): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderInputNumber(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderInputPassword(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderRadioGroup(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderSelect(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderSselectPage(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderSwitch(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderTreeSelect(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,4 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { ToolbarState } from '../state';
3
- import { ToolbarItem } from '../types';
4
- export declare function renderUpload(item: ToolbarItem, toolbarState: ToolbarState): VNode;
@@ -1,24 +0,0 @@
1
- import { AnyObject } from '../../../packages/shared/index.ts';
2
- import { VNode } from 'vue';
3
- import { ToolbarState } from '../state';
4
- import { ToolbarItem } from '../types';
5
- import { renderAreaCascader } from './AreaCascader';
6
- import { renderAutoComplete } from './AutoComplete';
7
- import { renderButton } from './Button';
8
- import { renderCascader } from './Cascader';
9
- import { renderCheckbox } from './Checkbox';
10
- import { renderCheckboxGroup } from './CheckboxGroup';
11
- import { renderDatePicker } from './DatePicker';
12
- import { renderInput } from './Input';
13
- import { renderInputGroup } from './InputGroup';
14
- import { renderInputNumber } from './InputNumber';
15
- import { renderInputPassword } from './InputPassword';
16
- import { renderRadioGroup } from './RadioGroup';
17
- import { renderSelect } from './Select';
18
- import { renderSselectPage } from './SselectPage';
19
- import { renderSwitch } from './Switch';
20
- import { renderTreeSelect } from './TreeSelect';
21
- import { renderUpload } from './Upload';
22
- type Renderer = (item: ToolbarItem, toolbarState: ToolbarState, formValues?: AnyObject) => VNode;
23
- export declare const rendererMap: Record<string, Renderer>;
24
- export { renderAreaCascader, renderAutoComplete, renderButton, renderCascader, renderCheckbox, renderCheckboxGroup, renderDatePicker, renderInput, renderInputGroup, renderInputNumber, renderInputPassword, renderRadioGroup, renderSelect, renderSselectPage, renderSwitch, renderTreeSelect, renderUpload, };
@@ -1,19 +0,0 @@
1
- export interface ToolbarState {
2
- [key: string]: any;
3
- }
4
- type ToolbarValue<T = any> = T | undefined;
5
- /**
6
- * 工具栏状态管理组合式API
7
- */
8
- export declare function useToolbarState(): {
9
- state: {
10
- readonly [x: string]: any;
11
- };
12
- setValue: (key: string, value: ToolbarValue) => void;
13
- getValue: <T = any>(key: string) => ToolbarValue<T>;
14
- clear: () => void;
15
- getAllValues: () => {
16
- [key: string]: any;
17
- };
18
- };
19
- export {};
@@ -1,391 +0,0 @@
1
- import { ButtonProps, CascaderProps, CheckboxGroupProps, CheckboxProps, ColProps, DatePickerProps, InputNumberProps, InputProps, RadioGroupProps, RowProps, SelectProps, SwitchProps, TreeSelectProps, UploadProps } from '../../packages/components/index.ts';
2
- import { AnyObject, VoidFunction } from '../../packages/shared/index.ts';
3
- import { VNode } from 'vue';
4
- import { ToolbarState } from './state';
5
- export type ToolbarEventHandler = VoidFunction;
6
- export interface BaseEvents {
7
- [key: string]: ToolbarEventHandler | undefined;
8
- }
9
- export interface BaseToolbarItem {
10
- key?: string;
11
- label?: string;
12
- permission?: string;
13
- beforeCreate?: boolean | ((toolbarState: ToolbarState) => boolean);
14
- disabled?: boolean | ((allValues: AnyObject, toolbarState: ToolbarState) => boolean);
15
- props?: Record<string, any>;
16
- events?: BaseEvents;
17
- }
18
- export interface ButtonToolbarItem extends BaseToolbarItem {
19
- type: 'button';
20
- props?: Partial<ButtonProps> & {
21
- loading?: boolean;
22
- disabled?: boolean;
23
- };
24
- events?: BaseEvents & {
25
- onClick?: (loadingControl: {
26
- setLoading: (loading: boolean) => void;
27
- getLoading: () => boolean;
28
- }, allValues: AnyObject, toolbarState: ToolbarState, ...args: any[]) => void;
29
- };
30
- }
31
- export interface SlotConfig {
32
- content?: {
33
- component: any;
34
- key: string;
35
- props?: AnyObject;
36
- events?: Record<string, VoidFunction>;
37
- options?: Array<{
38
- label: string;
39
- value: any;
40
- }>;
41
- } | ((toolbarState: ToolbarState) => VNode);
42
- }
43
- export interface InputToolbarItem extends BaseToolbarItem {
44
- type: 'input';
45
- props?: Partial<InputProps> & {
46
- value?: string;
47
- autoFocus?: boolean;
48
- };
49
- events?: BaseEvents & {
50
- 'onUpdate:value'?: (value: string, allValues: AnyObject, toolbarState: ToolbarState) => void;
51
- onChange?: (event: Event, allValues: AnyObject, toolbarState: ToolbarState) => void;
52
- onFocus?: VoidFunction;
53
- onFocusCapture?: VoidFunction;
54
- onBlur?: VoidFunction;
55
- onBlurCapture?: VoidFunction;
56
- };
57
- textarea?: boolean;
58
- slots?: {
59
- addonBefore?: SlotConfig;
60
- addonAfter?: SlotConfig;
61
- prefix?: SlotConfig;
62
- suffix?: SlotConfig;
63
- };
64
- }
65
- export interface RadioGroupToolbarItem extends BaseToolbarItem {
66
- type: 'radioGroup';
67
- props?: Partial<RadioGroupProps> & {
68
- value?: any;
69
- };
70
- events?: BaseEvents & {
71
- 'onUpdate:value'?: (value: string, allValues: AnyObject, toolbarState: ToolbarState) => void;
72
- onChange?: (event: Event, allValues: AnyObject, toolbarState: ToolbarState) => void;
73
- };
74
- }
75
- export interface CheckboxToolbarItem extends BaseToolbarItem {
76
- type: 'checkbox';
77
- props?: Partial<CheckboxProps> & {
78
- checked?: boolean;
79
- value?: boolean;
80
- };
81
- events?: BaseEvents & {
82
- 'onUpdate:checked'?: (checked: boolean, allValues: AnyObject, toolbarState: ToolbarState) => void;
83
- onChange?: (event: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
84
- 'onUpdate:value'?: (checked: boolean, allValues: AnyObject, toolbarState: ToolbarState) => void;
85
- };
86
- label?: string;
87
- }
88
- export interface SwitchToolbarItem extends BaseToolbarItem {
89
- type: 'switch';
90
- props?: Partial<SwitchProps> & {
91
- checked?: boolean;
92
- };
93
- events?: BaseEvents & {
94
- 'onUpdate:checked'?: (checked: boolean, allValues: AnyObject, toolbarState: ToolbarState) => void;
95
- onChange?: (checked: boolean, allValues: AnyObject, toolbarState: ToolbarState) => void;
96
- };
97
- }
98
- export interface CheckboxGroupToolbarItem extends BaseToolbarItem {
99
- type: 'checkboxGroup';
100
- props?: Partial<CheckboxGroupProps> & {
101
- value?: any[];
102
- };
103
- events?: BaseEvents & {
104
- 'onUpdate:value'?: (value: any[], allValues: AnyObject, toolbarState: ToolbarState) => void;
105
- onChange?: (checkedValues: any[], allValues: AnyObject, toolbarState: ToolbarState) => void;
106
- };
107
- }
108
- export interface DatePickerToolbarItem extends BaseToolbarItem {
109
- type: 'datePicker';
110
- props?: Partial<DatePickerProps> & {
111
- value?: any;
112
- autoFocus?: boolean;
113
- };
114
- events?: BaseEvents & {
115
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
116
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
117
- onFocus?: VoidFunction;
118
- };
119
- range?: boolean;
120
- }
121
- export interface SelectToolbarItem extends BaseToolbarItem {
122
- type: 'select';
123
- props?: Partial<SelectProps> & {
124
- value?: any;
125
- options?: any[] | ((values: AnyObject) => any[]);
126
- };
127
- events?: BaseEvents & {
128
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
129
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
130
- };
131
- }
132
- export interface CascaderToolbarItem extends BaseToolbarItem {
133
- type: 'cascader';
134
- props?: Partial<CascaderProps> & {
135
- value?: any;
136
- };
137
- events?: BaseEvents & {
138
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
139
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
140
- };
141
- }
142
- export interface AreaCascaderProps {
143
- value?: any[];
144
- placeholder?: string;
145
- disabled?: boolean;
146
- allowClear?: boolean;
147
- [key: string]: any;
148
- }
149
- export interface AreaCascaderToolbarItem extends BaseToolbarItem {
150
- type: 'areaCascader';
151
- props?: AreaCascaderProps;
152
- attr?: Record<string, any>;
153
- events?: BaseEvents & {
154
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
155
- selectedArea?: (area: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
156
- };
157
- }
158
- export interface TreeSelectToolbarItem extends BaseToolbarItem {
159
- type: 'treeSelect';
160
- props?: Partial<TreeSelectProps> & {
161
- value?: any;
162
- options?: any[] | ((values: AnyObject) => any[]);
163
- };
164
- events?: BaseEvents & {
165
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
166
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
167
- };
168
- }
169
- export interface InputNumberToolbarItem extends BaseToolbarItem {
170
- type: 'inputNumber';
171
- props?: Partial<InputNumberProps> & {
172
- value?: any;
173
- autoFocus?: boolean;
174
- xmoney?: boolean;
175
- xprice?: boolean;
176
- xweight?: boolean;
177
- xtaxrate?: boolean;
178
- xnumber?: boolean;
179
- };
180
- events?: BaseEvents & {
181
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
182
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
183
- onStep?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
184
- onFocus?: VoidFunction;
185
- onFocusCapture?: VoidFunction;
186
- onBlur?: VoidFunction;
187
- onBlurCapture?: VoidFunction;
188
- };
189
- slots?: {
190
- addonBefore?: SlotConfig;
191
- addonAfter?: SlotConfig;
192
- prefix?: SlotConfig;
193
- suffix?: SlotConfig;
194
- };
195
- }
196
- export interface InputPasswordToolbarItem extends BaseToolbarItem {
197
- type: 'inputPassword';
198
- props?: Partial<InputProps> & {
199
- value?: string;
200
- };
201
- events?: BaseEvents & {
202
- 'onUpdate:value'?: (value: string, allValues: AnyObject, toolbarState: ToolbarState) => void;
203
- onChange?: (event: Event, allValues: AnyObject, toolbarState: ToolbarState) => void;
204
- };
205
- textarea?: boolean;
206
- slots?: {
207
- addonBefore?: SlotConfig;
208
- addonAfter?: SlotConfig;
209
- prefix?: SlotConfig;
210
- suffix?: SlotConfig;
211
- };
212
- }
213
- export interface UploadToolbarItem extends BaseToolbarItem {
214
- type: 'upload';
215
- props?: Partial<UploadProps> & {
216
- value?: any[];
217
- placeholder?: string;
218
- allowClear?: boolean;
219
- disabled?: boolean | ((allValues: AnyObject, toolbarState: ToolbarState) => boolean);
220
- multiple?: boolean;
221
- maxCount?: number;
222
- listType?: 'text' | 'picture' | 'picture-card';
223
- api?: {
224
- url: string;
225
- method?: 'GET' | 'POST';
226
- headers?: Record<string, string>;
227
- };
228
- extraParams?: AnyObject | ((allValues: AnyObject, toolbarState: ToolbarState) => AnyObject);
229
- dataMapping?: {
230
- list?: string;
231
- url?: string;
232
- name?: string;
233
- status?: string;
234
- };
235
- buttonText?: string;
236
- placeholderSrc?: string;
237
- placeholderAlt?: string;
238
- placeholderClass?: string;
239
- placeholderStyle?: AnyObject;
240
- transformData?: (data: any) => any;
241
- beforeUpload?: (file: File, fileList: File[]) => boolean | Promise<boolean>;
242
- onPreview?: (file: any) => void;
243
- onRemove?: (file: any) => boolean | Promise<boolean>;
244
- };
245
- passage?: 'image' | 'pdf' | 'word' | 'excel' | 'video' | 'audio' | string;
246
- events?: BaseEvents & {
247
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
248
- onChange?: (info: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
249
- onSuccess?: (response: any, file: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
250
- onError?: (error: any, file: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
251
- };
252
- }
253
- export interface SselectPageProps {
254
- value?: any;
255
- placeholder?: string;
256
- allowClear?: boolean;
257
- showSearch?: boolean;
258
- disabled?: boolean;
259
- maxTagCount?: number;
260
- size?: 'large' | 'middle' | 'small';
261
- mode?: 'multiple' | 'tags';
262
- api: {
263
- url: string;
264
- method?: 'GET' | 'POST';
265
- headers?: Record<string, string>;
266
- params?: AnyObject;
267
- data?: AnyObject;
268
- };
269
- dataMapping?: {
270
- list?: string;
271
- total?: string;
272
- value?: string;
273
- label?: string;
274
- };
275
- pagination?: boolean;
276
- paginationConfig?: {
277
- pageField?: string;
278
- pageSizeField?: string;
279
- searchField?: string;
280
- searchContains?: string;
281
- };
282
- pageSize?: number;
283
- searchDelay?: number;
284
- extraParams?: AnyObject | ((allValues: AnyObject, toolbarState: ToolbarState) => AnyObject);
285
- transformData?: (data: any) => any;
286
- autoLoad?: boolean;
287
- autoFocus?: boolean;
288
- [key: string]: any;
289
- }
290
- export interface SselectPageToolbarItem extends BaseToolbarItem {
291
- type: 'sselectPage';
292
- props?: SselectPageProps & {
293
- disabled?: boolean | ((allValues: AnyObject, toolbarState: ToolbarState) => boolean);
294
- };
295
- events?: BaseEvents & {
296
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
297
- onChange?: (value: any, option: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
298
- onSearch?: (value: string, allValues: AnyObject, toolbarState: ToolbarState) => void;
299
- onClear?: (allValues: AnyObject, toolbarState: ToolbarState) => void;
300
- };
301
- }
302
- export interface AutoCompleteProps {
303
- value?: any;
304
- options?: any[];
305
- placeholder?: string;
306
- disabled?: boolean;
307
- allowClear?: boolean;
308
- [key: string]: any;
309
- }
310
- export interface AutoCompleteToolbarItem extends BaseToolbarItem {
311
- type: 'autoComplete';
312
- props?: AutoCompleteProps;
313
- events?: BaseEvents & {
314
- 'onUpdate:value'?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
315
- onChange?: (value: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
316
- onSelect?: (value: any, option: any, allValues: AnyObject, toolbarState: ToolbarState) => void;
317
- onSearch?: (value: string, allValues: AnyObject, toolbarState: ToolbarState) => void;
318
- };
319
- }
320
- export type InputGroupSize = 'large' | 'middle' | 'small' | 'default';
321
- export interface InputGroupPropsLike {
322
- size?: InputGroupSize;
323
- compact?: boolean;
324
- prefixCls?: string;
325
- }
326
- export type PresetXtype = 'add' | 'edit' | 'dels' | 'export' | 'print' | 'files';
327
- export interface FilesCategoryOption {
328
- label: string;
329
- value: string;
330
- [key: string]: any;
331
- }
332
- export interface FilesPresetConfig {
333
- title?: string;
334
- billtypeCode: string | ((row: AnyObject) => string);
335
- categoryOptions: FilesCategoryOption[] | ((row: AnyObject) => FilesCategoryOption[]);
336
- objIdKey?: string;
337
- accept?: string;
338
- passage?: 'image' | 'pdf' | 'word' | 'excel' | 'video' | 'audio' | string;
339
- maxFileSizeMB?: number;
340
- maxCount?: number;
341
- refreshOnSuccess?: boolean;
342
- }
343
- export interface PresetBaseToolbarItem extends BaseToolbarItem {
344
- xtype: PresetXtype;
345
- permission?: string;
346
- label?: string;
347
- events?: any;
348
- props?: any;
349
- }
350
- export interface PresetDelsToolbarItem extends PresetBaseToolbarItem {
351
- xtype: 'dels';
352
- api?: {
353
- url?: string;
354
- method?: 'get' | 'post';
355
- useParams?: boolean;
356
- };
357
- }
358
- export interface PresetExportToolbarItem extends PresetBaseToolbarItem {
359
- xtype: 'export';
360
- filename?: string;
361
- }
362
- export interface PresetFilesToolbarItem extends PresetBaseToolbarItem {
363
- xtype: 'files';
364
- files: FilesPresetConfig;
365
- }
366
- export type PresetToolbarItem = PresetDelsToolbarItem | PresetExportToolbarItem | PresetFilesToolbarItem;
367
- export type RenderableToolbarItem = ButtonToolbarItem | InputToolbarItem | RadioGroupToolbarItem | CheckboxToolbarItem | SwitchToolbarItem | CheckboxGroupToolbarItem | DatePickerToolbarItem | UploadToolbarItem | InputNumberToolbarItem | SelectToolbarItem | TreeSelectToolbarItem | InputPasswordToolbarItem | SselectPageToolbarItem | AutoCompleteToolbarItem | InputGroupToolbarItem | CascaderToolbarItem | AreaCascaderToolbarItem;
368
- export type ToolbarItem = RenderableToolbarItem | PresetToolbarItem;
369
- export type InputGroupChild = RenderableToolbarItem & {
370
- span?: number;
371
- flex?: string;
372
- class?: string;
373
- style?: AnyObject;
374
- };
375
- export interface InputGroupToolbarItem extends BaseToolbarItem {
376
- [x: string]: any;
377
- type: 'inputGroup';
378
- props?: Partial<InputGroupPropsLike>;
379
- layout?: {
380
- type?: 'compact' | 'row' | 'none';
381
- rowProps?: Partial<RowProps>;
382
- cols?: Array<Partial<ColProps> & {
383
- span?: number;
384
- }>;
385
- };
386
- children: InputGroupChild[];
387
- }
388
- export interface ToolbarConfig {
389
- items: ToolbarItem[];
390
- }
391
- export type { ButtonProps, DatePickerProps, InputNumberProps, InputProps, RadioGroupProps, SelectProps, SwitchProps, TreeSelectProps, UploadProps, };
@@ -1,8 +0,0 @@
1
- import { VNode } from 'vue';
2
- import { registerBaseTableComponents } from './registry';
3
- import { useToolbarState, ToolbarState } from './state';
4
- import { ToolbarConfig } from './types';
5
- export declare function renderToolbar(config: ToolbarConfig, toolbarState: ToolbarState, count: number | (() => number), permissions?: string[]): VNode[];
6
- export { registerBaseTableComponents, ToolbarState, useToolbarState };
7
- export * from './types';
8
- export * from './renderers';
@@ -1,2 +0,0 @@
1
- import { default as BaseTable } from './BaseTable/index';
2
- export { BaseTable };