@gravity-ui/dashkit 6.6.1 → 6.7.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/build/cjs/components/Item/Item.d.ts +2 -2
- package/build/cjs/hocs/prepareItem.d.ts +2 -2
- package/build/cjs/hocs/prepareItem.js +2 -2
- package/build/cjs/hocs/withContext.js +2 -1
- package/build/cjs/shared/modules/helpers.d.ts +0 -9
- package/build/cjs/shared/modules/helpers.js +1 -22
- package/build/cjs/shared/modules/state-and-params.js +3 -21
- package/build/cjs/shared/types/state-and-params.d.ts +3 -0
- package/build/cjs/shared/units/__tests__/state-and-params.test.js +71 -0
- package/build/cjs/typings/plugin.d.ts +2 -2
- package/build/cjs/utils/__tests__/update-manager.test.d.ts +1 -0
- package/build/cjs/utils/__tests__/update-manager.test.js +476 -0
- package/build/cjs/utils/update-manager.d.ts +3 -2
- package/build/cjs/utils/update-manager.js +24 -10
- package/build/esm/components/Item/Item.d.ts +2 -2
- package/build/esm/hocs/prepareItem.d.ts +2 -2
- package/build/esm/hocs/prepareItem.js +2 -2
- package/build/esm/hocs/withContext.js +2 -1
- package/build/esm/shared/modules/helpers.d.ts +0 -9
- package/build/esm/shared/modules/helpers.js +0 -20
- package/build/esm/shared/modules/state-and-params.js +4 -22
- package/build/esm/shared/types/state-and-params.d.ts +3 -0
- package/build/esm/shared/units/__tests__/state-and-params.test.js +71 -0
- package/build/esm/typings/plugin.d.ts +2 -2
- package/build/esm/utils/__tests__/update-manager.test.d.ts +1 -0
- package/build/esm/utils/__tests__/update-manager.test.js +474 -0
- package/build/esm/utils/update-manager.d.ts +3 -2
- package/build/esm/utils/update-manager.js +24 -10
- package/package.json +1 -1
- package/build/cjs/utils/__tests__/mock.test.d.ts +0 -1
- package/build/cjs/utils/__tests__/mock.test.js +0 -8
- package/build/esm/utils/__tests__/mock.test.d.ts +0 -1
- package/build/esm/utils/__tests__/mock.test.js +0 -8
|
@@ -65,9 +65,13 @@ function getAllowableChangedParams(item, stateAndParams, itemsStateAndParams, pa
|
|
|
65
65
|
const paramsTypeName = (paramsSettings === null || paramsSettings === void 0 ? void 0 : paramsSettings.type) || 'params';
|
|
66
66
|
const isActionParamsMode = paramsTypeName === 'actionParams';
|
|
67
67
|
let allowedParams = {};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
:
|
|
68
|
+
if (isActionParamsMode) {
|
|
69
|
+
allowedParams = pickActionParamsFromParams(stateAndParams.params, false);
|
|
70
|
+
return (paramsSettings === null || paramsSettings === void 0 ? void 0 : paramsSettings.returnPrefix)
|
|
71
|
+
? transformParamsToActionParams(allowedParams)
|
|
72
|
+
: allowedParams;
|
|
73
|
+
}
|
|
74
|
+
const stateParamsConf = stateAndParams.params;
|
|
71
75
|
if (isItemWithTabs(item)) {
|
|
72
76
|
let tab;
|
|
73
77
|
if ('state' in stateAndParams && ((_a = stateAndParams.state) === null || _a === void 0 ? void 0 : _a.tabId)) {
|
|
@@ -85,11 +89,6 @@ function getAllowableChangedParams(item, stateAndParams, itemsStateAndParams, pa
|
|
|
85
89
|
if (Object.keys(allowedParams || {}).length !== Object.keys(stateParamsConf || {}).length) {
|
|
86
90
|
console.warn('Параметры, которых нет в defaults, будут проигнорированы!');
|
|
87
91
|
}
|
|
88
|
-
if (isActionParamsMode) {
|
|
89
|
-
return (paramsSettings === null || paramsSettings === void 0 ? void 0 : paramsSettings.returnPrefix)
|
|
90
|
-
? transformParamsToActionParams(allowedParams)
|
|
91
|
-
: allowedParams;
|
|
92
|
-
}
|
|
93
92
|
return allowedParams;
|
|
94
93
|
}
|
|
95
94
|
function changeStateAndParamsVersion1({ id: initiatorId, config, stateAndParams, itemsStateAndParams, }) {
|
|
@@ -229,7 +228,7 @@ export class UpdateManager {
|
|
|
229
228
|
},
|
|
230
229
|
});
|
|
231
230
|
}
|
|
232
|
-
static changeStateAndParams({ id: initiatorId, config, stateAndParams, itemsStateAndParams, }) {
|
|
231
|
+
static changeStateAndParams({ id: initiatorId, config, stateAndParams, itemsStateAndParams, options, }) {
|
|
233
232
|
var _a, _b;
|
|
234
233
|
if (getCurrentVersion(itemsStateAndParams) === 1) {
|
|
235
234
|
return changeStateAndParamsVersion1({
|
|
@@ -239,6 +238,7 @@ export class UpdateManager {
|
|
|
239
238
|
itemsStateAndParams,
|
|
240
239
|
});
|
|
241
240
|
}
|
|
241
|
+
const action = options === null || options === void 0 ? void 0 : options.action;
|
|
242
242
|
const hasState = 'state' in stateAndParams;
|
|
243
243
|
const { items } = config;
|
|
244
244
|
const itemsIds = items.map(({ id: itemId }) => itemId);
|
|
@@ -248,6 +248,20 @@ export class UpdateManager {
|
|
|
248
248
|
const newTabId = (_a = stateAndParams.state) === null || _a === void 0 ? void 0 : _a.tabId;
|
|
249
249
|
const isTabSwitched = isItemWithTabs(initiatorItem) && Boolean(newTabId);
|
|
250
250
|
const currentMeta = getItemsStateAndParamsMeta(itemsStateAndParams);
|
|
251
|
+
if (action === 'removeItem') {
|
|
252
|
+
return update(itemsStateAndParams, {
|
|
253
|
+
$unset: [...unusedIds, initiatorId],
|
|
254
|
+
[META_KEY]: {
|
|
255
|
+
$set: currentMeta
|
|
256
|
+
? deleteFromQueue({
|
|
257
|
+
id: initiatorId,
|
|
258
|
+
itemsStateAndParams,
|
|
259
|
+
config,
|
|
260
|
+
})
|
|
261
|
+
: getInitialItemsStateAndParamsMeta(),
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
}
|
|
251
265
|
if ('params' in stateAndParams) {
|
|
252
266
|
const allowableParams = getAllowableChangedParams(initiatorItem, stateAndParams, itemsStateAndParams);
|
|
253
267
|
const allowableActionParams = getAllowableChangedParams(initiatorItem, stateAndParams, itemsStateAndParams, { type: 'actionParams', returnPrefix: true });
|
|
@@ -258,7 +272,7 @@ export class UpdateManager {
|
|
|
258
272
|
let commandUpdateParams = ((_b = itemsStateAndParams[initiatorId]) === null || _b === void 0 ? void 0 : _b.params)
|
|
259
273
|
? '$merge'
|
|
260
274
|
: '$set';
|
|
261
|
-
if (isTabSwitched) {
|
|
275
|
+
if (isTabSwitched || action === 'setParams') {
|
|
262
276
|
commandUpdateParams = '$set';
|
|
263
277
|
}
|
|
264
278
|
const obj = {
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|