naive-ui 2.19.0 → 2.19.1
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/es/_utils/naive/mutable.d.ts +2 -2
- package/es/dialog/src/DialogProvider.d.ts +20 -20
- package/es/notification/src/NotificationProvider.d.ts +16 -16
- package/es/tree/src/Tree.d.ts +5 -5
- package/es/tree/src/Tree.js +17 -9
- package/es/tree/src/TreeNode.js +5 -2
- package/es/tree/src/interface.d.ts +2 -2
- package/es/tree-select/src/TreeSelect.d.ts +0 -1
- package/es/tree-select/src/TreeSelect.js +5 -31
- package/es/upload/src/Upload.js +6 -5
- package/es/upload/src/UploadProgress.d.ts +0 -7
- package/es/upload/src/UploadProgress.js +1 -5
- package/es/upload/src/styles/index.cssr.js +5 -2
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_utils/naive/mutable.d.ts +2 -2
- package/lib/dialog/src/DialogProvider.d.ts +20 -20
- package/lib/notification/src/NotificationProvider.d.ts +16 -16
- package/lib/tree/src/Tree.d.ts +5 -5
- package/lib/tree/src/Tree.js +17 -9
- package/lib/tree/src/TreeNode.js +5 -2
- package/lib/tree/src/interface.d.ts +2 -2
- package/lib/tree-select/src/TreeSelect.d.ts +0 -1
- package/lib/tree-select/src/TreeSelect.js +5 -31
- package/lib/upload/src/Upload.js +6 -5
- package/lib/upload/src/UploadProgress.d.ts +0 -7
- package/lib/upload/src/UploadProgress.js +1 -5
- package/lib/upload/src/styles/index.cssr.js +5 -2
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare type Mutable<T> = {
|
|
1
|
+
export declare type Mutable<T> = T extends Record<string, unknown> ? {
|
|
2
2
|
-readonly [P in keyof T]: T[P] extends ReadonlyArray<infer U> ? Array<Mutable<U>> : Mutable<T[P]>;
|
|
3
|
-
};
|
|
3
|
+
} : T;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ExtractPropTypes, PropType, InjectionKey, Ref, CSSProperties } from 'vue';
|
|
2
|
-
import type { ExtractPublicPropTypes } from '../../_utils';
|
|
2
|
+
import type { ExtractPublicPropTypes, Mutable } from '../../_utils';
|
|
3
3
|
import { exposedDialogEnvProps } from './DialogEnvironment';
|
|
4
|
-
export declare type DialogOptions = Omit<Partial<ExtractPropTypes<typeof exposedDialogEnvProps>>, 'internalStyle'> & {
|
|
4
|
+
export declare type DialogOptions = Mutable<Omit<Partial<ExtractPropTypes<typeof exposedDialogEnvProps>>, 'internalStyle'> & {
|
|
5
5
|
style?: string | CSSProperties;
|
|
6
|
-
}
|
|
6
|
+
}>;
|
|
7
7
|
export declare type DialogReactive = {
|
|
8
8
|
readonly key: string;
|
|
9
9
|
readonly destroy: () => void;
|
|
@@ -41,23 +41,23 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
41
41
|
dialogList: Ref<{
|
|
42
42
|
readonly key: string;
|
|
43
43
|
readonly destroy: () => void;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
type?: "default" | "error" | "info" | "success" | "warning" | undefined;
|
|
45
|
+
content?: string | (() => import("vue").VNodeChild) | undefined;
|
|
46
|
+
icon?: (() => import("vue").VNodeChild) | undefined;
|
|
47
|
+
title?: string | (() => import("vue").VNodeChild) | undefined;
|
|
48
|
+
action?: (() => import("vue").VNodeChild) | undefined;
|
|
49
|
+
bordered?: boolean | undefined;
|
|
50
|
+
loading?: boolean | undefined;
|
|
51
|
+
onClose?: (() => unknown) | undefined;
|
|
52
|
+
closable?: boolean | undefined;
|
|
53
|
+
showIcon?: boolean | undefined;
|
|
54
|
+
iconPlacement?: import("./interface").IconPlacement | undefined;
|
|
55
|
+
negativeText?: string | undefined;
|
|
56
|
+
positiveText?: string | undefined;
|
|
57
|
+
onPositiveClick?: ((e: MouseEvent) => unknown) | undefined;
|
|
58
|
+
onNegativeClick?: ((e: MouseEvent) => unknown) | undefined;
|
|
59
|
+
onMaskClick?: ((e: MouseEvent) => void) | undefined;
|
|
60
|
+
maskClosable?: boolean | undefined;
|
|
61
61
|
style?: any;
|
|
62
62
|
}[]>;
|
|
63
63
|
dialogInstRefs: Record<string, DialogInst>;
|
|
@@ -228,22 +228,22 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
228
228
|
readonly destroy: () => void;
|
|
229
229
|
readonly hide: () => void;
|
|
230
230
|
readonly deactivate: () => void;
|
|
231
|
-
duration?:
|
|
232
|
-
onClose?:
|
|
233
|
-
onLeave?:
|
|
234
|
-
onAfterEnter?:
|
|
235
|
-
onAfterLeave?:
|
|
236
|
-
onHide?:
|
|
237
|
-
onAfterShow?:
|
|
238
|
-
onAfterHide?:
|
|
239
|
-
closable?:
|
|
240
|
-
type?:
|
|
241
|
-
avatar?:
|
|
242
|
-
title?: string |
|
|
243
|
-
description?: string |
|
|
244
|
-
content?: string |
|
|
245
|
-
meta?: string |
|
|
246
|
-
action?: string |
|
|
231
|
+
duration?: number | undefined;
|
|
232
|
+
onClose?: (() => any) | undefined;
|
|
233
|
+
onLeave?: (() => void) | undefined;
|
|
234
|
+
onAfterEnter?: (() => void) | undefined;
|
|
235
|
+
onAfterLeave?: (() => void) | undefined;
|
|
236
|
+
onHide?: (() => void) | undefined;
|
|
237
|
+
onAfterShow?: (() => void) | undefined;
|
|
238
|
+
onAfterHide?: (() => void) | undefined;
|
|
239
|
+
closable?: boolean | undefined;
|
|
240
|
+
type?: "default" | "error" | "info" | "success" | "warning" | undefined;
|
|
241
|
+
avatar?: (() => import("vue").VNodeChild) | undefined;
|
|
242
|
+
title?: string | (() => import("vue").VNodeChild) | undefined;
|
|
243
|
+
description?: string | (() => import("vue").VNodeChild) | undefined;
|
|
244
|
+
content?: string | (() => import("vue").VNodeChild) | undefined;
|
|
245
|
+
meta?: string | (() => import("vue").VNodeChild) | undefined;
|
|
246
|
+
action?: string | (() => import("vue").VNodeChild) | undefined;
|
|
247
247
|
}[]>;
|
|
248
248
|
notificationRefs: Record<string, NotificationRef>;
|
|
249
249
|
handleAfterLeave: (key: string) => void;
|
package/es/tree/src/Tree.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ declare const treeProps: {
|
|
|
36
36
|
readonly internalDataTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
37
37
|
readonly internalDisplayTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
38
38
|
readonly internalHighlightKeySet: PropType<Set<Key>>;
|
|
39
|
-
readonly
|
|
39
|
+
readonly internalUnifySelectCheck: BooleanConstructor;
|
|
40
40
|
readonly internalHideFilteredNode: BooleanConstructor;
|
|
41
41
|
readonly internalCheckboxFocusable: {
|
|
42
42
|
readonly type: BooleanConstructor;
|
|
@@ -283,7 +283,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
283
283
|
readonly internalDataTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
284
284
|
readonly internalDisplayTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
285
285
|
readonly internalHighlightKeySet: PropType<Set<Key>>;
|
|
286
|
-
readonly
|
|
286
|
+
readonly internalUnifySelectCheck: BooleanConstructor;
|
|
287
287
|
readonly internalHideFilteredNode: BooleanConstructor;
|
|
288
288
|
readonly internalCheckboxFocusable: {
|
|
289
289
|
readonly type: BooleanConstructor;
|
|
@@ -971,7 +971,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
971
971
|
readonly internalDataTreeMate?: unknown;
|
|
972
972
|
readonly internalDisplayTreeMate?: unknown;
|
|
973
973
|
readonly internalHighlightKeySet?: unknown;
|
|
974
|
-
readonly
|
|
974
|
+
readonly internalUnifySelectCheck?: unknown;
|
|
975
975
|
readonly internalHideFilteredNode?: unknown;
|
|
976
976
|
readonly internalCheckboxFocusable?: unknown;
|
|
977
977
|
readonly internalFocusable?: unknown;
|
|
@@ -1050,7 +1050,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1050
1050
|
internalScrollable: boolean;
|
|
1051
1051
|
blockLine: boolean;
|
|
1052
1052
|
selectable: boolean;
|
|
1053
|
-
|
|
1053
|
+
internalUnifySelectCheck: boolean;
|
|
1054
1054
|
internalHideFilteredNode: boolean;
|
|
1055
1055
|
internalCheckboxFocusable: boolean;
|
|
1056
1056
|
internalFocusable: boolean;
|
|
@@ -1245,7 +1245,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1245
1245
|
internalScrollable: boolean;
|
|
1246
1246
|
blockLine: boolean;
|
|
1247
1247
|
selectable: boolean;
|
|
1248
|
-
|
|
1248
|
+
internalUnifySelectCheck: boolean;
|
|
1249
1249
|
internalHideFilteredNode: boolean;
|
|
1250
1250
|
internalCheckboxFocusable: boolean;
|
|
1251
1251
|
internalFocusable: boolean;
|
package/es/tree/src/Tree.js
CHANGED
|
@@ -94,7 +94,7 @@ const treeProps = Object.assign(Object.assign(Object.assign(Object.assign({}, us
|
|
|
94
94
|
// use it to do check
|
|
95
95
|
internalDataTreeMate: Object,
|
|
96
96
|
// use it to display
|
|
97
|
-
internalDisplayTreeMate: Object, internalHighlightKeySet: Object,
|
|
97
|
+
internalDisplayTreeMate: Object, internalHighlightKeySet: Object, internalUnifySelectCheck: Boolean, internalHideFilteredNode: Boolean, internalCheckboxFocusable: {
|
|
98
98
|
type: Boolean,
|
|
99
99
|
default: true
|
|
100
100
|
}, internalFocusable: {
|
|
@@ -133,9 +133,10 @@ export default defineComponent({
|
|
|
133
133
|
const controlledCheckedKeysRef = toRef(props, 'checkedKeys');
|
|
134
134
|
const mergedCheckedKeysRef = useMergedState(controlledCheckedKeysRef, uncontrolledCheckedKeysRef);
|
|
135
135
|
const checkedStatusRef = computed(() => {
|
|
136
|
-
|
|
136
|
+
const value = dataTreeMateRef.value.getCheckedKeys(mergedCheckedKeysRef.value, {
|
|
137
137
|
cascade: props.cascade
|
|
138
138
|
});
|
|
139
|
+
return value;
|
|
139
140
|
});
|
|
140
141
|
const mergedCheckStrategyRef = computed(() => props.leafOnly ? 'child' : props.checkStrategy);
|
|
141
142
|
const displayedCheckedKeysRef = computed(() => {
|
|
@@ -341,7 +342,6 @@ export default defineComponent({
|
|
|
341
342
|
}
|
|
342
343
|
function doUpdateIndeterminateKeys(value) {
|
|
343
344
|
const { 'onUpdate:indeterminateKeys': _onUpdateIndeterminateKeys, onUpdateIndeterminateKeys } = props;
|
|
344
|
-
uncontrolledCheckedKeysRef.value = value;
|
|
345
345
|
if (_onUpdateIndeterminateKeys)
|
|
346
346
|
call(_onUpdateIndeterminateKeys, value);
|
|
347
347
|
if (onUpdateIndeterminateKeys)
|
|
@@ -412,9 +412,12 @@ export default defineComponent({
|
|
|
412
412
|
if (props.disabled || node.disabled) {
|
|
413
413
|
return;
|
|
414
414
|
}
|
|
415
|
+
if (props.internalUnifySelectCheck && !props.multiple) {
|
|
416
|
+
handleSelect(node);
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
415
419
|
const { checkedKeys, indeterminateKeys } = dataTreeMateRef.value[checked ? 'check' : 'uncheck'](node.key, displayedCheckedKeysRef.value, {
|
|
416
420
|
cascade: props.cascade,
|
|
417
|
-
leafOnly: props.leafOnly,
|
|
418
421
|
checkStrategy: mergedCheckStrategyRef.value
|
|
419
422
|
});
|
|
420
423
|
doUpdateCheckedKeys(checkedKeys);
|
|
@@ -447,14 +450,19 @@ export default defineComponent({
|
|
|
447
450
|
if (props.disabled ||
|
|
448
451
|
node.disabled ||
|
|
449
452
|
!props.selectable ||
|
|
450
|
-
(
|
|
453
|
+
(mergedCheckStrategyRef.value === 'child' && !node.isLeaf)) {
|
|
451
454
|
return;
|
|
452
455
|
}
|
|
453
456
|
pendingNodeKeyRef.value = node.key;
|
|
454
|
-
if (props.
|
|
457
|
+
if (props.internalUnifySelectCheck) {
|
|
455
458
|
const { value: { checkedKeys, indeterminateKeys } } = checkedStatusRef;
|
|
456
|
-
|
|
457
|
-
|
|
459
|
+
if (props.multiple) {
|
|
460
|
+
handleCheck(node, !(checkedKeys.includes(node.key) ||
|
|
461
|
+
indeterminateKeys.includes(node.key)));
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
doUpdateCheckedKeys([node.key]);
|
|
465
|
+
}
|
|
458
466
|
}
|
|
459
467
|
if (props.multiple) {
|
|
460
468
|
const selectedKeys = Array.from(mergedSelectedKeysRef.value);
|
|
@@ -854,9 +862,9 @@ export default defineComponent({
|
|
|
854
862
|
mergedSelectedKeysRef,
|
|
855
863
|
mergedExpandedKeysRef,
|
|
856
864
|
mergedThemeRef: themeRef,
|
|
865
|
+
mergedCheckStrategyRef,
|
|
857
866
|
disabledRef: toRef(props, 'disabled'),
|
|
858
867
|
checkableRef: toRef(props, 'checkable'),
|
|
859
|
-
leafOnlyRef: toRef(props, 'leafOnly'),
|
|
860
868
|
selectableRef: toRef(props, 'selectable'),
|
|
861
869
|
remoteRef: toRef(props, 'remote'),
|
|
862
870
|
onLoadRef: toRef(props, 'onLoad'),
|
package/es/tree/src/TreeNode.js
CHANGED
|
@@ -146,10 +146,13 @@ const TreeNode = defineComponent({
|
|
|
146
146
|
disabled: computed(() => NTree.disabledRef.value || props.tmNode.disabled),
|
|
147
147
|
checkable: computed(() => NTree.checkableRef.value &&
|
|
148
148
|
(NTree.cascadeRef.value ||
|
|
149
|
-
|
|
149
|
+
NTree.mergedCheckStrategyRef.value !== 'child' ||
|
|
150
|
+
props.tmNode.isLeaf)),
|
|
150
151
|
checkboxDisabled: computed(() => !!props.tmNode.rawNode.checkboxDisabled),
|
|
151
152
|
selectable: computed(() => NTree.selectableRef.value &&
|
|
152
|
-
(NTree.
|
|
153
|
+
(NTree.mergedCheckStrategyRef.value === 'child'
|
|
154
|
+
? props.tmNode.isLeaf
|
|
155
|
+
: true)),
|
|
153
156
|
internalScrollable: NTree.internalScrollableRef,
|
|
154
157
|
draggable: NTree.draggableRef,
|
|
155
158
|
blockLine: NTree.blockLineRef,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeNode } from 'treemate';
|
|
1
|
+
import { CheckStrategy, TreeNode } from 'treemate';
|
|
2
2
|
import { InjectionKey, Ref, VNodeChild } from 'vue';
|
|
3
3
|
import type { MergedTheme } from '../../_mixins';
|
|
4
4
|
import type { TreeTheme } from '../styles';
|
|
@@ -73,7 +73,7 @@ export interface TreeInjection {
|
|
|
73
73
|
disabledRef: Ref<boolean>;
|
|
74
74
|
checkableRef: Ref<boolean>;
|
|
75
75
|
cascadeRef: Ref<boolean>;
|
|
76
|
-
|
|
76
|
+
mergedCheckStrategyRef: Ref<CheckStrategy>;
|
|
77
77
|
selectableRef: Ref<boolean>;
|
|
78
78
|
pendingNodeKeyRef: Ref<null | Key>;
|
|
79
79
|
internalScrollableRef: Ref<boolean>;
|
|
@@ -1041,7 +1041,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1041
1041
|
handleMenuLeave: () => void;
|
|
1042
1042
|
handleTriggerClick: () => void;
|
|
1043
1043
|
handleMenuClickoutside: (e: MouseEvent) => void;
|
|
1044
|
-
handleUpdateSelectedKeys: (keys: Key[]) => void;
|
|
1045
1044
|
handleUpdateCheckedKeys: (keys: Key[]) => void;
|
|
1046
1045
|
handleUpdateIndeterminateKeys: (keys: Key[]) => void;
|
|
1047
1046
|
handleTriggerFocus: (e: FocusEvent) => void;
|
|
@@ -117,7 +117,7 @@ export default defineComponent({
|
|
|
117
117
|
? initMergedValue[initMergedValue.length - 1]
|
|
118
118
|
: null);
|
|
119
119
|
const mergedCascadeRef = computed(() => {
|
|
120
|
-
return props.multiple && props.cascade;
|
|
120
|
+
return props.multiple && props.cascade && props.checkable;
|
|
121
121
|
});
|
|
122
122
|
// The same logic as tree, now it's not that complex so I don't extract a
|
|
123
123
|
// function to reuse it.
|
|
@@ -136,21 +136,9 @@ export default defineComponent({
|
|
|
136
136
|
const treeSelectedKeysRef = computed(() => {
|
|
137
137
|
if (props.checkable)
|
|
138
138
|
return [];
|
|
139
|
-
|
|
140
|
-
const { multiple } = props;
|
|
141
|
-
return Array.isArray(mergedValue)
|
|
142
|
-
? multiple
|
|
143
|
-
? mergedValue
|
|
144
|
-
: []
|
|
145
|
-
: multiple
|
|
146
|
-
? []
|
|
147
|
-
: mergedValue === null
|
|
148
|
-
? []
|
|
149
|
-
: [mergedValue];
|
|
139
|
+
return treeCheckedKeysRef.value;
|
|
150
140
|
});
|
|
151
141
|
const treeCheckedKeysRef = computed(() => {
|
|
152
|
-
if (!props.checkable)
|
|
153
|
-
return [];
|
|
154
142
|
const { value: mergedValue } = mergedValueRef;
|
|
155
143
|
if (props.multiple) {
|
|
156
144
|
if (Array.isArray(mergedValue))
|
|
@@ -308,10 +296,7 @@ export default defineComponent({
|
|
|
308
296
|
const { value: { getNode } } = dataTreeMateRef;
|
|
309
297
|
return keys.map((key) => { var _a; return ((_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode) || null; });
|
|
310
298
|
}
|
|
311
|
-
function
|
|
312
|
-
if (props.checkable && props.multiple) {
|
|
313
|
-
return;
|
|
314
|
-
}
|
|
299
|
+
function handleUpdateCheckedKeys(keys) {
|
|
315
300
|
const options = getOptionsByKeys(keys);
|
|
316
301
|
if (props.multiple) {
|
|
317
302
|
doUpdateValue(keys, options);
|
|
@@ -332,18 +317,8 @@ export default defineComponent({
|
|
|
332
317
|
patternRef.value = '';
|
|
333
318
|
}
|
|
334
319
|
}
|
|
335
|
-
function handleUpdateCheckedKeys(keys) {
|
|
336
|
-
// only in checkable & multiple mode, we use tree's check update
|
|
337
|
-
if (props.checkable && props.multiple) {
|
|
338
|
-
doUpdateValue(keys, getOptionsByKeys(keys));
|
|
339
|
-
if (props.filterable) {
|
|
340
|
-
focusSelectionInput();
|
|
341
|
-
patternRef.value = '';
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
320
|
function handleUpdateIndeterminateKeys(keys) {
|
|
346
|
-
if (props.checkable
|
|
321
|
+
if (props.checkable) {
|
|
347
322
|
doUpdateIndeterminateKeys(keys, getOptionsByKeys(keys));
|
|
348
323
|
}
|
|
349
324
|
}
|
|
@@ -525,7 +500,6 @@ export default defineComponent({
|
|
|
525
500
|
handleMenuLeave,
|
|
526
501
|
handleTriggerClick,
|
|
527
502
|
handleMenuClickoutside,
|
|
528
|
-
handleUpdateSelectedKeys,
|
|
529
503
|
handleUpdateCheckedKeys,
|
|
530
504
|
handleUpdateIndeterminateKeys,
|
|
531
505
|
handleTriggerFocus,
|
|
@@ -568,7 +542,7 @@ export default defineComponent({
|
|
|
568
542
|
const { mergedClsPrefix, filteredTreeInfo, checkable, multiple } = this;
|
|
569
543
|
return withDirectives(h("div", { class: `${mergedClsPrefix}-tree-select-menu`, ref: "menuElRef", style: this.cssVars, tabindex: 0, onMousedown: this.handleMenuMousedown, onKeyup: this.handleKeyup, onKeydown: this.handleKeydown, onFocusin: this.handleMenuFocusin, onFocusout: this.handleMenuFocusout },
|
|
570
544
|
filteredTreeInfo.filteredTree.length ? (h(NTree, { ref: "treeInstRef", blockLine: true, animated: false, data: filteredTreeInfo.filteredTree, cancelable: multiple, labelField: this.labelField, theme: mergedTheme.peers.Tree, themeOverrides: mergedTheme.peerOverrides.Tree, defaultExpandAll: this.defaultExpandAll, defaultExpandedKeys: this.defaultExpandedKeys, expandedKeys: this.mergedExpandedKeys, checkedKeys: this.treeCheckedKeys, selectedKeys: this.treeSelectedKeys, checkable: checkable, checkStrategy: this.checkStrategy, cascade: this.mergedCascade, leafOnly: this.leafOnly, multiple: this.multiple, virtualScroll: this.consistentMenuWidth &&
|
|
571
|
-
this.virtualScroll, internalDataTreeMate: this.dataTreeMate, internalDisplayTreeMate: this.displayTreeMate, internalHighlightKeySet: filteredTreeInfo.highlightKeySet,
|
|
545
|
+
this.virtualScroll, internalDataTreeMate: this.dataTreeMate, internalDisplayTreeMate: this.displayTreeMate, internalHighlightKeySet: filteredTreeInfo.highlightKeySet, internalUnifySelectCheck: true, internalScrollable: true, internalScrollablePadding: this.menuPadding, internalFocusable: false, internalCheckboxFocusable: false, onUpdateCheckedKeys: this.handleUpdateCheckedKeys, onUpdateIndeterminateKeys: this.handleUpdateIndeterminateKeys, onUpdateExpandedKeys: this.doUpdateExpandedKeys })) : (h("div", { class: `${mergedClsPrefix}-tree-select-menu__empty` },
|
|
572
546
|
h(NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty }))),
|
|
573
547
|
h(NBaseFocusDetector, { onFocus: this.handleTabOut })), [[clickoutside, this.handleMenuClickoutside]]);
|
|
574
548
|
}
|
package/es/upload/src/Upload.js
CHANGED
|
@@ -225,19 +225,20 @@ export default defineComponent({
|
|
|
225
225
|
return fileInfo;
|
|
226
226
|
}
|
|
227
227
|
return null;
|
|
228
|
-
})))
|
|
228
|
+
})))
|
|
229
|
+
.then((fileInfos) => __awaiter(this, void 0, void 0, function* () {
|
|
229
230
|
let nextTickChain = Promise.resolve();
|
|
230
231
|
fileInfos.forEach((fileInfo) => {
|
|
231
|
-
nextTickChain = nextTickChain
|
|
232
|
-
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
233
|
-
.then(() => nextTick())
|
|
234
|
-
.then(() => {
|
|
232
|
+
nextTickChain = nextTickChain.then(nextTick).then(() => {
|
|
235
233
|
fileInfo &&
|
|
236
234
|
doChange(fileInfo, e, {
|
|
237
235
|
append: true
|
|
238
236
|
});
|
|
239
237
|
});
|
|
240
238
|
});
|
|
239
|
+
return yield nextTickChain;
|
|
240
|
+
}))
|
|
241
|
+
.then(() => {
|
|
241
242
|
if (props.defaultUpload) {
|
|
242
243
|
submit();
|
|
243
244
|
}
|
|
@@ -9,10 +9,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
9
9
|
type: PropType<"error" | "info" | "success">;
|
|
10
10
|
required: true;
|
|
11
11
|
};
|
|
12
|
-
delay: {
|
|
13
|
-
type: NumberConstructor;
|
|
14
|
-
default: number;
|
|
15
|
-
};
|
|
16
12
|
}, {
|
|
17
13
|
mergedTheme: import("vue").Ref<{
|
|
18
14
|
common: {
|
|
@@ -368,14 +364,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
368
364
|
show?: unknown;
|
|
369
365
|
percentage?: unknown;
|
|
370
366
|
status?: unknown;
|
|
371
|
-
delay?: unknown;
|
|
372
367
|
} & {
|
|
373
368
|
show: boolean;
|
|
374
|
-
delay: number;
|
|
375
369
|
percentage: number;
|
|
376
370
|
status: "error" | "info" | "success";
|
|
377
371
|
} & {}>, {
|
|
378
372
|
show: boolean;
|
|
379
|
-
delay: number;
|
|
380
373
|
}>;
|
|
381
374
|
export default _default;
|
|
@@ -13,13 +13,9 @@ export default defineComponent({
|
|
|
13
13
|
status: {
|
|
14
14
|
type: String,
|
|
15
15
|
required: true
|
|
16
|
-
},
|
|
17
|
-
delay: {
|
|
18
|
-
type: Number,
|
|
19
|
-
default: 900
|
|
20
16
|
}
|
|
21
17
|
},
|
|
22
|
-
setup(
|
|
18
|
+
setup() {
|
|
23
19
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
24
20
|
const NUpload = inject(uploadInjectionKey);
|
|
25
21
|
return {
|
|
@@ -14,7 +14,7 @@ export default c([cB('upload', [cM('dragger-inside', [cE('trigger', `
|
|
|
14
14
|
padding: 24px;
|
|
15
15
|
opacity: 1;
|
|
16
16
|
transition:
|
|
17
|
-
opacity
|
|
17
|
+
opacity .3s var(--bezier),
|
|
18
18
|
border-color .3s var(--bezier),
|
|
19
19
|
background-color .3s var(--bezier);
|
|
20
20
|
background-color: var(--dragger-color);
|
|
@@ -32,7 +32,10 @@ export default c([cB('upload', [cM('dragger-inside', [cE('trigger', `
|
|
|
32
32
|
`, [cM('disabled', `
|
|
33
33
|
opacity: var(--item-disabled-opacity);
|
|
34
34
|
cursor: not-allowed;
|
|
35
|
-
`), cM('image-card',
|
|
35
|
+
`), cM('image-card', `
|
|
36
|
+
width: 96px;
|
|
37
|
+
height: 96px;
|
|
38
|
+
`, [cB('upload-dragger', `
|
|
36
39
|
padding: 0;
|
|
37
40
|
height: 100%;
|
|
38
41
|
width: 100%;
|
package/es/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "2.19.
|
|
1
|
+
declare const _default: "2.19.1";
|
|
2
2
|
export default _default;
|
package/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '2.19.
|
|
1
|
+
export default '2.19.1';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare type Mutable<T> = {
|
|
1
|
+
export declare type Mutable<T> = T extends Record<string, unknown> ? {
|
|
2
2
|
-readonly [P in keyof T]: T[P] extends ReadonlyArray<infer U> ? Array<Mutable<U>> : Mutable<T[P]>;
|
|
3
|
-
};
|
|
3
|
+
} : T;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ExtractPropTypes, PropType, InjectionKey, Ref, CSSProperties } from 'vue';
|
|
2
|
-
import type { ExtractPublicPropTypes } from '../../_utils';
|
|
2
|
+
import type { ExtractPublicPropTypes, Mutable } from '../../_utils';
|
|
3
3
|
import { exposedDialogEnvProps } from './DialogEnvironment';
|
|
4
|
-
export declare type DialogOptions = Omit<Partial<ExtractPropTypes<typeof exposedDialogEnvProps>>, 'internalStyle'> & {
|
|
4
|
+
export declare type DialogOptions = Mutable<Omit<Partial<ExtractPropTypes<typeof exposedDialogEnvProps>>, 'internalStyle'> & {
|
|
5
5
|
style?: string | CSSProperties;
|
|
6
|
-
}
|
|
6
|
+
}>;
|
|
7
7
|
export declare type DialogReactive = {
|
|
8
8
|
readonly key: string;
|
|
9
9
|
readonly destroy: () => void;
|
|
@@ -41,23 +41,23 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
41
41
|
dialogList: Ref<{
|
|
42
42
|
readonly key: string;
|
|
43
43
|
readonly destroy: () => void;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
type?: "default" | "error" | "info" | "success" | "warning" | undefined;
|
|
45
|
+
content?: string | (() => import("vue").VNodeChild) | undefined;
|
|
46
|
+
icon?: (() => import("vue").VNodeChild) | undefined;
|
|
47
|
+
title?: string | (() => import("vue").VNodeChild) | undefined;
|
|
48
|
+
action?: (() => import("vue").VNodeChild) | undefined;
|
|
49
|
+
bordered?: boolean | undefined;
|
|
50
|
+
loading?: boolean | undefined;
|
|
51
|
+
onClose?: (() => unknown) | undefined;
|
|
52
|
+
closable?: boolean | undefined;
|
|
53
|
+
showIcon?: boolean | undefined;
|
|
54
|
+
iconPlacement?: import("./interface").IconPlacement | undefined;
|
|
55
|
+
negativeText?: string | undefined;
|
|
56
|
+
positiveText?: string | undefined;
|
|
57
|
+
onPositiveClick?: ((e: MouseEvent) => unknown) | undefined;
|
|
58
|
+
onNegativeClick?: ((e: MouseEvent) => unknown) | undefined;
|
|
59
|
+
onMaskClick?: ((e: MouseEvent) => void) | undefined;
|
|
60
|
+
maskClosable?: boolean | undefined;
|
|
61
61
|
style?: any;
|
|
62
62
|
}[]>;
|
|
63
63
|
dialogInstRefs: Record<string, DialogInst>;
|
|
@@ -228,22 +228,22 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
228
228
|
readonly destroy: () => void;
|
|
229
229
|
readonly hide: () => void;
|
|
230
230
|
readonly deactivate: () => void;
|
|
231
|
-
duration?:
|
|
232
|
-
onClose?:
|
|
233
|
-
onLeave?:
|
|
234
|
-
onAfterEnter?:
|
|
235
|
-
onAfterLeave?:
|
|
236
|
-
onHide?:
|
|
237
|
-
onAfterShow?:
|
|
238
|
-
onAfterHide?:
|
|
239
|
-
closable?:
|
|
240
|
-
type?:
|
|
241
|
-
avatar?:
|
|
242
|
-
title?: string |
|
|
243
|
-
description?: string |
|
|
244
|
-
content?: string |
|
|
245
|
-
meta?: string |
|
|
246
|
-
action?: string |
|
|
231
|
+
duration?: number | undefined;
|
|
232
|
+
onClose?: (() => any) | undefined;
|
|
233
|
+
onLeave?: (() => void) | undefined;
|
|
234
|
+
onAfterEnter?: (() => void) | undefined;
|
|
235
|
+
onAfterLeave?: (() => void) | undefined;
|
|
236
|
+
onHide?: (() => void) | undefined;
|
|
237
|
+
onAfterShow?: (() => void) | undefined;
|
|
238
|
+
onAfterHide?: (() => void) | undefined;
|
|
239
|
+
closable?: boolean | undefined;
|
|
240
|
+
type?: "default" | "error" | "info" | "success" | "warning" | undefined;
|
|
241
|
+
avatar?: (() => import("vue").VNodeChild) | undefined;
|
|
242
|
+
title?: string | (() => import("vue").VNodeChild) | undefined;
|
|
243
|
+
description?: string | (() => import("vue").VNodeChild) | undefined;
|
|
244
|
+
content?: string | (() => import("vue").VNodeChild) | undefined;
|
|
245
|
+
meta?: string | (() => import("vue").VNodeChild) | undefined;
|
|
246
|
+
action?: string | (() => import("vue").VNodeChild) | undefined;
|
|
247
247
|
}[]>;
|
|
248
248
|
notificationRefs: Record<string, NotificationRef>;
|
|
249
249
|
handleAfterLeave: (key: string) => void;
|
package/lib/tree/src/Tree.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ declare const treeProps: {
|
|
|
36
36
|
readonly internalDataTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
37
37
|
readonly internalDisplayTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
38
38
|
readonly internalHighlightKeySet: PropType<Set<Key>>;
|
|
39
|
-
readonly
|
|
39
|
+
readonly internalUnifySelectCheck: BooleanConstructor;
|
|
40
40
|
readonly internalHideFilteredNode: BooleanConstructor;
|
|
41
41
|
readonly internalCheckboxFocusable: {
|
|
42
42
|
readonly type: BooleanConstructor;
|
|
@@ -283,7 +283,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
283
283
|
readonly internalDataTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
284
284
|
readonly internalDisplayTreeMate: PropType<TreeMate<TreeOption, TreeOption, TreeOption>>;
|
|
285
285
|
readonly internalHighlightKeySet: PropType<Set<Key>>;
|
|
286
|
-
readonly
|
|
286
|
+
readonly internalUnifySelectCheck: BooleanConstructor;
|
|
287
287
|
readonly internalHideFilteredNode: BooleanConstructor;
|
|
288
288
|
readonly internalCheckboxFocusable: {
|
|
289
289
|
readonly type: BooleanConstructor;
|
|
@@ -971,7 +971,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
971
971
|
readonly internalDataTreeMate?: unknown;
|
|
972
972
|
readonly internalDisplayTreeMate?: unknown;
|
|
973
973
|
readonly internalHighlightKeySet?: unknown;
|
|
974
|
-
readonly
|
|
974
|
+
readonly internalUnifySelectCheck?: unknown;
|
|
975
975
|
readonly internalHideFilteredNode?: unknown;
|
|
976
976
|
readonly internalCheckboxFocusable?: unknown;
|
|
977
977
|
readonly internalFocusable?: unknown;
|
|
@@ -1050,7 +1050,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1050
1050
|
internalScrollable: boolean;
|
|
1051
1051
|
blockLine: boolean;
|
|
1052
1052
|
selectable: boolean;
|
|
1053
|
-
|
|
1053
|
+
internalUnifySelectCheck: boolean;
|
|
1054
1054
|
internalHideFilteredNode: boolean;
|
|
1055
1055
|
internalCheckboxFocusable: boolean;
|
|
1056
1056
|
internalFocusable: boolean;
|
|
@@ -1245,7 +1245,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1245
1245
|
internalScrollable: boolean;
|
|
1246
1246
|
blockLine: boolean;
|
|
1247
1247
|
selectable: boolean;
|
|
1248
|
-
|
|
1248
|
+
internalUnifySelectCheck: boolean;
|
|
1249
1249
|
internalHideFilteredNode: boolean;
|
|
1250
1250
|
internalCheckboxFocusable: boolean;
|
|
1251
1251
|
internalFocusable: boolean;
|
package/lib/tree/src/Tree.js
CHANGED
|
@@ -98,7 +98,7 @@ const treeProps = Object.assign(Object.assign(Object.assign(Object.assign({}, _m
|
|
|
98
98
|
// use it to do check
|
|
99
99
|
internalDataTreeMate: Object,
|
|
100
100
|
// use it to display
|
|
101
|
-
internalDisplayTreeMate: Object, internalHighlightKeySet: Object,
|
|
101
|
+
internalDisplayTreeMate: Object, internalHighlightKeySet: Object, internalUnifySelectCheck: Boolean, internalHideFilteredNode: Boolean, internalCheckboxFocusable: {
|
|
102
102
|
type: Boolean,
|
|
103
103
|
default: true
|
|
104
104
|
}, internalFocusable: {
|
|
@@ -137,9 +137,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
137
137
|
const controlledCheckedKeysRef = (0, vue_1.toRef)(props, 'checkedKeys');
|
|
138
138
|
const mergedCheckedKeysRef = (0, vooks_1.useMergedState)(controlledCheckedKeysRef, uncontrolledCheckedKeysRef);
|
|
139
139
|
const checkedStatusRef = (0, vue_1.computed)(() => {
|
|
140
|
-
|
|
140
|
+
const value = dataTreeMateRef.value.getCheckedKeys(mergedCheckedKeysRef.value, {
|
|
141
141
|
cascade: props.cascade
|
|
142
142
|
});
|
|
143
|
+
return value;
|
|
143
144
|
});
|
|
144
145
|
const mergedCheckStrategyRef = (0, vue_1.computed)(() => props.leafOnly ? 'child' : props.checkStrategy);
|
|
145
146
|
const displayedCheckedKeysRef = (0, vue_1.computed)(() => {
|
|
@@ -345,7 +346,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
345
346
|
}
|
|
346
347
|
function doUpdateIndeterminateKeys(value) {
|
|
347
348
|
const { 'onUpdate:indeterminateKeys': _onUpdateIndeterminateKeys, onUpdateIndeterminateKeys } = props;
|
|
348
|
-
uncontrolledCheckedKeysRef.value = value;
|
|
349
349
|
if (_onUpdateIndeterminateKeys)
|
|
350
350
|
(0, _utils_1.call)(_onUpdateIndeterminateKeys, value);
|
|
351
351
|
if (onUpdateIndeterminateKeys)
|
|
@@ -416,9 +416,12 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
416
416
|
if (props.disabled || node.disabled) {
|
|
417
417
|
return;
|
|
418
418
|
}
|
|
419
|
+
if (props.internalUnifySelectCheck && !props.multiple) {
|
|
420
|
+
handleSelect(node);
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
419
423
|
const { checkedKeys, indeterminateKeys } = dataTreeMateRef.value[checked ? 'check' : 'uncheck'](node.key, displayedCheckedKeysRef.value, {
|
|
420
424
|
cascade: props.cascade,
|
|
421
|
-
leafOnly: props.leafOnly,
|
|
422
425
|
checkStrategy: mergedCheckStrategyRef.value
|
|
423
426
|
});
|
|
424
427
|
doUpdateCheckedKeys(checkedKeys);
|
|
@@ -451,14 +454,19 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
451
454
|
if (props.disabled ||
|
|
452
455
|
node.disabled ||
|
|
453
456
|
!props.selectable ||
|
|
454
|
-
(
|
|
457
|
+
(mergedCheckStrategyRef.value === 'child' && !node.isLeaf)) {
|
|
455
458
|
return;
|
|
456
459
|
}
|
|
457
460
|
pendingNodeKeyRef.value = node.key;
|
|
458
|
-
if (props.
|
|
461
|
+
if (props.internalUnifySelectCheck) {
|
|
459
462
|
const { value: { checkedKeys, indeterminateKeys } } = checkedStatusRef;
|
|
460
|
-
|
|
461
|
-
|
|
463
|
+
if (props.multiple) {
|
|
464
|
+
handleCheck(node, !(checkedKeys.includes(node.key) ||
|
|
465
|
+
indeterminateKeys.includes(node.key)));
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
doUpdateCheckedKeys([node.key]);
|
|
469
|
+
}
|
|
462
470
|
}
|
|
463
471
|
if (props.multiple) {
|
|
464
472
|
const selectedKeys = Array.from(mergedSelectedKeysRef.value);
|
|
@@ -858,9 +866,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
858
866
|
mergedSelectedKeysRef,
|
|
859
867
|
mergedExpandedKeysRef,
|
|
860
868
|
mergedThemeRef: themeRef,
|
|
869
|
+
mergedCheckStrategyRef,
|
|
861
870
|
disabledRef: (0, vue_1.toRef)(props, 'disabled'),
|
|
862
871
|
checkableRef: (0, vue_1.toRef)(props, 'checkable'),
|
|
863
|
-
leafOnlyRef: (0, vue_1.toRef)(props, 'leafOnly'),
|
|
864
872
|
selectableRef: (0, vue_1.toRef)(props, 'selectable'),
|
|
865
873
|
remoteRef: (0, vue_1.toRef)(props, 'remote'),
|
|
866
874
|
onLoadRef: (0, vue_1.toRef)(props, 'onLoad'),
|
package/lib/tree/src/TreeNode.js
CHANGED
|
@@ -148,10 +148,13 @@ const TreeNode = (0, vue_1.defineComponent)({
|
|
|
148
148
|
disabled: (0, vue_1.computed)(() => NTree.disabledRef.value || props.tmNode.disabled),
|
|
149
149
|
checkable: (0, vue_1.computed)(() => NTree.checkableRef.value &&
|
|
150
150
|
(NTree.cascadeRef.value ||
|
|
151
|
-
|
|
151
|
+
NTree.mergedCheckStrategyRef.value !== 'child' ||
|
|
152
|
+
props.tmNode.isLeaf)),
|
|
152
153
|
checkboxDisabled: (0, vue_1.computed)(() => !!props.tmNode.rawNode.checkboxDisabled),
|
|
153
154
|
selectable: (0, vue_1.computed)(() => NTree.selectableRef.value &&
|
|
154
|
-
(NTree.
|
|
155
|
+
(NTree.mergedCheckStrategyRef.value === 'child'
|
|
156
|
+
? props.tmNode.isLeaf
|
|
157
|
+
: true)),
|
|
155
158
|
internalScrollable: NTree.internalScrollableRef,
|
|
156
159
|
draggable: NTree.draggableRef,
|
|
157
160
|
blockLine: NTree.blockLineRef,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeNode } from 'treemate';
|
|
1
|
+
import { CheckStrategy, TreeNode } from 'treemate';
|
|
2
2
|
import { InjectionKey, Ref, VNodeChild } from 'vue';
|
|
3
3
|
import type { MergedTheme } from '../../_mixins';
|
|
4
4
|
import type { TreeTheme } from '../styles';
|
|
@@ -73,7 +73,7 @@ export interface TreeInjection {
|
|
|
73
73
|
disabledRef: Ref<boolean>;
|
|
74
74
|
checkableRef: Ref<boolean>;
|
|
75
75
|
cascadeRef: Ref<boolean>;
|
|
76
|
-
|
|
76
|
+
mergedCheckStrategyRef: Ref<CheckStrategy>;
|
|
77
77
|
selectableRef: Ref<boolean>;
|
|
78
78
|
pendingNodeKeyRef: Ref<null | Key>;
|
|
79
79
|
internalScrollableRef: Ref<boolean>;
|
|
@@ -1041,7 +1041,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
1041
1041
|
handleMenuLeave: () => void;
|
|
1042
1042
|
handleTriggerClick: () => void;
|
|
1043
1043
|
handleMenuClickoutside: (e: MouseEvent) => void;
|
|
1044
|
-
handleUpdateSelectedKeys: (keys: Key[]) => void;
|
|
1045
1044
|
handleUpdateCheckedKeys: (keys: Key[]) => void;
|
|
1046
1045
|
handleUpdateIndeterminateKeys: (keys: Key[]) => void;
|
|
1047
1046
|
handleTriggerFocus: (e: FocusEvent) => void;
|
|
@@ -119,7 +119,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
119
119
|
? initMergedValue[initMergedValue.length - 1]
|
|
120
120
|
: null);
|
|
121
121
|
const mergedCascadeRef = (0, vue_1.computed)(() => {
|
|
122
|
-
return props.multiple && props.cascade;
|
|
122
|
+
return props.multiple && props.cascade && props.checkable;
|
|
123
123
|
});
|
|
124
124
|
// The same logic as tree, now it's not that complex so I don't extract a
|
|
125
125
|
// function to reuse it.
|
|
@@ -138,21 +138,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
138
138
|
const treeSelectedKeysRef = (0, vue_1.computed)(() => {
|
|
139
139
|
if (props.checkable)
|
|
140
140
|
return [];
|
|
141
|
-
|
|
142
|
-
const { multiple } = props;
|
|
143
|
-
return Array.isArray(mergedValue)
|
|
144
|
-
? multiple
|
|
145
|
-
? mergedValue
|
|
146
|
-
: []
|
|
147
|
-
: multiple
|
|
148
|
-
? []
|
|
149
|
-
: mergedValue === null
|
|
150
|
-
? []
|
|
151
|
-
: [mergedValue];
|
|
141
|
+
return treeCheckedKeysRef.value;
|
|
152
142
|
});
|
|
153
143
|
const treeCheckedKeysRef = (0, vue_1.computed)(() => {
|
|
154
|
-
if (!props.checkable)
|
|
155
|
-
return [];
|
|
156
144
|
const { value: mergedValue } = mergedValueRef;
|
|
157
145
|
if (props.multiple) {
|
|
158
146
|
if (Array.isArray(mergedValue))
|
|
@@ -310,10 +298,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
310
298
|
const { value: { getNode } } = dataTreeMateRef;
|
|
311
299
|
return keys.map((key) => { var _a; return ((_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode) || null; });
|
|
312
300
|
}
|
|
313
|
-
function
|
|
314
|
-
if (props.checkable && props.multiple) {
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
301
|
+
function handleUpdateCheckedKeys(keys) {
|
|
317
302
|
const options = getOptionsByKeys(keys);
|
|
318
303
|
if (props.multiple) {
|
|
319
304
|
doUpdateValue(keys, options);
|
|
@@ -334,18 +319,8 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
334
319
|
patternRef.value = '';
|
|
335
320
|
}
|
|
336
321
|
}
|
|
337
|
-
function handleUpdateCheckedKeys(keys) {
|
|
338
|
-
// only in checkable & multiple mode, we use tree's check update
|
|
339
|
-
if (props.checkable && props.multiple) {
|
|
340
|
-
doUpdateValue(keys, getOptionsByKeys(keys));
|
|
341
|
-
if (props.filterable) {
|
|
342
|
-
focusSelectionInput();
|
|
343
|
-
patternRef.value = '';
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
322
|
function handleUpdateIndeterminateKeys(keys) {
|
|
348
|
-
if (props.checkable
|
|
323
|
+
if (props.checkable) {
|
|
349
324
|
doUpdateIndeterminateKeys(keys, getOptionsByKeys(keys));
|
|
350
325
|
}
|
|
351
326
|
}
|
|
@@ -527,7 +502,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
527
502
|
handleMenuLeave,
|
|
528
503
|
handleTriggerClick,
|
|
529
504
|
handleMenuClickoutside,
|
|
530
|
-
handleUpdateSelectedKeys,
|
|
531
505
|
handleUpdateCheckedKeys,
|
|
532
506
|
handleUpdateIndeterminateKeys,
|
|
533
507
|
handleTriggerFocus,
|
|
@@ -570,7 +544,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
570
544
|
const { mergedClsPrefix, filteredTreeInfo, checkable, multiple } = this;
|
|
571
545
|
return (0, vue_1.withDirectives)((0, vue_1.h)("div", { class: `${mergedClsPrefix}-tree-select-menu`, ref: "menuElRef", style: this.cssVars, tabindex: 0, onMousedown: this.handleMenuMousedown, onKeyup: this.handleKeyup, onKeydown: this.handleKeydown, onFocusin: this.handleMenuFocusin, onFocusout: this.handleMenuFocusout },
|
|
572
546
|
filteredTreeInfo.filteredTree.length ? ((0, vue_1.h)(tree_1.NTree, { ref: "treeInstRef", blockLine: true, animated: false, data: filteredTreeInfo.filteredTree, cancelable: multiple, labelField: this.labelField, theme: mergedTheme.peers.Tree, themeOverrides: mergedTheme.peerOverrides.Tree, defaultExpandAll: this.defaultExpandAll, defaultExpandedKeys: this.defaultExpandedKeys, expandedKeys: this.mergedExpandedKeys, checkedKeys: this.treeCheckedKeys, selectedKeys: this.treeSelectedKeys, checkable: checkable, checkStrategy: this.checkStrategy, cascade: this.mergedCascade, leafOnly: this.leafOnly, multiple: this.multiple, virtualScroll: this.consistentMenuWidth &&
|
|
573
|
-
this.virtualScroll, internalDataTreeMate: this.dataTreeMate, internalDisplayTreeMate: this.displayTreeMate, internalHighlightKeySet: filteredTreeInfo.highlightKeySet,
|
|
547
|
+
this.virtualScroll, internalDataTreeMate: this.dataTreeMate, internalDisplayTreeMate: this.displayTreeMate, internalHighlightKeySet: filteredTreeInfo.highlightKeySet, internalUnifySelectCheck: true, internalScrollable: true, internalScrollablePadding: this.menuPadding, internalFocusable: false, internalCheckboxFocusable: false, onUpdateCheckedKeys: this.handleUpdateCheckedKeys, onUpdateIndeterminateKeys: this.handleUpdateIndeterminateKeys, onUpdateExpandedKeys: this.doUpdateExpandedKeys })) : ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-tree-select-menu__empty` },
|
|
574
548
|
(0, vue_1.h)(empty_1.NEmpty, { theme: mergedTheme.peers.Empty, themeOverrides: mergedTheme.peerOverrides.Empty }))),
|
|
575
549
|
(0, vue_1.h)(_internal_1.NBaseFocusDetector, { onFocus: this.handleTabOut })), [[vdirs_1.clickoutside, this.handleMenuClickoutside]]);
|
|
576
550
|
}
|
package/lib/upload/src/Upload.js
CHANGED
|
@@ -227,19 +227,20 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
227
227
|
return fileInfo;
|
|
228
228
|
}
|
|
229
229
|
return null;
|
|
230
|
-
})))
|
|
230
|
+
})))
|
|
231
|
+
.then((fileInfos) => __awaiter(this, void 0, void 0, function* () {
|
|
231
232
|
let nextTickChain = Promise.resolve();
|
|
232
233
|
fileInfos.forEach((fileInfo) => {
|
|
233
|
-
nextTickChain = nextTickChain
|
|
234
|
-
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
235
|
-
.then(() => (0, vue_1.nextTick)())
|
|
236
|
-
.then(() => {
|
|
234
|
+
nextTickChain = nextTickChain.then(vue_1.nextTick).then(() => {
|
|
237
235
|
fileInfo &&
|
|
238
236
|
doChange(fileInfo, e, {
|
|
239
237
|
append: true
|
|
240
238
|
});
|
|
241
239
|
});
|
|
242
240
|
});
|
|
241
|
+
return yield nextTickChain;
|
|
242
|
+
}))
|
|
243
|
+
.then(() => {
|
|
243
244
|
if (props.defaultUpload) {
|
|
244
245
|
submit();
|
|
245
246
|
}
|
|
@@ -9,10 +9,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
9
9
|
type: PropType<"error" | "info" | "success">;
|
|
10
10
|
required: true;
|
|
11
11
|
};
|
|
12
|
-
delay: {
|
|
13
|
-
type: NumberConstructor;
|
|
14
|
-
default: number;
|
|
15
|
-
};
|
|
16
12
|
}, {
|
|
17
13
|
mergedTheme: import("vue").Ref<{
|
|
18
14
|
common: {
|
|
@@ -368,14 +364,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
368
364
|
show?: unknown;
|
|
369
365
|
percentage?: unknown;
|
|
370
366
|
status?: unknown;
|
|
371
|
-
delay?: unknown;
|
|
372
367
|
} & {
|
|
373
368
|
show: boolean;
|
|
374
|
-
delay: number;
|
|
375
369
|
percentage: number;
|
|
376
370
|
status: "error" | "info" | "success";
|
|
377
371
|
} & {}>, {
|
|
378
372
|
show: boolean;
|
|
379
|
-
delay: number;
|
|
380
373
|
}>;
|
|
381
374
|
export default _default;
|
|
@@ -15,13 +15,9 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
15
15
|
status: {
|
|
16
16
|
type: String,
|
|
17
17
|
required: true
|
|
18
|
-
},
|
|
19
|
-
delay: {
|
|
20
|
-
type: Number,
|
|
21
|
-
default: 900
|
|
22
18
|
}
|
|
23
19
|
},
|
|
24
|
-
setup(
|
|
20
|
+
setup() {
|
|
25
21
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
26
22
|
const NUpload = (0, vue_1.inject)(interface_1.uploadInjectionKey);
|
|
27
23
|
return {
|
|
@@ -23,7 +23,7 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('upload', [(0, cssr_1.cM)('dragg
|
|
|
23
23
|
padding: 24px;
|
|
24
24
|
opacity: 1;
|
|
25
25
|
transition:
|
|
26
|
-
opacity
|
|
26
|
+
opacity .3s var(--bezier),
|
|
27
27
|
border-color .3s var(--bezier),
|
|
28
28
|
background-color .3s var(--bezier);
|
|
29
29
|
background-color: var(--dragger-color);
|
|
@@ -41,7 +41,10 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('upload', [(0, cssr_1.cM)('dragg
|
|
|
41
41
|
`, [(0, cssr_1.cM)('disabled', `
|
|
42
42
|
opacity: var(--item-disabled-opacity);
|
|
43
43
|
cursor: not-allowed;
|
|
44
|
-
`), (0, cssr_1.cM)('image-card',
|
|
44
|
+
`), (0, cssr_1.cM)('image-card', `
|
|
45
|
+
width: 96px;
|
|
46
|
+
height: 96px;
|
|
47
|
+
`, [(0, cssr_1.cB)('upload-dragger', `
|
|
45
48
|
padding: 0;
|
|
46
49
|
height: 100%;
|
|
47
50
|
width: 100%;
|
package/lib/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "2.19.
|
|
1
|
+
declare const _default: "2.19.1";
|
|
2
2
|
export default _default;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED