@fewangsit/wangsvue-fats 1.0.0-alpha.30 → 1.0.0-alpha.32
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/components/animation/Animation.vue.d.ts +6 -6
- package/components/approverinfo/ApproverInfo.vue.d.ts +36 -36
- package/components/assetinfo/AssetInfo.vue.d.ts +21 -18
- package/components/badge/Badge.vue.d.ts +46 -46
- package/components/badgegroup/BadgeGroup.vue.d.ts +38 -38
- package/components/basecomponent/index.d.ts +15 -15
- package/components/basetree/BaseTree.vue.d.ts +458 -458
- package/components/basetree/TreeNode.vue.d.ts +25 -25
- package/components/breadcrumb/Breadcrumb.vue.d.ts +7 -7
- package/components/button/Button.vue.d.ts +142 -147
- package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +35 -0
- package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +73 -73
- package/components/buttoncopy/ButtonCopy.vue.d.ts +7 -7
- package/components/buttondownload/ButtonDownload.vue.d.ts +26 -26
- package/components/buttonfilter/ButtonFilter.vue.d.ts +4 -4
- package/components/buttonradio/ButtonRadio.vue.d.ts +189 -189
- package/components/buttonscan/ButtonScan.vue.d.ts +154 -154
- package/components/buttonsearch/ButtonSearch.vue.d.ts +13 -13
- package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +164 -164
- package/components/buttonsplit/ButtonSplit.vue.d.ts +350 -0
- package/components/buttonsync/ButtonSync.vue.d.ts +10 -10
- package/components/buttontoggle/ButtonToggle.vue.d.ts +4 -4
- package/components/buttonviewlog/ButtonViewLog.vue.d.ts +6 -6
- package/components/calendar/Calendar.vue.d.ts +469 -469
- package/components/card/Card.vue.d.ts +82 -82
- package/components/checkbox/Checkbox.vue.d.ts +245 -245
- package/components/customcolumn/CustomColumn.vue.d.ts +21 -21
- package/components/datatable/DataTable.vue.d.ts +595 -595
- package/components/dialog/Dialog.vue.d.ts +367 -367
- package/components/dialogconfirm/DialogConfirm.vue.d.ts +117 -117
- package/components/dialogform/DialogForm.vue.d.ts +288 -288
- package/components/dialogselecttree/DialogSelectTree.vue.d.ts +98 -98
- package/components/dropdown/Dropdown.vue.d.ts +226 -226
- package/components/editor/Editor.vue.d.ts +156 -156
- package/components/fieldwrapper/FieldWrapper.vue.d.ts +48 -48
- package/components/fileupload/FileUpload.vue.d.ts +132 -132
- package/components/filtercontainer/FilterContainer.vue.d.ts +116 -113
- package/components/form/Form.vue.d.ts +258 -258
- package/components/icon/Icon.vue.d.ts +235 -235
- package/components/image/Image.vue.d.ts +306 -306
- package/components/imagecompressor/ImageCompressor.vue.d.ts +186 -186
- package/components/index.d.ts +57 -57
- package/components/inputbadge/InputBadge.vue.d.ts +90 -90
- package/components/inputcurrency/InputCurrency.vue.d.ts +126 -126
- package/components/inputcurrency/helpers/currency.helper.d.ts +3 -3
- package/components/inputnumber/InputNumber.vue.d.ts +245 -245
- package/components/inputpassword/InputPassword.vue.d.ts +19 -19
- package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +68 -68
- package/components/inputrangenumber/InputRangeNumber.vue.d.ts +88 -88
- package/components/inputsearch/InputSearch.vue.d.ts +14 -11
- package/components/inputtext/InputText.vue.d.ts +281 -281
- package/components/inputurl/InputURL.vue.d.ts +9 -6
- package/components/invisiblefield/InvisibleField.vue.d.ts +18 -18
- package/components/languagedropdown/LanguageDropdown.vue.d.ts +32 -0
- package/components/litedropdown/LiteDropdown.vue.d.ts +64 -64
- package/components/loading/Loading.vue.d.ts +5 -5
- package/components/loading/store/loading.store.d.ts +3 -3
- package/components/menu/Menu.vue.d.ts +282 -282
- package/components/menuitem/index.d.ts +84 -84
- package/components/multiselect/MultiSelect.vue.d.ts +161 -161
- package/components/overlaypanel/OverlayPanel.vue.d.ts +207 -207
- package/components/passthrough/index.d.ts +8 -8
- package/components/tabmenu/TabMenu.vue.d.ts +185 -185
- package/components/textarea/Textarea.vue.d.ts +131 -131
- package/components/timeline/Timeline.vue.d.ts +60 -60
- package/components/toast/Toast.vue.d.ts +265 -265
- package/components/toggleswitch/ToggleSwitch.vue.d.ts +211 -211
- package/components/tree/Tree.vue.d.ts +116 -116
- package/components/tree/helpers/filterNodeKeys.helper.d.ts +4 -4
- package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +1 -1
- package/components/treesearchinput/TreeSearchInput.vue.d.ts +16 -0
- package/components/ts-helpers.d.ts +41 -43
- package/components/username/UserName.vue.d.ts +71 -71
- package/components/userwithicon/UserWithIcon.vue.d.ts +8 -8
- package/directives/focus.d.ts +1 -1
- package/event-bus/index.d.ts +51 -51
- package/event-bus/mitt.d.ts +21 -24
- package/package.json +8 -4
- package/plugins/WangsVue.d.ts +226 -226
- package/plugins/formValidation.d.ts +11 -11
- package/plugins/i18n-extension.d.ts +1 -1
- package/plugins/i18n.d.ts +80 -80
- package/utils/date.util.d.ts +53 -53
- package/utils/index.d.ts +1 -14
- package/utils/listenSidebarChanges.util.d.ts +9 -9
- package/utils/object.util.d.ts +8 -8
- package/utils/role.util.d.ts +65 -3
- package/utils/toast.util.d.ts +78 -78
- package/components/buttonscan/helpers/getErrorCode.helper.d.ts +0 -3
- package/components/buttonscan/helpers/index.d.ts +0 -1
- package/components/buttonscan/workers/scanner.worker.d.ts +0 -1
- package/components/calendar/BaseCalendar.vue.d.ts +0 -127
- package/components/customcolumn/ColumnList.vue.d.ts +0 -47
- package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +0 -16
- package/components/datatable/MultiRow.vue.d.ts +0 -36
- package/components/datatable/helpers/adjustMenuPosition.helper.d.ts +0 -1
- package/components/datatable/helpers/filter.helper.d.ts +0 -38
- package/components/datatable/helpers/index.d.ts +0 -6
- package/components/datatable/helpers/readConfig.helper.d.ts +0 -5
- package/components/datatable/store/dataTable.store.d.ts +0 -25
- package/components/editor/CodeSnippetAdapter.vue.d.ts +0 -152
- package/components/editor/EditorButton.vue.d.ts +0 -35
- package/components/editor/MentionList.vue.d.ts +0 -49
- package/components/editor/MentionSection.vue.d.ts +0 -152
- package/components/editor/codeSnippetExtension.d.ts +0 -3
- package/components/editor/mentionSectionExtension.d.ts +0 -3
- package/components/editor/suggestion.d.ts +0 -2
- package/components/filtercontainer/helpers/applyFilter.helper.d.ts +0 -14
- package/components/filtercontainer/helpers/formatDateTimeRange.helper.d.ts +0 -7
- package/components/filtercontainer/helpers/getOption.helper.d.ts +0 -12
- package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +0 -59
- package/components/imagecompressor/ImageInputInfo.vue.d.ts +0 -55
- package/components/inputphonenumber/helpers/getUserLocation.helper.d.ts +0 -8
- package/components/menu/helpers/filterMenu.helper.d.ts +0 -15
- package/components/menu/helpers/index.d.ts +0 -1
- package/components/menuitem/MenuItem.vue +0 -70
- package/components/menuitem/MenuItem.vue.d.ts +0 -39
- package/components/timeline/TimelineContentByType.vue.d.ts +0 -64
- package/components/tree/helpers/index.d.ts +0 -3
- package/loading-page-BrQattYE.js +0 -1
- package/loading-page-CgfbWppy.js +0 -1
- package/loading-page-CoC9UhfC.js +0 -4
- package/loading-page-CoXtqoc9.js +0 -4
- package/loading-page-DbLuqCHa.js +0 -1
- package/loading-page-f8D03l3G.js +0 -4
- package/loading-plane-CgfbWppy.js +0 -1
- package/loading-plane-CoXtqoc9.js +0 -4
- package/loading-table-Bdr9ZhtP.js +0 -1
- package/loading-table-ByUoWqUo.js +0 -4
- package/loading-table-BygEMzFM.js +0 -4
- package/loading-table-BzrSQlA0.js +0 -1
- package/loading-table-D9bw9OcI.js +0 -4
- package/loading-table-chOgXi94.js +0 -1
- package/no-data-CTKux8RI.js +0 -4
- package/no-data-Cgze_Rvp.js +0 -1
- package/no-data-DLHO1L_u.js +0 -4
- package/no-data-Dep79CBh.js +0 -1
- package/no-data-g0dJCy2p.js +0 -4
- package/no-data-y1X5WtcQ.js +0 -1
- package/style.css +0 -1
- package/utils/addAttachment.util.d.ts +0 -59
- package/utils/exportToExcel.util.d.ts +0 -20
- package/utils/filterOptions.util.d.ts +0 -5
- package/utils/genPlaceholder.util.d.ts +0 -13
- package/utils/getAttachmentIcon.util.d.ts +0 -8
- package/utils/mergePropsWithDefaults.util.d.ts +0 -23
- package/utils/textFormatter.util.d.ts +0 -29
- package/wangsvue-fats.es.js +0 -123730
- package/wangsvue-fats.system.js +0 -478
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
FileUploadErrorEvent,
|
|
3
|
+
FileUploadUploadEvent,
|
|
4
4
|
} from 'primevue/fileupload';
|
|
5
5
|
import { CustomValidation } from '../form/Form.vue.d';
|
|
6
6
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
@@ -11,135 +11,135 @@ export type InputErrorCodes = 'FILE_SIZE_TOO_LARGE';
|
|
|
11
11
|
* Defines valid properties in FileUpload component.
|
|
12
12
|
*/
|
|
13
13
|
export type FileUploadProps = {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Pattern to restrict the allowed file types such as 'image/*'.
|
|
16
|
+
*/
|
|
17
|
+
accept?: string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Disables the upload functionality.
|
|
20
|
+
* @defaultValue false
|
|
21
|
+
*/
|
|
22
|
+
disabled?: boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Maximum file size allowed in bytes.
|
|
25
|
+
*/
|
|
26
|
+
maxFileSize?: number | undefined;
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
/**
|
|
29
|
+
* V-model for the file upload component.
|
|
30
|
+
* Be careful while using this props since the validation can't work while using this.
|
|
31
|
+
* You must do manual validation when choosing the file to be set on the component.
|
|
32
|
+
*/
|
|
33
|
+
modelValue?: File | File[];
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Props to determine whether file upload support multiple files or not
|
|
37
|
+
*
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
40
|
+
multiple?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Message of the invalid fize size.
|
|
43
|
+
* - Use {0} to get the file's name
|
|
44
|
+
* - Use {1} to get the max file size
|
|
45
|
+
* - Use {2} to get the accepted file types from props.accept
|
|
46
|
+
* - Use {2.1} to get the accepted file types from props.fileExtensions
|
|
47
|
+
* @defaultValue {0}: Invalid file size, file size should be smaller than {1}.
|
|
48
|
+
*/
|
|
49
|
+
invalidFileSizeMessage?: string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Message of the invalid fize type.
|
|
52
|
+
* - Use {0} to get the file's name
|
|
53
|
+
* - Use {1} to get the max file size
|
|
54
|
+
* - Use {2} to get the accepted file types
|
|
55
|
+
* - Use {2.1} to get the accepted file types from props.fileExtensions
|
|
56
|
+
* @defaultValue '{0}: Invalid file type, allowed file types: {2}'
|
|
57
|
+
*/
|
|
58
|
+
invalidFileTypeMessage?: string | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Label of the file upload.
|
|
61
|
+
* @defaultValue 'Upload File'
|
|
62
|
+
*/
|
|
63
|
+
label?: string | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Whether to use an upload button.
|
|
66
|
+
* @defaultValue true
|
|
67
|
+
*/
|
|
68
|
+
withUpload?: boolean | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Label of the upload button.
|
|
71
|
+
* @defaultValue 'Upload'.
|
|
72
|
+
*/
|
|
73
|
+
uploadLabel?: string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Placeholder of the file upload.
|
|
76
|
+
* @defaultValue 'Select File'
|
|
77
|
+
*/
|
|
78
|
+
placeholder?: string | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* File extensions to display the accepted extensions.
|
|
81
|
+
*/
|
|
82
|
+
fileExtensions?: string | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* The note about the requirements of file for being uploaded.
|
|
85
|
+
*
|
|
86
|
+
* Placed at the bottom right of input.
|
|
87
|
+
*/
|
|
88
|
+
fileRequirements?: string | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* The function to be called after the upload button is clicked. (Must be used when withUpload is true)
|
|
91
|
+
*/
|
|
92
|
+
uploadFunction?: (files: File[]) => Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Whether the input should be validated with vee-validator or not.
|
|
95
|
+
* If you use this component within form input, you need to set this props as true.
|
|
96
|
+
*/
|
|
97
|
+
useValidator?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* This prop is required if you use this component in a form input.
|
|
100
|
+
* Specify the unique field name, match with your needs for API request.
|
|
101
|
+
*
|
|
102
|
+
* @default 'fileUpload'
|
|
103
|
+
*/
|
|
104
|
+
fieldName?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Whether this input field is required or not.
|
|
107
|
+
*/
|
|
108
|
+
mandatory?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Whether show toast error message on invalid file input
|
|
111
|
+
*
|
|
112
|
+
* @default true;
|
|
113
|
+
*/
|
|
114
|
+
useErrorToast?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Set custom validator message.
|
|
117
|
+
* Will be show if invalid="true"
|
|
118
|
+
*/
|
|
119
|
+
validatorMessage?: string | CustomValidation;
|
|
120
|
+
/**
|
|
121
|
+
* Classes for validator message in input field.
|
|
122
|
+
*/
|
|
123
|
+
validatorMessageClass?: string;
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
export type FileUploadEmits = {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
127
|
+
/**
|
|
128
|
+
* Callback to invoke when there is a file selected.
|
|
129
|
+
*/
|
|
130
|
+
'select': [event: File | File[]];
|
|
131
|
+
/**
|
|
132
|
+
* Callback to invoke when model changed.
|
|
133
|
+
*/
|
|
134
|
+
'update:modelValue': [event: File | File[]];
|
|
135
|
+
/**
|
|
136
|
+
* Callback to invoke when file upload is complete.
|
|
137
|
+
*/
|
|
138
|
+
'upload': [event: FileUploadUploadEvent];
|
|
139
|
+
/**
|
|
140
|
+
* Callback to invoke if file upload fails.
|
|
141
|
+
*/
|
|
142
|
+
'error': [event: FileUploadErrorEvent | InputErrorCodes];
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
/**
|
|
@@ -155,15 +155,15 @@ export type FileUploadEmits = {
|
|
|
155
155
|
*
|
|
156
156
|
*/
|
|
157
157
|
declare class FileUpload extends ClassComponent<
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
FileUploadProps,
|
|
159
|
+
null,
|
|
160
|
+
FileUploadEmits
|
|
161
161
|
> {}
|
|
162
162
|
|
|
163
163
|
declare module '@vue/runtime-core' {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
interface GlobalComponents {
|
|
165
|
+
FileUpload: GlobalComponentConstructor<FileUpload>;
|
|
166
|
+
}
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
export default FileUpload;
|
|
@@ -1,163 +1,166 @@
|
|
|
1
1
|
import { DefineComponent, Slot } from 'vue';
|
|
2
2
|
import { CalendarProps } from '../calendar/Calendar.vue.d';
|
|
3
3
|
import { QueryParams } from '../datatable/DataTable.vue.d';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
DropdownProps,
|
|
6
|
+
Option,
|
|
7
|
+
} from '../../components/dropdown/Dropdown.vue.d';
|
|
5
8
|
import { InputRangeNumberProps } from '../inputrangenumber/InputRangeNumber.vue.d';
|
|
6
9
|
import { MultiSelectProps } from '../multiselect/MultiSelect.vue.d';
|
|
7
10
|
import { ButtonSelectTreeProps } from '../buttonselecttree/ButtonSelectTree.vue.d';
|
|
8
11
|
|
|
9
12
|
export type FilterMatchMode =
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
| 'CONTAINS'
|
|
14
|
+
| 'EQUALS'
|
|
15
|
+
| 'NOT_EQUALS'
|
|
16
|
+
| 'IN'
|
|
17
|
+
| 'LESS_THAN'
|
|
18
|
+
| 'LESS_THAN_OR_EQUAL_TO'
|
|
19
|
+
| 'GREATER_THAN'
|
|
20
|
+
| 'GREATER_THAN_OR_EQUAL_TO'
|
|
21
|
+
| 'BETWEEN'
|
|
22
|
+
| 'DATE_BETWEEN';
|
|
20
23
|
|
|
21
24
|
// More specific filter field types
|
|
22
25
|
export interface MultiSelectFilterField extends MultiSelectProps {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
type: 'multiselect';
|
|
27
|
+
/**
|
|
28
|
+
* The name of the field this filter applies to.
|
|
29
|
+
*
|
|
30
|
+
* When using a static filter, it also specifies the field in the data to be used for generating unique options.
|
|
31
|
+
* For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
|
|
32
|
+
* unique full names from the table data and use them as filter options.
|
|
33
|
+
*/
|
|
34
|
+
field: string;
|
|
35
|
+
optionField?: string; // @example - actionOptions
|
|
36
|
+
params?: QueryParams; // Additional QueryParams for the fetchOptionFn
|
|
37
|
+
fetchOptionFn?:
|
|
38
|
+
| ((args?: any) => Option[] | undefined) // Sync function to fetch options
|
|
39
|
+
| ((args?: any) => Promise<Option[] | undefined>); // Async function
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
export interface DropdownFilterField extends DropdownProps {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
type: 'dropdown';
|
|
44
|
+
/**
|
|
45
|
+
* The name of the field this filter applies to.
|
|
46
|
+
*
|
|
47
|
+
* When using a static filter, it also specifies the field in the data to be used for generating unique options.
|
|
48
|
+
* For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
|
|
49
|
+
* unique full names from the table data and use them as filter options.
|
|
50
|
+
*/
|
|
51
|
+
field: string;
|
|
52
|
+
optionField?: string; // @example - actionOptions
|
|
53
|
+
params?: QueryParams; // Additional QueryParams for the fetchOptionFn
|
|
54
|
+
fetchOptionFn?:
|
|
55
|
+
| ((args?: any) => Option[] | undefined) // Sync function to fetch options
|
|
56
|
+
| ((args?: any) => Promise<Option[]> | undefined); // Async function
|
|
54
57
|
}
|
|
55
58
|
|
|
56
59
|
export interface RangeNumberFilterField extends InputRangeNumberProps {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
type: 'rangenumber';
|
|
61
|
+
/**
|
|
62
|
+
* Specify min and max field
|
|
63
|
+
*
|
|
64
|
+
* @example ['minAge', 'maxAge']
|
|
65
|
+
*/
|
|
66
|
+
fields?: string[];
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Specify single field for both min and max input.
|
|
70
|
+
* The value will be a number array.
|
|
71
|
+
*
|
|
72
|
+
* Prever use this property when you are working with Static Filtering
|
|
73
|
+
*
|
|
74
|
+
* @example value: [1000,5000] or equal to 'value.0': 1000 & 'value.1': 5000
|
|
75
|
+
*/
|
|
76
|
+
field?: string;
|
|
77
|
+
tooltip?: string;
|
|
75
78
|
}
|
|
76
79
|
|
|
77
80
|
export interface ButtonSelectTreeFilterField
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
extends Omit<ButtonSelectTreeProps, 'type' | 'label' | 'fieldLabel'> {
|
|
82
|
+
type: 'group' | 'category';
|
|
83
|
+
field: string; // The name of the field this filter applies to
|
|
84
|
+
/**
|
|
85
|
+
* The field label.
|
|
86
|
+
*/
|
|
87
|
+
label?: string;
|
|
88
|
+
/**
|
|
89
|
+
* The button label.
|
|
90
|
+
* @default to Select Group|Category
|
|
91
|
+
*/
|
|
92
|
+
buttonLabel?: string;
|
|
93
|
+
params?: QueryParams; // Override QueryParams for the fetchTree
|
|
91
94
|
}
|
|
92
95
|
|
|
93
96
|
export interface CalendarFilterField extends CalendarProps {
|
|
94
|
-
|
|
95
|
-
|
|
97
|
+
type: 'calendar';
|
|
98
|
+
field: string;
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
export type AdditionalFilterField = ButtonSelectTreeFilterField;
|
|
99
102
|
|
|
100
103
|
export type FilterField =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
| AdditionalFilterField
|
|
105
|
+
| MultiSelectFilterField
|
|
106
|
+
| DropdownFilterField
|
|
107
|
+
| RangeNumberFilterField
|
|
108
|
+
| CalendarFilterField;
|
|
106
109
|
|
|
107
110
|
export type FilterOptions<Opt = Record<string, boolean>> = Record<
|
|
108
|
-
|
|
109
|
-
|
|
111
|
+
keyof Opt,
|
|
112
|
+
Option[]
|
|
110
113
|
>;
|
|
111
114
|
|
|
112
115
|
export type LoadingFilters = Record<string, boolean>;
|
|
113
116
|
|
|
114
117
|
export type FetchOptionResponse<Opt = Record<string, boolean>> = {
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
message: string;
|
|
119
|
+
data: FilterOptions<Opt>;
|
|
117
120
|
};
|
|
118
121
|
|
|
119
122
|
export interface FilterContainerLocaleConfig {
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
clearFieldText?: string;
|
|
124
|
+
applyText?: string;
|
|
122
125
|
}
|
|
123
126
|
|
|
124
127
|
export interface FilterContainerProps {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Specify the table name integrated with this filter.
|
|
130
|
+
*
|
|
131
|
+
* @default datatable - the default table name
|
|
132
|
+
*/
|
|
133
|
+
tableName?: string;
|
|
134
|
+
/**
|
|
135
|
+
* Set the fields count in a row
|
|
136
|
+
*
|
|
137
|
+
* @default 4 grid columns
|
|
138
|
+
*/
|
|
139
|
+
fieldsPerRow?: number;
|
|
140
|
+
fields: FilterField[];
|
|
141
|
+
/**
|
|
142
|
+
* Enable static filtering
|
|
143
|
+
*/
|
|
144
|
+
static?: boolean;
|
|
142
145
|
}
|
|
143
146
|
|
|
144
147
|
/**
|
|
145
148
|
* Slots for FilterContainer component
|
|
146
149
|
*/
|
|
147
150
|
export type FilterContainerSlots = {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
151
|
+
/**
|
|
152
|
+
* @deprecated Please use props.fields instead
|
|
153
|
+
*/
|
|
154
|
+
default: Slot;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Additional template for field.
|
|
158
|
+
*/
|
|
159
|
+
field: Slot<{ field: AdditionalFilterField; fieldName: string }>;
|
|
157
160
|
};
|
|
158
161
|
|
|
159
162
|
export type FilterContainerEmits = {
|
|
160
|
-
|
|
163
|
+
apply: [filter: QueryParams];
|
|
161
164
|
};
|
|
162
165
|
|
|
163
166
|
/**
|
|
@@ -173,9 +176,9 @@ export type FilterContainerEmits = {
|
|
|
173
176
|
* @group components
|
|
174
177
|
*/
|
|
175
178
|
declare const FilterContainer: DefineComponent<
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
+
FilterContainerProps,
|
|
180
|
+
FilterContainerEmits,
|
|
181
|
+
FilterContainerSlots
|
|
179
182
|
>;
|
|
180
183
|
|
|
181
184
|
export default FilterContainer;
|