@douyinfe/semi-foundation 2.54.0 → 2.55.0-beta.0
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.
|
@@ -31,7 +31,7 @@ export interface NavigationAdapter<P = Record<string, any>, S = Record<string, a
|
|
|
31
31
|
}): void;
|
|
32
32
|
addSelectedKeys(...keys: (string | number)[]): void;
|
|
33
33
|
removeSelectedKeys(...keys: (string | number)[]): void;
|
|
34
|
-
updateSelectedKeys(keys: (string | number)[]): void;
|
|
34
|
+
updateSelectedKeys(keys: (string | number)[], includeParentKeys?: boolean): void;
|
|
35
35
|
updateOpenKeys(keys: (string | number)[]): void;
|
|
36
36
|
addOpenKeys(...keys: (string | number)[]): void;
|
|
37
37
|
removeOpenKeys(...keys: (string | number)[]): void;
|
|
@@ -48,7 +48,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
48
48
|
* @param {*} lifecycle
|
|
49
49
|
* @returns
|
|
50
50
|
*/
|
|
51
|
-
init(lifecycle
|
|
51
|
+
init(lifecycle?: string): {
|
|
52
52
|
selectedKeys: any;
|
|
53
53
|
itemKeysMap: {};
|
|
54
54
|
openKeys: any[];
|
|
@@ -74,9 +74,9 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
74
74
|
* @param {*} itemKeysMap
|
|
75
75
|
*/
|
|
76
76
|
getWillOpenKeys(itemKeysMap: ItemKey2ParentKeysMap): any[];
|
|
77
|
-
getShouldOpenKeys(itemKeysMap?: ItemKey2ParentKeysMap, selectedKeys?: string | number[]): unknown[];
|
|
77
|
+
getShouldOpenKeys(itemKeysMap?: ItemKey2ParentKeysMap, selectedKeys?: (string | number)[]): unknown[];
|
|
78
78
|
destroy(): void;
|
|
79
|
-
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap,
|
|
79
|
+
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap, itemKeys: (string | number)[]): any[];
|
|
80
80
|
formatItems(items?: ItemProps[]): any[];
|
|
81
81
|
handleSelect(data: OnSelectData): void;
|
|
82
82
|
judgeIfOpen(openKeys: (string | number)[], items: NavItemType[]): boolean;
|
|
@@ -89,7 +89,8 @@ class NavigationFoundation extends _foundation.default {
|
|
|
89
89
|
items: formattedItems
|
|
90
90
|
};
|
|
91
91
|
} else {
|
|
92
|
-
|
|
92
|
+
// already include parentSelectKeys, set second parameter to false
|
|
93
|
+
this._adapter.updateSelectedKeys(willSelectedKeys, false);
|
|
93
94
|
this._adapter.setItemKeysMap(itemKeysMap);
|
|
94
95
|
this._adapter.updateOpenKeys(willOpenKeys);
|
|
95
96
|
this._adapter.updateItems(formattedItems);
|
|
@@ -140,10 +141,14 @@ class NavigationFoundation extends _foundation.default {
|
|
|
140
141
|
selectedKeys,
|
|
141
142
|
mode
|
|
142
143
|
} = this.getProps();
|
|
144
|
+
const {
|
|
145
|
+
openKeys: stateOpenKeys = []
|
|
146
|
+
} = this.getStates();
|
|
143
147
|
let willOpenKeys = openKeys || defaultOpenKeys || [];
|
|
144
148
|
if (!(Array.isArray(defaultOpenKeys) || Array.isArray(openKeys)) && mode === _constants.strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))) {
|
|
145
149
|
const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
|
|
146
|
-
willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
|
|
150
|
+
willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
|
|
151
|
+
willOpenKeys = Array.from(new Set(willOpenKeys));
|
|
147
152
|
}
|
|
148
153
|
return [...willOpenKeys];
|
|
149
154
|
}
|
|
@@ -164,13 +169,10 @@ class NavigationFoundation extends _foundation.default {
|
|
|
164
169
|
return [...willOpenKeySet];
|
|
165
170
|
}
|
|
166
171
|
destroy() {}
|
|
167
|
-
selectLevelZeroParentKeys(itemKeysMap) {
|
|
172
|
+
selectLevelZeroParentKeys(itemKeysMap, itemKeys) {
|
|
168
173
|
const _itemKeysMap = (0, _isNullOrUndefined.default)(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
|
|
169
174
|
// console.log(itemKeysMap);
|
|
170
175
|
const willAddKeys = [];
|
|
171
|
-
for (var _len2 = arguments.length, itemKeys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
172
|
-
itemKeys[_key2 - 1] = arguments[_key2];
|
|
173
|
-
}
|
|
174
176
|
if (itemKeys.length) {
|
|
175
177
|
for (const itemKey of itemKeys) {
|
|
176
178
|
if (Array.isArray(_itemKeysMap[itemKey]) && _itemKeysMap[itemKey].length) {
|
|
@@ -31,7 +31,7 @@ export interface NavigationAdapter<P = Record<string, any>, S = Record<string, a
|
|
|
31
31
|
}): void;
|
|
32
32
|
addSelectedKeys(...keys: (string | number)[]): void;
|
|
33
33
|
removeSelectedKeys(...keys: (string | number)[]): void;
|
|
34
|
-
updateSelectedKeys(keys: (string | number)[]): void;
|
|
34
|
+
updateSelectedKeys(keys: (string | number)[], includeParentKeys?: boolean): void;
|
|
35
35
|
updateOpenKeys(keys: (string | number)[]): void;
|
|
36
36
|
addOpenKeys(...keys: (string | number)[]): void;
|
|
37
37
|
removeOpenKeys(...keys: (string | number)[]): void;
|
|
@@ -48,7 +48,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
48
48
|
* @param {*} lifecycle
|
|
49
49
|
* @returns
|
|
50
50
|
*/
|
|
51
|
-
init(lifecycle
|
|
51
|
+
init(lifecycle?: string): {
|
|
52
52
|
selectedKeys: any;
|
|
53
53
|
itemKeysMap: {};
|
|
54
54
|
openKeys: any[];
|
|
@@ -74,9 +74,9 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
74
74
|
* @param {*} itemKeysMap
|
|
75
75
|
*/
|
|
76
76
|
getWillOpenKeys(itemKeysMap: ItemKey2ParentKeysMap): any[];
|
|
77
|
-
getShouldOpenKeys(itemKeysMap?: ItemKey2ParentKeysMap, selectedKeys?: string | number[]): unknown[];
|
|
77
|
+
getShouldOpenKeys(itemKeysMap?: ItemKey2ParentKeysMap, selectedKeys?: (string | number)[]): unknown[];
|
|
78
78
|
destroy(): void;
|
|
79
|
-
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap,
|
|
79
|
+
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap, itemKeys: (string | number)[]): any[];
|
|
80
80
|
formatItems(items?: ItemProps[]): any[];
|
|
81
81
|
handleSelect(data: OnSelectData): void;
|
|
82
82
|
judgeIfOpen(openKeys: (string | number)[], items: NavItemType[]): boolean;
|
|
@@ -82,7 +82,8 @@ export default class NavigationFoundation extends BaseFoundation {
|
|
|
82
82
|
items: formattedItems
|
|
83
83
|
};
|
|
84
84
|
} else {
|
|
85
|
-
|
|
85
|
+
// already include parentSelectKeys, set second parameter to false
|
|
86
|
+
this._adapter.updateSelectedKeys(willSelectedKeys, false);
|
|
86
87
|
this._adapter.setItemKeysMap(itemKeysMap);
|
|
87
88
|
this._adapter.updateOpenKeys(willOpenKeys);
|
|
88
89
|
this._adapter.updateItems(formattedItems);
|
|
@@ -133,10 +134,14 @@ export default class NavigationFoundation extends BaseFoundation {
|
|
|
133
134
|
selectedKeys,
|
|
134
135
|
mode
|
|
135
136
|
} = this.getProps();
|
|
137
|
+
const {
|
|
138
|
+
openKeys: stateOpenKeys = []
|
|
139
|
+
} = this.getStates();
|
|
136
140
|
let willOpenKeys = openKeys || defaultOpenKeys || [];
|
|
137
141
|
if (!(Array.isArray(defaultOpenKeys) || Array.isArray(openKeys)) && mode === strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))) {
|
|
138
142
|
const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
|
|
139
|
-
willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
|
|
143
|
+
willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
|
|
144
|
+
willOpenKeys = Array.from(new Set(willOpenKeys));
|
|
140
145
|
}
|
|
141
146
|
return [...willOpenKeys];
|
|
142
147
|
}
|
|
@@ -157,13 +162,10 @@ export default class NavigationFoundation extends BaseFoundation {
|
|
|
157
162
|
return [...willOpenKeySet];
|
|
158
163
|
}
|
|
159
164
|
destroy() {}
|
|
160
|
-
selectLevelZeroParentKeys(itemKeysMap) {
|
|
165
|
+
selectLevelZeroParentKeys(itemKeysMap, itemKeys) {
|
|
161
166
|
const _itemKeysMap = isNullOrUndefined(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
|
|
162
167
|
// console.log(itemKeysMap);
|
|
163
168
|
const willAddKeys = [];
|
|
164
|
-
for (var _len2 = arguments.length, itemKeys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
165
|
-
itemKeys[_key2 - 1] = arguments[_key2];
|
|
166
|
-
}
|
|
167
169
|
if (itemKeys.length) {
|
|
168
170
|
for (const itemKey of itemKeys) {
|
|
169
171
|
if (Array.isArray(_itemKeysMap[itemKey]) && _itemKeysMap[itemKey].length) {
|
package/navigation/foundation.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface NavigationAdapter<P = Record<string, any>, S = Record<string, a
|
|
|
39
39
|
setItemKeysMap(map: { [key: string]: (string | number)[] }): void;
|
|
40
40
|
addSelectedKeys(...keys: (string | number)[]): void;
|
|
41
41
|
removeSelectedKeys(...keys: (string | number)[]): void;
|
|
42
|
-
updateSelectedKeys(keys: (string | number)[]): void;
|
|
42
|
+
updateSelectedKeys(keys: (string | number)[], includeParentKeys?: boolean): void;
|
|
43
43
|
updateOpenKeys(keys: (string | number)[]): void;
|
|
44
44
|
addOpenKeys(...keys: (string | number)[]): void;
|
|
45
45
|
removeOpenKeys(...keys: (string | number)[]): void;
|
|
@@ -114,7 +114,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
114
114
|
* @param {*} lifecycle
|
|
115
115
|
* @returns
|
|
116
116
|
*/
|
|
117
|
-
init(lifecycle
|
|
117
|
+
init(lifecycle?: string) {
|
|
118
118
|
const { defaultSelectedKeys, selectedKeys } = this.getProps();
|
|
119
119
|
let willSelectedKeys = selectedKeys || defaultSelectedKeys || [];
|
|
120
120
|
const { itemKeysMap, willOpenKeys, formattedItems } = this.getCalcState();
|
|
@@ -129,7 +129,8 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
129
129
|
items: formattedItems,
|
|
130
130
|
};
|
|
131
131
|
} else {
|
|
132
|
-
|
|
132
|
+
// already include parentSelectKeys, set second parameter to false
|
|
133
|
+
this._adapter.updateSelectedKeys(willSelectedKeys, false);
|
|
133
134
|
this._adapter.setItemKeysMap(itemKeysMap);
|
|
134
135
|
this._adapter.updateOpenKeys(willOpenKeys);
|
|
135
136
|
this._adapter.updateItems(formattedItems);
|
|
@@ -167,6 +168,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
167
168
|
*/
|
|
168
169
|
getWillOpenKeys(itemKeysMap: ItemKey2ParentKeysMap) {
|
|
169
170
|
const { defaultOpenKeys, openKeys, defaultSelectedKeys, selectedKeys, mode } = this.getProps();
|
|
171
|
+
const { openKeys: stateOpenKeys = [] } = this.getStates();
|
|
170
172
|
|
|
171
173
|
let willOpenKeys = openKeys || defaultOpenKeys || [];
|
|
172
174
|
if (
|
|
@@ -174,12 +176,13 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
174
176
|
Array.isArray(openKeys)) && mode === strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))
|
|
175
177
|
) {
|
|
176
178
|
const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
|
|
177
|
-
willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
|
|
179
|
+
willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
|
|
180
|
+
willOpenKeys = Array.from(new Set(willOpenKeys));
|
|
178
181
|
}
|
|
179
182
|
return [...willOpenKeys];
|
|
180
183
|
}
|
|
181
184
|
|
|
182
|
-
getShouldOpenKeys(itemKeysMap: ItemKey2ParentKeysMap = {}, selectedKeys: string | number[]= []) {
|
|
185
|
+
getShouldOpenKeys(itemKeysMap: ItemKey2ParentKeysMap = {}, selectedKeys: (string | number)[] = []) {
|
|
183
186
|
const willOpenKeySet = new Set();
|
|
184
187
|
|
|
185
188
|
if (Array.isArray(selectedKeys) && selectedKeys.length) {
|
|
@@ -199,7 +202,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
|
|
|
199
202
|
|
|
200
203
|
destroy() {}
|
|
201
204
|
|
|
202
|
-
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap,
|
|
205
|
+
selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap, itemKeys: (string | number)[]) {
|
|
203
206
|
const _itemKeysMap = isNullOrUndefined(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
|
|
204
207
|
// console.log(itemKeysMap);
|
|
205
208
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-foundation",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.55.0-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build:lib": "node ./scripts/compileLib.js",
|
|
7
7
|
"prepublishOnly": "npm run build:lib"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@douyinfe/semi-animation": "2.
|
|
10
|
+
"@douyinfe/semi-animation": "2.55.0-beta.0",
|
|
11
11
|
"async-validator": "^3.5.0",
|
|
12
12
|
"classnames": "^2.2.6",
|
|
13
13
|
"date-fns": "^2.29.3",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"*.scss",
|
|
25
25
|
"*.css"
|
|
26
26
|
],
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "1b20ba60f41785e247a71987235b5f3bbd577ff0",
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/plugin-transform-runtime": "^7.15.8",
|
|
30
30
|
"@babel/preset-env": "^7.15.8",
|