@fewangsit/wangsvue 1.5.206-alpha.0 → 1.5.206
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/assets/lottie/supplyasset/loading-table.lottie +0 -0
- package/components/basetree/BaseTree.vue.d.ts +24 -0
- package/components/buttonbulkaction/ButtonBulkAction.vue.d.ts +7 -0
- package/components/buttonselecttree/ButtonSelectTree.vue.d.ts +8 -3
- package/components/datatable/DataTable.vue.d.ts +21 -2
- package/components/dialogconfirm/DialogConfirm.vue.d.ts +7 -0
- package/components/dialogselecttree/DialogSelectTree.vue.d.ts +30 -5
- package/components/filtercontainer/FilterContainer.vue.d.ts +4 -4
- package/components/icon/Icon.vue.d.ts +5 -0
- package/components/imagecompressor/ImageCompressor.vue.d.ts +33 -1
- package/components/tabmenu/TabMenu.vue.d.ts +1 -1
- package/components/tree/Tree.vue.d.ts +4 -2
- package/components/ts-helpers.d.ts +20 -0
- package/components/username/UserName.vue.d.ts +71 -13
- package/loading-table-Bdr9ZhtP.js +1 -0
- package/loading-table-D9bw9OcI.js +4 -0
- package/package.json +1 -1
- package/plugins/WangsVue.d.ts +8 -1
- package/style.css +2 -2
- package/types/options.type.d.ts +1 -1
- package/wangsvue.es.js +17726 -17785
- package/wangsvue.system.js +115 -115
- package/loading-table-Bb2MtjdD.js +0 -4
- package/loading-table-Br25QIny.js +0 -1
- package/services/sonarQube.service.d.ts +0 -10
|
Binary file
|
|
@@ -420,6 +420,30 @@ export interface BaseTreeProps {
|
|
|
420
420
|
* @default false
|
|
421
421
|
*/
|
|
422
422
|
useOption?: boolean;
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* A function to determine when the node should be disabled,
|
|
426
|
+
* When true, it will disabled selection on current node and all level childrend
|
|
427
|
+
*
|
|
428
|
+
* @return true to disabled
|
|
429
|
+
*/
|
|
430
|
+
disableNodeWhen?: (node: TreeNode) => boolean;
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* A function to determine when the node should be disabled
|
|
434
|
+
* It will only disable current node
|
|
435
|
+
*
|
|
436
|
+
* @return true to disabled
|
|
437
|
+
*/
|
|
438
|
+
exactDisableNodeWhen?: (node: TreeNode) => boolean;
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* A function to determine when the node should selected
|
|
442
|
+
* It will only disable current node when propagateSelection false
|
|
443
|
+
*
|
|
444
|
+
* @return true to disabled
|
|
445
|
+
*/
|
|
446
|
+
nodeSelectedWhen?: (node: TreeNode) => boolean;
|
|
423
447
|
}
|
|
424
448
|
|
|
425
449
|
/**
|
|
@@ -52,6 +52,13 @@ export interface ButtonBulkActionProps {
|
|
|
52
52
|
* @options dropdown overlay-panel
|
|
53
53
|
*/
|
|
54
54
|
selectMenuType?: 'dropdown' | 'overlay-panel';
|
|
55
|
+
/**
|
|
56
|
+
* Specify the name/label for selected data.
|
|
57
|
+
*
|
|
58
|
+
* @example 'Asset(s)' will be displayed as '3 Asset(s) Selected'
|
|
59
|
+
* @default 'Data' for all packages
|
|
60
|
+
*/
|
|
61
|
+
naming?: string;
|
|
55
62
|
}
|
|
56
63
|
|
|
57
64
|
export interface ButtonBulkActionSlots {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Slot } from 'vue';
|
|
1
2
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
2
3
|
import { TreeNode } from '../basetree/BaseTree.vue.d';
|
|
3
4
|
import { ShortFetchResponse } from '../datatable/DataTable.vue.d';
|
|
@@ -98,7 +99,7 @@ export interface ButtonSelectTreeProps {
|
|
|
98
99
|
*/
|
|
99
100
|
disableNodeAll?: boolean;
|
|
100
101
|
/**
|
|
101
|
-
*
|
|
102
|
+
* Old behavior is preventing select if there is no node selected.
|
|
102
103
|
*
|
|
103
104
|
* This props comes to make options, wether the selection can be empty or not.
|
|
104
105
|
* @default true
|
|
@@ -168,6 +169,10 @@ export type ButtonSelectTreeEmits = {
|
|
|
168
169
|
'reset': [];
|
|
169
170
|
};
|
|
170
171
|
|
|
172
|
+
export interface ButtonSelectTreeSlots {
|
|
173
|
+
treenode: Slot<{ node: TreeNode }>;
|
|
174
|
+
}
|
|
175
|
+
|
|
171
176
|
/**
|
|
172
177
|
* **TSVue v2 - ButtonSelectTree**
|
|
173
178
|
*
|
|
@@ -180,8 +185,8 @@ export type ButtonSelectTreeEmits = {
|
|
|
180
185
|
*/
|
|
181
186
|
declare class ButtonSelectTree extends ClassComponent<
|
|
182
187
|
ButtonSelectTreeProps,
|
|
183
|
-
|
|
184
|
-
|
|
188
|
+
ButtonSelectTreeSlots,
|
|
189
|
+
ButtonSelectTreeEmits
|
|
185
190
|
> {}
|
|
186
191
|
|
|
187
192
|
declare module '@vue/runtime-core' {
|
|
@@ -4,6 +4,23 @@ import { ClassComponent, HintedString } from '../ts-helpers.d';
|
|
|
4
4
|
import { Component } from 'vue';
|
|
5
5
|
import { DateOptions } from 'lib/utils/date.util';
|
|
6
6
|
|
|
7
|
+
export interface DataTableLocaleConfig {
|
|
8
|
+
/**
|
|
9
|
+
* Message to display on loading ovevrlay while downloading
|
|
10
|
+
*/
|
|
11
|
+
downloadingMessage: string;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Text when booleanValue is true
|
|
15
|
+
*/
|
|
16
|
+
trueText: string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Text when booleanValue is false
|
|
20
|
+
*/
|
|
21
|
+
falseText: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
7
24
|
export type ChildGroup = {
|
|
8
25
|
groupHeader: string;
|
|
9
26
|
groupItems: Data[];
|
|
@@ -151,8 +168,8 @@ export type TogglePresetConfirmDialogProps = Omit<
|
|
|
151
168
|
showWhen?:
|
|
152
169
|
| 'active'
|
|
153
170
|
| 'inactive'
|
|
154
|
-
| ((data: any) => boolean)
|
|
155
|
-
| ((data: any) => Promise<boolean>);
|
|
171
|
+
| ((data: any, state: boolean) => boolean)
|
|
172
|
+
| ((data: any, state: boolean) => Promise<boolean>);
|
|
156
173
|
};
|
|
157
174
|
|
|
158
175
|
interface ColumnConfirmActionPresetBase {
|
|
@@ -600,6 +617,8 @@ export interface BaseDataTableProps {
|
|
|
600
617
|
totalDisabledRows?: number;
|
|
601
618
|
/**
|
|
602
619
|
* Specify the error message download excel
|
|
620
|
+
*
|
|
621
|
+
* @example 'Error, failed to download {fileName}' - fileName will be replaced
|
|
603
622
|
*/
|
|
604
623
|
excelToastErrorMessage?: string;
|
|
605
624
|
/**
|
|
@@ -31,6 +31,13 @@ export interface DialogConfirmProps {
|
|
|
31
31
|
* The severity will determine the dialog icons and color scheme.
|
|
32
32
|
*/
|
|
33
33
|
severity: ConfirmDialogSeverity;
|
|
34
|
+
/**
|
|
35
|
+
* The severity of the confirm button.
|
|
36
|
+
* The severity will determine the confirm button color scheme in case button severity is different from header/dialog severity.
|
|
37
|
+
*
|
|
38
|
+
* @default undefined - to fallback to props.severity
|
|
39
|
+
*/
|
|
40
|
+
confirmButtonSeverity?: ConfirmDialogSeverity;
|
|
34
41
|
/**
|
|
35
42
|
* The boolean modelValue to show dialog.
|
|
36
43
|
*/
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { TreeSelectionKeys } from 'primevue/tree';
|
|
2
2
|
import { TreeNode } from '../basetree/BaseTree.vue.d';
|
|
3
|
-
import { ShortFetchResponse } from '../datatable/DataTable.vue.d';
|
|
3
|
+
import { QueryParams, ShortFetchResponse } from '../datatable/DataTable.vue.d';
|
|
4
4
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
5
|
-
import TreeInstance from '../tree/Tree.vue.d';
|
|
5
|
+
import TreeInstance, { TreeProps } from '../tree/Tree.vue.d';
|
|
6
|
+
import { Slot } from 'vue';
|
|
6
7
|
|
|
7
|
-
export interface DialogSelectTreeProps
|
|
8
|
+
export interface DialogSelectTreeProps
|
|
9
|
+
extends Omit<TreeProps, 'type' | 'filter'> {
|
|
8
10
|
fetchTree?: (
|
|
9
11
|
type: 'group' | 'category',
|
|
12
|
+
params?: QueryParams,
|
|
10
13
|
) => Promise<ShortFetchResponse<TreeNode> | undefined>;
|
|
14
|
+
params?: QueryParams;
|
|
11
15
|
visible?: boolean;
|
|
12
16
|
type?: 'group' | 'category';
|
|
13
17
|
/**
|
|
@@ -19,7 +23,7 @@ export interface DialogSelectTreeProps {
|
|
|
19
23
|
subHeader?: string;
|
|
20
24
|
selectionMode?: 'single' | 'checkbox';
|
|
21
25
|
/**
|
|
22
|
-
*
|
|
26
|
+
* Current behavior is preventing select if there is no node selected.
|
|
23
27
|
*
|
|
24
28
|
* @default true
|
|
25
29
|
*/
|
|
@@ -73,6 +77,8 @@ export interface DialogSelectTreeProps {
|
|
|
73
77
|
* Render hidden dialog to trigger fetch tree
|
|
74
78
|
*/
|
|
75
79
|
hidden?: boolean;
|
|
80
|
+
|
|
81
|
+
propagateSelection?: boolean;
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
export type TreeSelectPayload = {
|
|
@@ -86,6 +92,25 @@ export type DialogSelectTreeEmits = {
|
|
|
86
92
|
hide: [];
|
|
87
93
|
};
|
|
88
94
|
|
|
95
|
+
export interface DialogSelectTreeSlots {
|
|
96
|
+
header: Slot<{
|
|
97
|
+
dialogHeader: string;
|
|
98
|
+
subHeader?: string;
|
|
99
|
+
lists?: (string | object)[];
|
|
100
|
+
listLabel?: string;
|
|
101
|
+
isLoading: boolean;
|
|
102
|
+
filter: string;
|
|
103
|
+
updateFilter: (newFilter?: string) => void; // Hooks to update internal state filter
|
|
104
|
+
}>;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Slot to customize tree node item
|
|
108
|
+
*/
|
|
109
|
+
treenode: Slot<{ node: TreeNode; checked: boolean; disabled: boolean }>;
|
|
110
|
+
|
|
111
|
+
footer: Slot;
|
|
112
|
+
}
|
|
113
|
+
|
|
89
114
|
/**
|
|
90
115
|
* **TSVue v2 - DialogSelectTree**
|
|
91
116
|
*
|
|
@@ -96,7 +121,7 @@ export type DialogSelectTreeEmits = {
|
|
|
96
121
|
*/
|
|
97
122
|
declare class DialogSelectTree extends ClassComponent<
|
|
98
123
|
DialogSelectTreeProps,
|
|
99
|
-
|
|
124
|
+
DialogSelectTreeSlots,
|
|
100
125
|
DialogSelectTreeEmits
|
|
101
126
|
> {
|
|
102
127
|
treeComponent: TreeInstance;
|
|
@@ -14,8 +14,8 @@ export interface MultiSelectFilterField extends MultiSelectProps {
|
|
|
14
14
|
optionField?: string; // @example - actionOptions
|
|
15
15
|
params?: QueryParams; // Additional QueryParams for the fetchOptionFn
|
|
16
16
|
fetchOptionFn?:
|
|
17
|
-
| ((args?: any) => MultiSelectOption[]) // Sync function to fetch options
|
|
18
|
-
| ((args?: any) => Promise<MultiSelectOption[]>); // Async function
|
|
17
|
+
| ((args?: any) => MultiSelectOption[] | undefined) // Sync function to fetch options
|
|
18
|
+
| ((args?: any) => Promise<MultiSelectOption[] | undefined>); // Async function
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export interface DropdownFilterField extends DropdownProps {
|
|
@@ -24,8 +24,8 @@ export interface DropdownFilterField extends DropdownProps {
|
|
|
24
24
|
optionField?: string; // @example - actionOptions
|
|
25
25
|
params?: QueryParams; // Additional QueryParams for the fetchOptionFn
|
|
26
26
|
fetchOptionFn?:
|
|
27
|
-
| ((args?: any) => MultiSelectOption[]) // Sync function to fetch options
|
|
28
|
-
| ((args?: any) => Promise<MultiSelectOption[]>); // Async function
|
|
27
|
+
| ((args?: any) => MultiSelectOption[] | undefined) // Sync function to fetch options
|
|
28
|
+
| ((args?: any) => Promise<MultiSelectOption[]> | undefined); // Async function
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export interface RangeNumberFilterField extends InputRangeNumberProps {
|
|
@@ -32,6 +32,7 @@ export type WangsIcons =
|
|
|
32
32
|
| 'assignment'
|
|
33
33
|
| 'attachment-2'
|
|
34
34
|
| 'audit'
|
|
35
|
+
| 'barcode'
|
|
35
36
|
| 'barricade-line'
|
|
36
37
|
| 'bell'
|
|
37
38
|
| 'bell-alert'
|
|
@@ -51,6 +52,7 @@ export type WangsIcons =
|
|
|
51
52
|
| 'checkbox-circle'
|
|
52
53
|
| 'checkbox-circle-fill'
|
|
53
54
|
| 'checkbox-blank-circle'
|
|
55
|
+
| 'checkbox-blank-circle-fill'
|
|
54
56
|
| 'checkbox-multiple'
|
|
55
57
|
| 'close'
|
|
56
58
|
| 'close-circle'
|
|
@@ -75,6 +77,7 @@ export type WangsIcons =
|
|
|
75
77
|
| 'error'
|
|
76
78
|
| 'error-fill'
|
|
77
79
|
| 'exchange'
|
|
80
|
+
| 'expired'
|
|
78
81
|
| 'extension-borrow'
|
|
79
82
|
| 'eye'
|
|
80
83
|
| 'eye-off'
|
|
@@ -143,6 +146,7 @@ export type WangsIcons =
|
|
|
143
146
|
| 'profile'
|
|
144
147
|
| 'qr'
|
|
145
148
|
| 'qr-scan'
|
|
149
|
+
| 'reception'
|
|
146
150
|
| 'refresh'
|
|
147
151
|
| 'replace-tag'
|
|
148
152
|
| 'report-tag'
|
|
@@ -162,6 +166,7 @@ export type WangsIcons =
|
|
|
162
166
|
| 'sort-asc'
|
|
163
167
|
| 'sort-desc'
|
|
164
168
|
| 'supplier-return'
|
|
169
|
+
| 'internal-return'
|
|
165
170
|
| 'spinner'
|
|
166
171
|
| 'stack'
|
|
167
172
|
| 'star'
|
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
import { CustomValidation } from '../form/Form.vue.d';
|
|
2
2
|
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
3
3
|
|
|
4
|
+
export interface ImageCompressorLocaleConfig {
|
|
5
|
+
cropDialogHeader: string;
|
|
6
|
+
/**
|
|
7
|
+
* @example 'Gunakan Ctrl + Scroll untuk perbesar atau perkecil gambar'
|
|
8
|
+
*/
|
|
9
|
+
cropperCtrlScrollInfo: string;
|
|
10
|
+
/**
|
|
11
|
+
* @example 'Gunakan dua jari untuk untuk perbesar atau perkecil gambar'
|
|
12
|
+
*/
|
|
13
|
+
cropperTwoFingerInfo: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @example 'Maks. 1 MB'
|
|
17
|
+
*/
|
|
18
|
+
maxSizeRequirement: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @example 'Hanya mendukung format gambar'
|
|
22
|
+
*/
|
|
23
|
+
imageTypeRequirement: string;
|
|
24
|
+
|
|
25
|
+
cancelCropLabel: string;
|
|
26
|
+
changeImageLabel: string;
|
|
27
|
+
applyCropLabel: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
4
30
|
export type Image = {
|
|
5
31
|
src: string | null;
|
|
6
32
|
type: string | null;
|
|
@@ -14,7 +40,7 @@ export type ImageCompressorPayload = {
|
|
|
14
40
|
fileName: string;
|
|
15
41
|
file: File;
|
|
16
42
|
size: string;
|
|
17
|
-
type: 'image/webp';
|
|
43
|
+
type: 'image/webp' | 'image/jpeg' | 'image/jpg';
|
|
18
44
|
};
|
|
19
45
|
message?: string;
|
|
20
46
|
};
|
|
@@ -130,6 +156,12 @@ export interface ImageCompressorProps {
|
|
|
130
156
|
* @default true
|
|
131
157
|
*/
|
|
132
158
|
showValidatorMessage?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Specify the file type for the uploaded image result.
|
|
161
|
+
*
|
|
162
|
+
* @default 'webp'
|
|
163
|
+
*/
|
|
164
|
+
fileType?: 'webp' | 'jpeg' | 'jpg';
|
|
133
165
|
}
|
|
134
166
|
|
|
135
167
|
export interface ImageCompressorSlots {
|
|
@@ -181,7 +181,7 @@ export interface TabMenuProps {
|
|
|
181
181
|
activeIndex?: number | undefined;
|
|
182
182
|
/**
|
|
183
183
|
* Whether to use trailing line at the end of tab menu.
|
|
184
|
-
* @defaultValue true
|
|
184
|
+
* @defaultValue true - when type is tab, otherwise true
|
|
185
185
|
*/
|
|
186
186
|
useTrailingLine?: boolean | undefined;
|
|
187
187
|
/**
|
|
@@ -3,7 +3,7 @@ import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
|
3
3
|
import { TreeSelectionKeys } from 'primevue/tree';
|
|
4
4
|
import { MenuItem } from 'lib/components/menuitem';
|
|
5
5
|
import { BaseTreeProps, TreeNode } from '../basetree/BaseTree.vue.d';
|
|
6
|
-
import { ShortFetchResponse } from '../datatable/DataTable.vue.d';
|
|
6
|
+
import { QueryParams, ShortFetchResponse } from '../datatable/DataTable.vue.d';
|
|
7
7
|
|
|
8
8
|
export interface TreeProps extends BaseTreeProps {
|
|
9
9
|
/**
|
|
@@ -13,7 +13,9 @@ export interface TreeProps extends BaseTreeProps {
|
|
|
13
13
|
type: 'group' | 'category';
|
|
14
14
|
fetchTree?: (
|
|
15
15
|
type: 'group' | 'category',
|
|
16
|
+
params?: QueryParams,
|
|
16
17
|
) => Promise<ShortFetchResponse<TreeNode> | undefined>;
|
|
18
|
+
params?: QueryParams;
|
|
17
19
|
selectedKeys?: TreeSelectionKeys | number[] | undefined;
|
|
18
20
|
selectedTreeNodes?: TreeNode[] | undefined;
|
|
19
21
|
selectionMode?: 'single' | 'checkbox' | undefined;
|
|
@@ -85,7 +87,7 @@ export type TreeEmits = {
|
|
|
85
87
|
};
|
|
86
88
|
|
|
87
89
|
export interface TreeSlots {
|
|
88
|
-
default: Slot<{ node: TreeNode }>;
|
|
90
|
+
default: Slot<{ node: TreeNode; checked: boolean; disabled: boolean }>;
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
/**
|
|
@@ -61,3 +61,23 @@ export declare type DefaultPassThrough<T = void> =
|
|
|
61
61
|
| undefined;
|
|
62
62
|
|
|
63
63
|
export declare type HintedString<T extends string> = (string & {}) | T;
|
|
64
|
+
|
|
65
|
+
export declare type PresetAttributes = {
|
|
66
|
+
class?: any;
|
|
67
|
+
style?: any;
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export declare type PresetMethodOptions = {
|
|
72
|
+
instance: any;
|
|
73
|
+
props: any;
|
|
74
|
+
state: any;
|
|
75
|
+
context: any;
|
|
76
|
+
attrs: any;
|
|
77
|
+
parent: any;
|
|
78
|
+
global: object | undefined;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export declare type PresetOptionMethodType<Opt = PresetMethodOptions> = (
|
|
82
|
+
options: Partial<Opt>,
|
|
83
|
+
) => PresetAttributes;
|
|
@@ -1,39 +1,97 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ClassComponent,
|
|
3
|
+
GlobalComponentConstructor,
|
|
4
|
+
PresetAttributes,
|
|
5
|
+
PresetOptionMethodType,
|
|
6
|
+
} from '../ts-helpers';
|
|
2
7
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
export interface UserNamePresetOptions {
|
|
9
|
+
root: PresetAttributes;
|
|
10
|
+
displayname: PresetOptionMethodType;
|
|
11
|
+
panel: {
|
|
12
|
+
background: PresetAttributes;
|
|
13
|
+
username: PresetAttributes;
|
|
14
|
+
useremail: PresetAttributes;
|
|
15
|
+
positiondivision: PresetAttributes;
|
|
16
|
+
userdetaillink: PresetAttributes;
|
|
17
|
+
contentwrapper: PresetAttributes;
|
|
18
|
+
detailwrapper: PresetAttributes;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface UserNameLocaleConfig {
|
|
7
23
|
/**
|
|
8
|
-
*
|
|
24
|
+
* The anchor text for user detail link on user panel
|
|
9
25
|
*/
|
|
10
|
-
|
|
26
|
+
detailUserAnchorText?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface UserNameComponentConfigs {
|
|
11
30
|
/**
|
|
12
|
-
*
|
|
31
|
+
* @example `/tim-member/member/{userId}/detail-member`
|
|
32
|
+
*/
|
|
33
|
+
detailUserPath: string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @default 'picture' - Show user profile picture instead of user icon
|
|
13
37
|
*/
|
|
14
|
-
|
|
38
|
+
type?: 'icon' | 'picture';
|
|
39
|
+
|
|
15
40
|
/**
|
|
16
41
|
* Specify the field of user to be used as display name
|
|
17
42
|
*
|
|
18
43
|
* @example 'name.fullName'
|
|
19
|
-
*
|
|
20
|
-
* @default 'nickName'
|
|
21
44
|
*/
|
|
22
45
|
userNameField?: string;
|
|
23
46
|
/**
|
|
24
47
|
* Specify the field of user to be used as display picture
|
|
25
48
|
*
|
|
26
49
|
* @example 'image.profile'
|
|
27
|
-
*
|
|
28
|
-
* @default 'profilePicture'
|
|
29
50
|
*/
|
|
30
51
|
profilePictureField?: string;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Function to get user detail on panel shown
|
|
55
|
+
* @param userId The user id
|
|
56
|
+
* @returns Full user detail object
|
|
57
|
+
*/
|
|
58
|
+
getUserDetail: (
|
|
59
|
+
userId: string,
|
|
60
|
+
) => UserNameProps['user'] | Promise<UserNameProps['user']>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface GeneralUser {
|
|
64
|
+
_id: string;
|
|
65
|
+
profilePicture?: string;
|
|
66
|
+
firstName?: string;
|
|
67
|
+
lastName?: string;
|
|
68
|
+
fullName?: string;
|
|
69
|
+
email?: string;
|
|
70
|
+
nickName?: string;
|
|
71
|
+
position?: string;
|
|
72
|
+
division?: string;
|
|
73
|
+
[key: string]: any;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Defines valid properties in UserName component.
|
|
78
|
+
*/
|
|
79
|
+
export interface UserNameProps extends Partial<UserNameComponentConfigs> {
|
|
80
|
+
/**
|
|
81
|
+
* The full user Object
|
|
82
|
+
*/
|
|
83
|
+
user?: GeneralUser;
|
|
31
84
|
/**
|
|
32
85
|
* Specify if the component can be emptyable
|
|
33
86
|
*
|
|
34
87
|
* @default false
|
|
35
88
|
*/
|
|
36
89
|
emptyable?: boolean;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* When it sets to false, the props.user will be used
|
|
93
|
+
*/
|
|
94
|
+
fetchDetailOnPanelShow?: boolean;
|
|
37
95
|
}
|
|
38
96
|
|
|
39
97
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
System.register([],function(A,u){"use strict";return{execute:function(){const t=A("default","data:application/octet-stream;base64,UEsDBBQAAAAIANdZblpui9GOWwAAAGYAAAANAAAAbWFuaWZlc3QuanNvbqtWKkstKs7Mz1OyUjJS0lFKT81LLUosyS8C8h1S8kty8ktKMlP14SzdrGIHAz1LPQPdpNSSRD1DY6CexLzM3MQSoBnFSlbR1UqZKUC9vomZeQrByUDTlGpjawFQSwMEFAAAAAgA11luWthEVP/TAgAAWhYAABEAAABhL01haW4gU2NlbmUuanNvbu2YS2vbQBSF/4qZ9cSd0cOytWpL0qwChUA3wQvVHsci8gNJfQSj/95zR4+RZZWmcozACJJ4mMe598y982FyYNsN89lDEG5Hjwu1VYyz5XLJfMHZmvlSTDH4hcHMwmCj0oD5B/aMIx+jXZqGahVGKvmwiFWQ7uKRHDvOWLCMsyh4VXHC/KcDS1+Z7/A80O0udRAiiSGJj1QH2u2Zb08wCDGgwIi/CqJEmVy+4zCtBMlDkLxUy8FOT78g0IHp1PCHJhD4xpo6fGZxMYfwb8RDVuU+xKYtB4bzB4ZFMbZtmzNkKrAtrGYnE0/PFoefXMHxIwWJInnLzfj/i3gux08lYs9IpEXddbMi9wmdRMY1fxQC13WeHSkdi7uO0JfU2U+uIioVY6ipbxxZOIsmqBsqykSxkuNa0pRO6hyvlnuWx9NqlYLGlJQZbV8He2Vanz3H6PiygU1rb7ZY+3T7+W70TS3o8dzHux97bNUP5S6Kwn2iRhITWpqzhb43rNNzwSxClyFU9LYQj5Ta6GZUqDeDfQ3StY4ICQQs26t4UHkVKQm79pSKRQk+4LeqLl2STm31xtTu42C/DhdI7ksY0RmdGY11RotGLmMhXY+LseOJCT5sR1pFbCfvLORftkx+BhXMN7gmuZRK0+CGsVknRmkTInkrVPfQeJYmicb1FTz6V//rp95o/zLvv1rysmyum3BLlSvt1aBrXxF0pfce0NW31KLueBeHrrCOoNjNT65Sg25lqKlvHPUH3a4eT8yVgsbUAN0Buv1DF9In0LWuCLr6W8+ZzLVQulbm4jvVhZk7E0dI7ORGaxjgGjcNceOmP952MthSqFLPeBpwO+C2f9zqBm3glq7wWnCLzWfjVqJA7bgVl8atNz0iYjc3pGFwa9w0xI2b/nDbyWBLoSrcVp4G3A647R+3Do1+wp079vD/Xc5WCERgJcJOcS8FYIMkUSn16Tz7A1BLAQIUABQAAAAIANdZblpui9GOWwAAAGYAAAANAAAAAAAAAAAAAAAAAAAAAABtYW5pZmVzdC5qc29uUEsBAhQAFAAAAAgA11luWthEVP/TAgAAWhYAABEAAAAAAAAAAAAAAAAAhgAAAGEvTWFpbiBTY2VuZS5qc29uUEsFBgAAAAACAAIAegAAAIgDAAAAAA==")}}});
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const A = "data:application/octet-stream;base64,UEsDBBQAAAAIANdZblpui9GOWwAAAGYAAAANAAAAbWFuaWZlc3QuanNvbqtWKkstKs7Mz1OyUjJS0lFKT81LLUosyS8C8h1S8kty8ktKMlP14SzdrGIHAz1LPQPdpNSSRD1DY6CexLzM3MQSoBnFSlbR1UqZKUC9vomZeQrByUDTlGpjawFQSwMEFAAAAAgA11luWthEVP/TAgAAWhYAABEAAABhL01haW4gU2NlbmUuanNvbu2YS2vbQBSF/4qZ9cSd0cOytWpL0qwChUA3wQvVHsci8gNJfQSj/95zR4+RZZWmcozACJJ4mMe598y982FyYNsN89lDEG5Hjwu1VYyz5XLJfMHZmvlSTDH4hcHMwmCj0oD5B/aMIx+jXZqGahVGKvmwiFWQ7uKRHDvOWLCMsyh4VXHC/KcDS1+Z7/A80O0udRAiiSGJj1QH2u2Zb08wCDGgwIi/CqJEmVy+4zCtBMlDkLxUy8FOT78g0IHp1PCHJhD4xpo6fGZxMYfwb8RDVuU+xKYtB4bzB4ZFMbZtmzNkKrAtrGYnE0/PFoefXMHxIwWJInnLzfj/i3gux08lYs9IpEXddbMi9wmdRMY1fxQC13WeHSkdi7uO0JfU2U+uIioVY6ipbxxZOIsmqBsqykSxkuNa0pRO6hyvlnuWx9NqlYLGlJQZbV8He2Vanz3H6PiygU1rb7ZY+3T7+W70TS3o8dzHux97bNUP5S6Kwn2iRhITWpqzhb43rNNzwSxClyFU9LYQj5Ta6GZUqDeDfQ3StY4ICQQs26t4UHkVKQm79pSKRQk+4LeqLl2STm31xtTu42C/DhdI7ksY0RmdGY11RotGLmMhXY+LseOJCT5sR1pFbCfvLORftkx+BhXMN7gmuZRK0+CGsVknRmkTInkrVPfQeJYmicb1FTz6V//rp95o/zLvv1rysmyum3BLlSvt1aBrXxF0pfce0NW31KLueBeHrrCOoNjNT65Sg25lqKlvHPUH3a4eT8yVgsbUAN0Buv1DF9In0LWuCLr6W8+ZzLVQulbm4jvVhZk7E0dI7ORGaxjgGjcNceOmP952MthSqFLPeBpwO+C2f9zqBm3glq7wWnCLzWfjVqJA7bgVl8atNz0iYjc3pGFwa9w0xI2b/nDbyWBLoSrcVp4G3A647R+3Do1+wp079vD/Xc5WCERgJcJOcS8FYIMkUSn16Tz7A1BLAQIUABQAAAAIANdZblpui9GOWwAAAGYAAAANAAAAAAAAAAAAAAAAAAAAAABtYW5pZmVzdC5qc29uUEsBAhQAFAAAAAgA11luWthEVP/TAgAAWhYAABEAAAAAAAAAAAAAAAAAhgAAAGEvTWFpbiBTY2VuZS5qc29uUEsFBgAAAAACAAIAegAAAIgDAAAAAA==";
|
|
2
|
+
export {
|
|
3
|
+
A as default
|
|
4
|
+
};
|
package/package.json
CHANGED
package/plugins/WangsVue.d.ts
CHANGED
|
@@ -24,8 +24,10 @@ import { MenuLocaleConfig } from '../components/menu/Menu.vue.d';
|
|
|
24
24
|
import { ButtonBulkActionLocaleConfig, ButtonBulkActionProps } from '../components/buttonbulkaction/ButtonBulkAction.vue.d';
|
|
25
25
|
import { AnimationDefaultConfig } from '../components/animation/Animation.vue.d';
|
|
26
26
|
import { LoadingPresetOptions } from '../components/loading/Loading.vue.d';
|
|
27
|
-
import { DataTableProps } from '../components/datatable/DataTable.vue.d';
|
|
27
|
+
import { DataTableLocaleConfig, DataTableProps } from '../components/datatable/DataTable.vue.d';
|
|
28
28
|
import { BadgeComponentConfigs } from '../components/badge/Badge.vue.d';
|
|
29
|
+
import { UserNameComponentConfigs, UserNameLocaleConfig, UserNamePresetOptions } from '../components/username/UserName.vue.d';
|
|
30
|
+
import { ImageCompressorLocaleConfig } from '../components/imagecompressor/ImageCompressor.vue.d';
|
|
29
31
|
/**
|
|
30
32
|
* A Record of component names with theirs props interface
|
|
31
33
|
*/
|
|
@@ -40,6 +42,7 @@ export interface ComponentDefaultPropsConfig {
|
|
|
40
42
|
Animation?: AnimationDefaultConfig;
|
|
41
43
|
DataTable?: Partial<DataTableProps>;
|
|
42
44
|
Badge?: Partial<BadgeComponentConfigs>;
|
|
45
|
+
UserName?: UserNameComponentConfigs;
|
|
43
46
|
}
|
|
44
47
|
interface ComponentLocaleConfig {
|
|
45
48
|
FieldWrapper?: FieldWrapperLocaleConfig;
|
|
@@ -59,6 +62,9 @@ interface ComponentLocaleConfig {
|
|
|
59
62
|
Calendar?: CalendarLocaleConfig;
|
|
60
63
|
Menu?: MenuLocaleConfig;
|
|
61
64
|
ButtonBulkAction?: ButtonBulkActionLocaleConfig;
|
|
65
|
+
UserName?: UserNameLocaleConfig;
|
|
66
|
+
DataTable?: DataTableLocaleConfig;
|
|
67
|
+
ImageCompressor?: ImageCompressorLocaleConfig;
|
|
62
68
|
}
|
|
63
69
|
export interface LocaleConfig {
|
|
64
70
|
global: Partial<PrimeVueLocaleOptions>;
|
|
@@ -68,6 +74,7 @@ export interface ComponentPresetOptions {
|
|
|
68
74
|
calendar: CalendarPresetOptions;
|
|
69
75
|
overlaypanel: OverlayPanelPassThroughOptions;
|
|
70
76
|
loading: LoadingPresetOptions;
|
|
77
|
+
username: UserNamePresetOptions;
|
|
71
78
|
[key: string]: any;
|
|
72
79
|
}
|
|
73
80
|
export type WangsVueComponentConfig<ComponentName extends keyof ComponentDefaultPropsConfig | keyof ComponentLocaleConfig> = {
|