@fewangsit/wangsvue-fats 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (151) hide show
  1. package/components/animation/Animation.vue.d.ts +6 -6
  2. package/components/approverinfo/ApproverInfo.vue.d.ts +36 -36
  3. package/components/assetinfo/AssetInfo.vue.d.ts +31 -0
  4. package/components/badge/Badge.vue.d.ts +46 -46
  5. package/components/badgegroup/BadgeGroup.vue.d.ts +38 -38
  6. package/components/basecomponent/index.d.ts +15 -15
  7. package/components/basetree/BaseTree.vue.d.ts +458 -458
  8. package/components/basetree/TreeNode.vue.d.ts +25 -25
  9. package/components/breadcrumb/Breadcrumb.vue.d.ts +7 -7
  10. package/components/button/Button.vue.d.ts +149 -141
  11. package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +73 -73
  12. package/components/buttoncopy/ButtonCopy.vue.d.ts +7 -7
  13. package/components/buttondownload/ButtonDownload.vue.d.ts +26 -26
  14. package/components/buttonfilter/ButtonFilter.vue.d.ts +4 -4
  15. package/components/buttonradio/ButtonRadio.vue.d.ts +189 -189
  16. package/components/buttonscan/ButtonScan.vue.d.ts +201 -0
  17. package/components/buttonscan/helpers/getErrorCode.helper.d.ts +3 -0
  18. package/components/buttonscan/helpers/index.d.ts +1 -0
  19. package/components/buttonscan/workers/scanner.worker.d.ts +1 -0
  20. package/components/buttonsearch/ButtonSearch.vue.d.ts +13 -13
  21. package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +165 -163
  22. package/components/buttonsync/ButtonSync.vue.d.ts +22 -0
  23. package/components/buttontoggle/ButtonToggle.vue.d.ts +4 -4
  24. package/components/buttonviewlog/ButtonViewLog.vue.d.ts +17 -0
  25. package/components/calendar/BaseCalendar.vue.d.ts +106 -65
  26. package/components/calendar/Calendar.vue.d.ts +469 -469
  27. package/components/card/Card.vue.d.ts +82 -82
  28. package/components/checkbox/Checkbox.vue.d.ts +245 -245
  29. package/components/customcolumn/ColumnList.vue.d.ts +35 -15
  30. package/components/customcolumn/CustomColumn.vue.d.ts +21 -21
  31. package/components/customcolumn/helpers/setVisibilityColumn.helper.d.ts +5 -1
  32. package/components/datatable/DataTable.vue.d.ts +596 -596
  33. package/components/datatable/MultiRow.vue.d.ts +31 -11
  34. package/components/datatable/helpers/filter.helper.d.ts +12 -2
  35. package/components/datatable/helpers/index.d.ts +4 -1
  36. package/components/datatable/helpers/readConfig.helper.d.ts +4 -1
  37. package/components/datatable/store/dataTable.store.d.ts +4 -1
  38. package/components/dialog/Dialog.vue.d.ts +367 -367
  39. package/components/dialogconfirm/DialogConfirm.vue.d.ts +117 -117
  40. package/components/dialogform/DialogForm.vue.d.ts +288 -288
  41. package/components/dialogselecttree/DialogSelectTree.vue.d.ts +98 -98
  42. package/components/dropdown/Dropdown.vue.d.ts +231 -221
  43. package/components/editor/CodeSnippetAdapter.vue.d.ts +151 -91
  44. package/components/editor/Editor.vue.d.ts +156 -156
  45. package/components/editor/EditorButton.vue.d.ts +31 -11
  46. package/components/editor/MentionList.vue.d.ts +45 -31
  47. package/components/editor/MentionSection.vue.d.ts +151 -91
  48. package/components/fieldwrapper/FieldWrapper.vue.d.ts +48 -48
  49. package/components/fileupload/FileUpload.vue.d.ts +132 -132
  50. package/components/filtercontainer/FilterContainer.vue.d.ts +113 -113
  51. package/components/filtercontainer/helpers/applyFilter.helper.d.ts +11 -2
  52. package/components/filtercontainer/helpers/getOption.helper.d.ts +11 -2
  53. package/components/form/Form.vue.d.ts +258 -258
  54. package/components/icon/Icon.vue.d.ts +235 -235
  55. package/components/image/Image.vue.d.ts +306 -306
  56. package/components/imagecompressor/BackgroundImageCropper.vue.d.ts +47 -24
  57. package/components/imagecompressor/ImageCompressor.vue.d.ts +186 -180
  58. package/components/imagecompressor/ImageInputInfo.vue.d.ts +43 -18
  59. package/components/index.d.ts +58 -63
  60. package/components/inputbadge/InputBadge.vue.d.ts +90 -90
  61. package/components/inputcurrency/InputCurrency.vue.d.ts +126 -126
  62. package/components/inputcurrency/helpers/currency.helper.d.ts +5 -1
  63. package/components/inputnumber/InputNumber.vue.d.ts +245 -245
  64. package/components/inputpassword/InputPassword.vue.d.ts +19 -19
  65. package/components/inputphonenumber/InputPhoneNumber.vue.d.ts +68 -68
  66. package/components/inputrangenumber/InputRangeNumber.vue.d.ts +88 -88
  67. package/components/inputsearch/InputSearch.vue.d.ts +33 -0
  68. package/components/inputtext/InputText.vue.d.ts +281 -281
  69. package/components/inputurl/InputURL.vue.d.ts +6 -9
  70. package/components/invisiblefield/InvisibleField.vue.d.ts +30 -34
  71. package/components/litedropdown/LiteDropdown.vue.d.ts +64 -64
  72. package/components/loading/Loading.vue.d.ts +5 -5
  73. package/components/menu/Menu.vue.d.ts +282 -282
  74. package/components/menu/helpers/filterMenu.helper.d.ts +4 -1
  75. package/components/menuitem/MenuItem.vue +70 -0
  76. package/components/menuitem/MenuItem.vue.d.ts +33 -13
  77. package/components/menuitem/index.d.ts +84 -84
  78. package/components/multiselect/MultiSelect.vue.d.ts +162 -160
  79. package/components/overlaypanel/OverlayPanel.vue.d.ts +207 -207
  80. package/components/passthrough/index.d.ts +8 -8
  81. package/components/tabmenu/TabMenu.vue.d.ts +185 -185
  82. package/components/textarea/Textarea.vue.d.ts +131 -131
  83. package/components/timeline/Timeline.vue.d.ts +64 -58
  84. package/components/timeline/TimelineContentByType.vue.d.ts +60 -12
  85. package/components/toast/Toast.vue.d.ts +265 -265
  86. package/components/toggleswitch/ToggleSwitch.vue.d.ts +211 -211
  87. package/components/tree/Tree.vue.d.ts +116 -116
  88. package/components/tree/helpers/filterNodeKeys.helper.d.ts +8 -2
  89. package/components/tree/helpers/flattenTreeNodeChildren.helper.d.ts +3 -1
  90. package/components/ts-helpers.d.ts +43 -41
  91. package/components/username/UserName.vue.d.ts +71 -71
  92. package/components/userwithicon/UserWithIcon.vue.d.ts +20 -0
  93. package/config/defaultProps.d.ts +1 -1
  94. package/config/index.d.ts +1 -1
  95. package/config/locale.d.ts +1 -1
  96. package/event-bus/index.d.ts +3 -1
  97. package/event-bus/mitt.d.ts +25 -7
  98. package/main.d.ts +31 -2
  99. package/package.json +1 -1
  100. package/plugins/WangsVue.d.ts +184 -16
  101. package/plugins/formValidation.d.ts +11 -2
  102. package/plugins/i18n-extension.d.ts +4 -0
  103. package/plugins/i18n.d.ts +98 -0
  104. package/style.css +1 -1
  105. package/utils/addAttachment.util.d.ts +18 -2
  106. package/utils/date.util.d.ts +33 -4
  107. package/utils/filterOptions.util.d.ts +4 -2
  108. package/utils/genPlaceholder.util.d.ts +11 -6
  109. package/utils/getSeverityByAssetStatus.util.d.ts +3 -0
  110. package/utils/index.d.ts +14 -13
  111. package/utils/listenSidebarChanges.util.d.ts +16 -0
  112. package/utils/mergePropsWithDefaults.util.d.ts +4 -1
  113. package/utils/object.util.d.ts +14 -3
  114. package/utils/role.util.d.ts +5 -1
  115. package/utils/textFormatter.util.d.ts +15 -3
  116. package/wangsvue-fats.es.js +36988 -46002
  117. package/wangsvue-fats.system.js +169 -180
  118. package/assets/json/currencies.json.d.ts +0 -1068
  119. package/assets/json/supported-official-langs.json.d.ts +0 -530
  120. package/assets/lottie/admin/loading-page.lottie +0 -0
  121. package/assets/lottie/admin/loading-table.lottie +0 -0
  122. package/assets/lottie/admin/no-data.lottie +0 -0
  123. package/assets/lottie/supplyasset/loading-page.lottie +0 -0
  124. package/assets/lottie/supplyasset/loading-table.lottie +0 -0
  125. package/assets/lottie/supplyasset/no-data.lottie +0 -0
  126. package/assets/lottie/workspace/loading-page.lottie +0 -0
  127. package/assets/lottie/workspace/loading-plane.lottie +0 -0
  128. package/assets/lottie/workspace/loading-table.lottie +0 -0
  129. package/assets/lottie/workspace/no-data.lottie +0 -0
  130. package/build-entry.d.ts +0 -14
  131. package/components/buttonImportExcel/ButtonImportExcel.vue.d.ts +0 -35
  132. package/components/buttonsplit/ButtonSplit.d.ts +0 -350
  133. package/components/buttonsplit/ButtonSplit.vue.d.ts +0 -34
  134. package/components/codesnippet/CodeSnippet.vue.d.ts +0 -14
  135. package/components/gallerypreview/GalleryPreview.vue.d.ts +0 -31
  136. package/components/helpers/convertToArrayClass.helper.d.ts +0 -2
  137. package/components/helpers/index.d.ts +0 -2
  138. package/components/helpers/label.d.ts +0 -15
  139. package/components/inlinemessage/InlineMessage.vue.d.ts +0 -167
  140. package/components/inputgroup/InputGroup.vue.d.ts +0 -141
  141. package/components/languagedropdown/LanguageDropdown.vue.d.ts +0 -50
  142. package/components/languagedropdown/LanguageDropdownOption.vue.d.ts +0 -18
  143. package/components/languageswitcher/LanguageSwitcher.vue.d.ts +0 -15
  144. package/components/progressbar/ProgressBar.vue.d.ts +0 -72
  145. package/components/quickfilter/QuickFilter.vue.d.ts +0 -25
  146. package/components/tooltipspan/TooltipSpan.vue.d.ts +0 -20
  147. package/components/treesearchinput/TreeSearchInput.vue.d.ts +0 -16
  148. package/components/usergroup/UserGroup.vue.d.ts +0 -57
  149. package/components/validatormessage/ValidatorMessage.vue.d.ts +0 -12
  150. package/plugins/translation.d.ts +0 -84
  151. package/types/options.type.d.ts +0 -16
