@douyinfe/semi-foundation 2.54.1 → 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.
@@ -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: string): {
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, ...itemKeys: (string | number)[]): any[];
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;
@@ -141,10 +141,14 @@ class NavigationFoundation extends _foundation.default {
141
141
  selectedKeys,
142
142
  mode
143
143
  } = this.getProps();
144
+ const {
145
+ openKeys: stateOpenKeys = []
146
+ } = this.getStates();
144
147
  let willOpenKeys = openKeys || defaultOpenKeys || [];
145
148
  if (!(Array.isArray(defaultOpenKeys) || Array.isArray(openKeys)) && mode === _constants.strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))) {
146
149
  const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
147
- willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
150
+ willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
151
+ willOpenKeys = Array.from(new Set(willOpenKeys));
148
152
  }
149
153
  return [...willOpenKeys];
150
154
  }
@@ -165,13 +169,10 @@ class NavigationFoundation extends _foundation.default {
165
169
  return [...willOpenKeySet];
166
170
  }
167
171
  destroy() {}
168
- selectLevelZeroParentKeys(itemKeysMap) {
172
+ selectLevelZeroParentKeys(itemKeysMap, itemKeys) {
169
173
  const _itemKeysMap = (0, _isNullOrUndefined.default)(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
170
174
  // console.log(itemKeysMap);
171
175
  const willAddKeys = [];
172
- for (var _len2 = arguments.length, itemKeys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
173
- itemKeys[_key2 - 1] = arguments[_key2];
174
- }
175
176
  if (itemKeys.length) {
176
177
  for (const itemKey of itemKeys) {
177
178
  if (Array.isArray(_itemKeysMap[itemKey]) && _itemKeysMap[itemKey].length) {
@@ -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: string): {
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, ...itemKeys: (string | number)[]): any[];
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;
@@ -134,10 +134,14 @@ export default class NavigationFoundation extends BaseFoundation {
134
134
  selectedKeys,
135
135
  mode
136
136
  } = this.getProps();
137
+ const {
138
+ openKeys: stateOpenKeys = []
139
+ } = this.getStates();
137
140
  let willOpenKeys = openKeys || defaultOpenKeys || [];
138
141
  if (!(Array.isArray(defaultOpenKeys) || Array.isArray(openKeys)) && mode === strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))) {
139
142
  const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
140
- willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
143
+ willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
144
+ willOpenKeys = Array.from(new Set(willOpenKeys));
141
145
  }
142
146
  return [...willOpenKeys];
143
147
  }
@@ -158,13 +162,10 @@ export default class NavigationFoundation extends BaseFoundation {
158
162
  return [...willOpenKeySet];
159
163
  }
160
164
  destroy() {}
161
- selectLevelZeroParentKeys(itemKeysMap) {
165
+ selectLevelZeroParentKeys(itemKeysMap, itemKeys) {
162
166
  const _itemKeysMap = isNullOrUndefined(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
163
167
  // console.log(itemKeysMap);
164
168
  const willAddKeys = [];
165
- for (var _len2 = arguments.length, itemKeys = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
166
- itemKeys[_key2 - 1] = arguments[_key2];
167
- }
168
169
  if (itemKeys.length) {
169
170
  for (const itemKey of itemKeys) {
170
171
  if (Array.isArray(_itemKeysMap[itemKey]) && _itemKeysMap[itemKey].length) {
@@ -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: string) {
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();
@@ -168,6 +168,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
168
168
  */
169
169
  getWillOpenKeys(itemKeysMap: ItemKey2ParentKeysMap) {
170
170
  const { defaultOpenKeys, openKeys, defaultSelectedKeys, selectedKeys, mode } = this.getProps();
171
+ const { openKeys: stateOpenKeys = [] } = this.getStates();
171
172
 
172
173
  let willOpenKeys = openKeys || defaultOpenKeys || [];
173
174
  if (
@@ -175,12 +176,13 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
175
176
  Array.isArray(openKeys)) && mode === strings.MODE_VERTICAL && (Array.isArray(defaultSelectedKeys) || Array.isArray(selectedKeys))
176
177
  ) {
177
178
  const currentSelectedKeys = Array.isArray(selectedKeys) ? selectedKeys : defaultSelectedKeys;
178
- willOpenKeys = this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys);
179
+ willOpenKeys = stateOpenKeys.concat(this.getShouldOpenKeys(itemKeysMap, currentSelectedKeys));
180
+ willOpenKeys = Array.from(new Set(willOpenKeys));
179
181
  }
180
182
  return [...willOpenKeys];
181
183
  }
182
184
 
183
- getShouldOpenKeys(itemKeysMap: ItemKey2ParentKeysMap = {}, selectedKeys: string | number[]= []) {
185
+ getShouldOpenKeys(itemKeysMap: ItemKey2ParentKeysMap = {}, selectedKeys: (string | number)[] = []) {
184
186
  const willOpenKeySet = new Set();
185
187
 
186
188
  if (Array.isArray(selectedKeys) && selectedKeys.length) {
@@ -200,7 +202,7 @@ export default class NavigationFoundation<P = Record<string, any>, S = Record<st
200
202
 
201
203
  destroy() {}
202
204
 
203
- selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap, ...itemKeys: (string | number)[]) {
205
+ selectLevelZeroParentKeys(itemKeysMap: ItemKey2ParentKeysMap, itemKeys: (string | number)[]) {
204
206
  const _itemKeysMap = isNullOrUndefined(itemKeysMap) ? this.getState('itemKeysMap') : itemKeysMap;
205
207
  // console.log(itemKeysMap);
206
208
 
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@douyinfe/semi-foundation",
3
- "version": "2.54.1",
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.54.1",
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": "29a9d7e115640dd1e9d8559609d9e4ee44dcfd12",
27
+ "gitHead": "1b20ba60f41785e247a71987235b5f3bbd577ff0",
28
28
  "devDependencies": {
29
29
  "@babel/plugin-transform-runtime": "^7.15.8",
30
30
  "@babel/preset-env": "^7.15.8",