@@ -1,6 +1,6 @@
1
1
  import {
2
- FileUploadErrorEvent,
3
- FileUploadUploadEvent,
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
- * 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;
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
- * 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[];
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
- * 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;
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
- * 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];
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
- FileUploadProps,
159
- null,
160
- FileUploadEmits
158
+ FileUploadProps,
159
+ null,
160
+ FileUploadEmits
161
161
  > {}
162
162
 
163
163
  declare module '@vue/runtime-core' {
164
- interface GlobalComponents {
165
- FileUpload: GlobalComponentConstructor<FileUpload>;
166
- }
164
+ interface GlobalComponents {
165
+ FileUpload: GlobalComponentConstructor<FileUpload>;
166
+ }
167
167
  }
168
168
 
169
169
  export default FileUpload;
@@ -1,163 +1,163 @@
1
- import { MultiSelectOption } from 'lib/types/options.type';
2
1
  import { DefineComponent, Slot } from 'vue';
3
2
  import { CalendarProps } from '../calendar/Calendar.vue.d';
4
3
  import { QueryParams } from '../datatable/DataTable.vue.d';
5
- import { DropdownProps } from '../dropdown/Dropdown.vue.d';
4
+ import { DropdownProps, Option } from '../dropdown/Dropdown.vue.d';
6
5
  import { InputRangeNumberProps } from '../inputrangenumber/InputRangeNumber.vue.d';
7
6
  import { MultiSelectProps } from '../multiselect/MultiSelect.vue.d';
8
7
  import { ButtonSelectTreeProps } from '../buttonselecttree/ButtonSelectTree.vue.d';
9
8
 
10
9
  export type FilterMatchMode =
11
- | 'CONTAINS'
12
- | 'EQUALS'
13
- | 'NOT_EQUALS'
14
- | 'IN'
15
- | 'LESS_THAN'
16
- | 'LESS_THAN_OR_EQUAL_TO'
17
- | 'GREATER_THAN'
18
- | 'GREATER_THAN_OR_EQUAL_TO'
19
- | 'BETWEEN'
20
- | 'DATE_BETWEEN';
10
+ | 'CONTAINS'
11
+ | 'EQUALS'
12
+ | 'NOT_EQUALS'
13
+ | 'IN'
14
+ | 'LESS_THAN'
15
+ | 'LESS_THAN_OR_EQUAL_TO'
16
+ | 'GREATER_THAN'
17
+ | 'GREATER_THAN_OR_EQUAL_TO'
18
+ | 'BETWEEN'
19
+ | 'DATE_BETWEEN';
21
20
 
22
21
  // More specific filter field types
23
22
  export interface MultiSelectFilterField extends MultiSelectProps {
24
- type: 'multiselect';
25
- /**
26
- * The name of the field this filter applies to.
27
- *
28
- * When using a static filter, it also specifies the field in the data to be used for generating unique options.
29
- * For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
30
- * unique full names from the table data and use them as filter options.
31
- */
32
- field: string;
33
- optionField?: string; // @example - actionOptions
34
- params?: QueryParams; // Additional QueryParams for the fetchOptionFn
35
- fetchOptionFn?:
36
- | ((args?: any) => MultiSelectOption[] | undefined) // Sync function to fetch options
37
- | ((args?: any) => Promise<MultiSelectOption[] | undefined>); // Async function
23
+ type: 'multiselect';
24
+ /**
25
+ * The name of the field this filter applies to.
26
+ *
27
+ * When using a static filter, it also specifies the field in the data to be used for generating unique options.
28
+ * For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
29
+ * unique full names from the table data and use them as filter options.
30
+ */
31
+ field: string;
32
+ optionField?: string; // @example - actionOptions
33
+ params?: QueryParams; // Additional QueryParams for the fetchOptionFn
34
+ fetchOptionFn?:
35
+ | ((args?: any) => Option[] | undefined) // Sync function to fetch options
36
+ | ((args?: any) => Promise<Option[] | undefined>); // Async function
38
37
  }
39
38
 
40
39
  export interface DropdownFilterField extends DropdownProps {
41
- type: 'dropdown';
42
- /**
43
- * The name of the field this filter applies to.
44
- *
45
- * When using a static filter, it also specifies the field in the data to be used for generating unique options.
46
- * For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
47
- * unique full names from the table data and use them as filter options.
48
- */
49
- field: string;
50
- optionField?: string; // @example - actionOptions
51
- params?: QueryParams; // Additional QueryParams for the fetchOptionFn
52
- fetchOptionFn?:
53
- | ((args?: any) => MultiSelectOption[] | undefined) // Sync function to fetch options
54
- | ((args?: any) => Promise<MultiSelectOption[]> | undefined); // Async function
40
+ type: 'dropdown';
41
+ /**
42
+ * The name of the field this filter applies to.
43
+ *
44
+ * When using a static filter, it also specifies the field in the data to be used for generating unique options.
45
+ * For example, if filtering by a user's full name, the field could be 'user.fullName', which will extract
46
+ * unique full names from the table data and use them as filter options.
47
+ */
48
+ field: string;
49
+ optionField?: string; // @example - actionOptions
50
+ params?: QueryParams; // Additional QueryParams for the fetchOptionFn
51
+ fetchOptionFn?:
52
+ | ((args?: any) => Option[] | undefined) // Sync function to fetch options
53
+ | ((args?: any) => Promise<Option[]> | undefined); // Async function
55
54
  }
56
55
 
57
56
  export interface RangeNumberFilterField extends InputRangeNumberProps {
58
- type: 'rangenumber';
59
- /**
60
- * Specify min and max field
61
- *
62
- * @example ['minAge', 'maxAge']
63
- */
64
- fields?: string[];
65
-
66
- /**
67
- * Specify single field for both min and max input.
68
- * The value will be a number array.
69
- *
70
- * Prever use this property when you are working with Static Filtering
71
- *
72
- * @example value: [1000,5000] or equal to 'value.0': 1000 & 'value.1': 5000
73
- */
74
- field?: string;
75
- tooltip?: string;
57
+ type: 'rangenumber';
58
+ /**
59
+ * Specify min and max field
60
+ *
61
+ * @example ['minAge', 'maxAge']
62
+ */
63
+ fields?: string[];
64
+
65
+ /**
66
+ * Specify single field for both min and max input.
67
+ * The value will be a number array.
68
+ *
69
+ * Prever use this property when you are working with Static Filtering
70
+ *
71
+ * @example value: [1000,5000] or equal to 'value.0': 1000 & 'value.1': 5000
72
+ */
73
+ field?: string;
74
+ tooltip?: string;
76
75
  }
77
76
 
78
77
  export interface ButtonSelectTreeFilterField
79
- extends Omit<ButtonSelectTreeProps, 'type' | 'label' | 'fieldLabel'> {
80
- type: 'group' | 'category';
81
- field: string; // The name of the field this filter applies to
82
- /**
83
- * The field label.
84
- */
85
- label?: string;
86
- /**
87
- * The button label.
88
- * @default to Select Group|Category
89
- */
90
- buttonLabel?: string;
78
+ extends Omit<ButtonSelectTreeProps, 'type' | 'label' | 'fieldLabel'> {
79
+ type: 'group' | 'category';
80
+ field: string; // The name of the field this filter applies to
81
+ /**
82
+ * The field label.
83
+ */
84
+ label?: string;
85
+ /**
86
+ * The button label.
87
+ * @default to Select Group|Category
88
+ */
89
+ buttonLabel?: string;
90
+ params?: QueryParams; // Override QueryParams for the fetchTree
91
91
  }
92
92
 
93
93
  export interface CalendarFilterField extends CalendarProps {
94
- type: 'calendar';
95
- field: string;
94
+ type: 'calendar';
95
+ field: string;
96
96
  }
97
97
 
98
98
  export type AdditionalFilterField = ButtonSelectTreeFilterField;
99
99
 
100
100
  export type FilterField =
101
- | AdditionalFilterField
102
- | MultiSelectFilterField
103
- | DropdownFilterField
104
- | RangeNumberFilterField
105
- | CalendarFilterField;
101
+ | AdditionalFilterField
102
+ | MultiSelectFilterField
103
+ | DropdownFilterField
104
+ | RangeNumberFilterField
105
+ | CalendarFilterField;
106
106
 
107
107
  export type FilterOptions<Opt = Record<string, boolean>> = Record<
108
- keyof Opt,
109
- MultiSelectOption[]
108
+ keyof Opt,
109
+ Option[]
110
110
  >;
111
111
 
112
112
  export type LoadingFilters = Record<string, boolean>;
113
113
 
114
114
  export type FetchOptionResponse<Opt = Record<string, boolean>> = {
115
- message: string;
116
- data: FilterOptions<Opt>;
115
+ message: string;
116
+ data: FilterOptions<Opt>;
117
117
  };
118
118
 
119
119
  export interface FilterContainerLocaleConfig {
120
- clearFieldText?: string;
121
- applyText?: string;
120
+ clearFieldText?: string;
121
+ applyText?: string;
122
122
  }
123
123
 
124
124
  export interface FilterContainerProps {
125
- /**
126
- * Specify the table name integrated with this filter.
127
- *
128
- * @default datatable - the default table name
129
- */
130
- tableName?: string;
131
- /**
132
- * Set the fields count in a row
133
- *
134
- * @default 4 grid columns
135
- */
136
- fieldsPerRow?: number;
137
- fields: FilterField[];
138
- /**
139
- * Enable static filtering
140
- */
141
- static?: boolean;
125
+ /**
126
+ * Specify the table name integrated with this filter.
127
+ *
128
+ * @default datatable - the default table name
129
+ */
130
+ tableName?: string;
131
+ /**
132
+ * Set the fields count in a row
133
+ *
134
+ * @default 4 grid columns
135
+ */
136
+ fieldsPerRow?: number;
137
+ fields: FilterField[];
138
+ /**
139
+ * Enable static filtering
140
+ */
141
+ static?: boolean;
142
142
  }
143
143
 
144
144
  /**
145
145
  * Slots for FilterContainer component
146
146
  */
147
147
  export type FilterContainerSlots = {
148
- /**
149
- * @deprecated Please use props.fields instead
150
- */
151
- default: Slot;
152
-
153
- /**
154
- * Additional template for field.
155
- */
156
- field: Slot<{ field: AdditionalFilterField; fieldName: string }>;
148
+ /**
149
+ * @deprecated Please use props.fields instead
150
+ */
151
+ default: Slot;
152
+
153
+ /**
154
+ * Additional template for field.
155
+ */
156
+ field: Slot<{ field: AdditionalFilterField; fieldName: string }>;
157
157
  };
158
158
 
159
159
  export type FilterContainerEmits = {
160
- apply: [filter: QueryParams];
160
+ apply: [filter: QueryParams];
161
161
  };
162
162
 
163
163
  /**
@@ -173,9 +173,9 @@ export type FilterContainerEmits = {
173
173
  * @group components
174
174
  */
175
175
  declare const FilterContainer: DefineComponent<
176
- FilterContainerProps,
177
- FilterContainerEmits,
178
- FilterContainerSlots
176
+ FilterContainerProps,
177
+ FilterContainerEmits,
178
+ FilterContainerSlots
179
179
  >;
180
180
 
181
181
  export default FilterContainer;
@@ -1,5 +1,14 @@
1
1
  import { GenericObject } from 'vee-validate';
2
2
  import { FilterField } from '../FilterContainer.vue.d';
3
- declare const applyFilter: (values: GenericObject, tableName: string, emit?: (...args: any[]) => any) => void;
4
- export declare const applyStaticFilter: (values: GenericObject, tableName: string, fields: FilterField[], emit?: (...args: any[]) => any) => void;
3
+ declare const applyFilter: (
4
+ values: GenericObject,
5
+ tableName: string,
6
+ emit?: (...args: any[]) => any,
7
+ ) => void;
8
+ export declare const applyStaticFilter: (
9
+ values: GenericObject,
10
+ tableName: string,
11
+ fields: FilterField[],
12
+ emit?: (...args: any[]) => any,
13
+ ) => void;
5
14
  export default applyFilter;
@@ -1,3 +1,12 @@
1
- import { FilterOptions, LoadingFilters, MultiSelectFilterField } from '../FilterContainer.vue.d';
2
- declare const getOptions: (fn: MultiSelectFilterField["fetchOptionFn"], field: string, filterOption: FilterOptions, loading: LoadingFilters) => Promise<void>;
1
+ import {
2
+ FilterOptions,
3
+ LoadingFilters,
4
+ MultiSelectFilterField,
5
+ } from '../FilterContainer.vue.d';
6
+ declare const getOptions: (
7
+ fn: MultiSelectFilterField['fetchOptionFn'],
8
+ field: string,
9
+ filterOption: FilterOptions,
10
+ loading: LoadingFilters,
11
+ ) => Promise<void>;
3
12
  export default getOptions;