@gravity-ui/dashkit 8.22.0 → 8.22.1-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.
- package/build/cjs/components/DashKit/DashKit.d.ts +14 -12
- package/build/cjs/components/DashKit/DashKit.js +2 -2
- package/build/cjs/components/DashKitDnDWrapper/DashKitDnDWrapper.js +2 -2
- package/build/cjs/components/DashKitView/DashKitView.js +2 -2
- package/build/cjs/components/GridItem/GridItem.js +2 -2
- package/build/cjs/components/GridLayout/GridLayout.d.ts +1 -1
- package/build/cjs/components/GridLayout/GridLayout.js +4 -3
- package/build/cjs/components/Item/Item.d.ts +2 -1
- package/build/cjs/components/MobileLayout/MobileLayout.d.ts +28 -21
- package/build/cjs/components/MobileLayout/MobileLayout.js +60 -47
- package/build/cjs/components/OverlayControls/OverlayControls.d.ts +4 -16
- package/build/cjs/components/OverlayControls/OverlayControls.js +8 -9
- package/build/cjs/context/DashKitContext.d.ts +30 -3
- package/build/cjs/context/DashKitContext.js +2 -6
- package/build/cjs/context/DashKitDnDContext.d.ts +10 -0
- package/build/cjs/context/DashKitDnDContext.js +6 -0
- package/build/cjs/context/DashkitOverlayControlsContext.d.ts +13 -0
- package/build/cjs/context/DashkitOverlayControlsContext.js +6 -0
- package/build/cjs/context/index.d.ts +3 -0
- package/build/cjs/context/index.js +6 -0
- package/build/cjs/hocs/prepareItem.d.ts +2 -1
- package/build/cjs/hocs/prepareItem.js +2 -2
- package/build/cjs/hocs/withContext.js +23 -20
- package/build/cjs/hooks/useDnDItemProps.js +2 -2
- package/build/cjs/shared/modules/helpers.d.ts +1 -1
- package/build/cjs/shared/modules/helpers.js +1 -1
- package/build/cjs/shared/types/state-and-params.d.ts +2 -1
- package/build/cjs/typings/config.d.ts +1 -0
- package/build/esm/components/DashKit/DashKit.d.ts +14 -12
- package/build/esm/components/DashKit/DashKit.js +1 -1
- package/build/esm/components/DashKitDnDWrapper/DashKitDnDWrapper.js +1 -1
- package/build/esm/components/DashKitView/DashKitView.js +1 -1
- package/build/esm/components/GridItem/GridItem.js +1 -1
- package/build/esm/components/GridLayout/GridLayout.d.ts +1 -1
- package/build/esm/components/GridLayout/GridLayout.js +3 -2
- package/build/esm/components/Item/Item.d.ts +2 -1
- package/build/esm/components/MobileLayout/MobileLayout.d.ts +29 -21
- package/build/esm/components/MobileLayout/MobileLayout.js +59 -46
- package/build/esm/components/OverlayControls/OverlayControls.d.ts +4 -16
- package/build/esm/components/OverlayControls/OverlayControls.js +7 -8
- package/build/esm/context/DashKitContext.d.ts +30 -3
- package/build/esm/context/DashKitContext.js +2 -4
- package/build/esm/context/DashKitDnDContext.d.ts +10 -0
- package/build/esm/context/DashKitDnDContext.js +2 -0
- package/build/esm/context/DashkitOverlayControlsContext.d.ts +13 -0
- package/build/esm/context/DashkitOverlayControlsContext.js +2 -0
- package/build/esm/context/index.d.ts +3 -0
- package/build/esm/context/index.js +3 -0
- package/build/esm/hocs/prepareItem.d.ts +2 -1
- package/build/esm/hocs/prepareItem.js +1 -1
- package/build/esm/hocs/withContext.js +20 -17
- package/build/esm/hooks/useDnDItemProps.js +1 -1
- package/build/esm/shared/modules/helpers.d.ts +1 -1
- package/build/esm/shared/modules/helpers.js +1 -1
- package/build/esm/shared/types/state-and-params.d.ts +2 -1
- package/build/esm/typings/config.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { DashKitProps } from '../components';
|
|
3
|
+
import type { ConfigLayout, ItemParams, ItemState } from '../shared';
|
|
4
|
+
import type { MenuItem } from '../typings';
|
|
5
|
+
export type OverlayControlsCtxShape = Pick<DashKitProps, 'context' | 'overlayControls' | 'itemsStateAndParams' | 'getPreparedCopyItemOptions' | 'onCopyFulfill'> & {
|
|
6
|
+
menu: DashKitProps['overlayMenuItems'] | MenuItem[];
|
|
7
|
+
itemsState?: Record<string, ItemState>;
|
|
8
|
+
itemsParams: Record<string, ItemParams>;
|
|
9
|
+
editItem: DashKitProps['onItemEdit'];
|
|
10
|
+
removeItem: (id: string) => void;
|
|
11
|
+
getLayoutItem: (id: string) => ConfigLayout | void;
|
|
12
|
+
};
|
|
13
|
+
export declare const DashkitOvelayControlsContext: React.Context<void | OverlayControlsCtxShape>;
|
|
@@ -66,6 +66,7 @@ export function prepareItem(Component: any): {
|
|
|
66
66
|
onItemMountChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
67
67
|
forwardedPluginRef: PropTypes.Requireable<any>;
|
|
68
68
|
};
|
|
69
|
-
contextType: React.Context<
|
|
69
|
+
contextType: React.Context<import("../context").DashKitCtxShape>;
|
|
70
70
|
};
|
|
71
71
|
import React from 'react';
|
|
72
|
+
import PropTypes from 'prop-types';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import isEqual from 'lodash/isEqual';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { DashKitContext } from '../context
|
|
4
|
+
import { DashKitContext } from '../context';
|
|
5
5
|
export function prepareItem(Component) {
|
|
6
6
|
var _a;
|
|
7
7
|
return _a = class PrepareItem extends React.Component {
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import isEqual from 'lodash/isEqual';
|
|
4
4
|
import pick from 'lodash/pick';
|
|
5
5
|
import { COMPACT_TYPE_HORIZONTAL_NOWRAP, DEFAULT_GROUP, DEFAULT_WIDGET_HEIGHT, DEFAULT_WIDGET_WIDTH, TEMPORARY_ITEM_ID, } from '../constants/common';
|
|
6
|
-
import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext
|
|
6
|
+
import { DashKitContext, DashKitDnDContext, DashkitOvelayControlsContext } from '../context';
|
|
7
7
|
import { useDeepEqualMemo } from '../hooks/useDeepEqualMemo';
|
|
8
8
|
import { getItemsParams, getItemsState } from '../shared';
|
|
9
9
|
import { UpdateManager, resolveLayoutGroup } from '../utils';
|
|
@@ -283,6 +283,7 @@ function useMemoStateContext(props) {
|
|
|
283
283
|
}
|
|
284
284
|
return itemLayout;
|
|
285
285
|
}, [
|
|
286
|
+
props.registerManager,
|
|
286
287
|
resetTemporaryLayout,
|
|
287
288
|
temporaryLayout,
|
|
288
289
|
dragOverPlugin,
|
|
@@ -311,8 +312,6 @@ function useMemoStateContext(props) {
|
|
|
311
312
|
});
|
|
312
313
|
}, [dragPropsContext, onDropProp, setTemporaryLayout, resetTemporaryLayout]);
|
|
313
314
|
const dashkitContextValue = React.useMemo(() => ({
|
|
314
|
-
layout: resultLayout,
|
|
315
|
-
temporaryLayout,
|
|
316
315
|
config: props.config,
|
|
317
316
|
groups: props.groups,
|
|
318
317
|
context: props.context,
|
|
@@ -322,24 +321,26 @@ function useMemoStateContext(props) {
|
|
|
322
321
|
globalParams: props.globalParams,
|
|
323
322
|
editMode: props.editMode,
|
|
324
323
|
settings: props.settings,
|
|
325
|
-
itemsState,
|
|
326
|
-
itemsParams,
|
|
327
|
-
registerManager: props.registerManager,
|
|
328
|
-
onItemStateAndParamsChange,
|
|
329
|
-
onDrop,
|
|
330
|
-
onDropDragOver,
|
|
331
324
|
onItemMountChange: props.onItemMountChange,
|
|
332
325
|
onItemRender: props.onItemRender,
|
|
326
|
+
draggableHandleClassName: props.draggableHandleClassName,
|
|
327
|
+
registerManager: props.registerManager,
|
|
328
|
+
forwardedMetaRef: props.forwardedMetaRef,
|
|
329
|
+
layout: resultLayout,
|
|
330
|
+
temporaryLayout,
|
|
333
331
|
layoutChange: onLayoutChange,
|
|
334
|
-
getItemsMeta,
|
|
335
|
-
reloadItems,
|
|
336
332
|
memorizeOriginalLayout,
|
|
337
333
|
revertToOriginalLayout,
|
|
338
|
-
|
|
339
|
-
|
|
334
|
+
itemsState,
|
|
335
|
+
itemsParams,
|
|
336
|
+
onItemStateAndParamsChange,
|
|
337
|
+
getItemsMeta,
|
|
338
|
+
reloadItems,
|
|
339
|
+
onDrop,
|
|
340
|
+
onDropDragOver,
|
|
340
341
|
outerDnDEnable,
|
|
341
342
|
dragOverPlugin,
|
|
342
|
-
/* default
|
|
343
|
+
/* default handlers bypass */
|
|
343
344
|
onDragStart: props.onDragStart,
|
|
344
345
|
onDrag: props.onDrag,
|
|
345
346
|
onDragStop: props.onDragStop,
|
|
@@ -385,14 +386,15 @@ function useMemoStateContext(props) {
|
|
|
385
386
|
const controlsContextValue = React.useMemo(() => ({
|
|
386
387
|
overlayControls: props.overlayControls,
|
|
387
388
|
context: props.context,
|
|
388
|
-
menu: overlayMenuItems,
|
|
389
389
|
itemsStateAndParams: props.itemsStateAndParams,
|
|
390
|
+
itemsState,
|
|
390
391
|
itemsParams,
|
|
392
|
+
getPreparedCopyItemOptions: props.getPreparedCopyItemOptions,
|
|
393
|
+
onCopyFulfill: props.onCopyFulfill,
|
|
394
|
+
menu: overlayMenuItems,
|
|
391
395
|
editItem: props.onItemEdit,
|
|
392
396
|
removeItem: onItemRemove,
|
|
393
397
|
getLayoutItem: getLayoutItem,
|
|
394
|
-
getPreparedCopyItemOptions: props.getPreparedCopyItemOptions,
|
|
395
|
-
onCopyFulfill: props.onCopyFulfill,
|
|
396
398
|
}), [
|
|
397
399
|
props.overlayControls,
|
|
398
400
|
props.context,
|
|
@@ -401,6 +403,7 @@ function useMemoStateContext(props) {
|
|
|
401
403
|
props.getPreparedCopyItemOptions,
|
|
402
404
|
props.onCopyFulfill,
|
|
403
405
|
overlayMenuItems,
|
|
406
|
+
itemsState,
|
|
404
407
|
itemsParams,
|
|
405
408
|
onItemRemove,
|
|
406
409
|
getLayoutItem,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { DashKitDnDContext } from '../context
|
|
2
|
+
import { DashKitDnDContext } from '../context';
|
|
3
3
|
export const useDnDItemProps = (item) => {
|
|
4
4
|
const dragContext = React.useContext(DashKitDnDContext);
|
|
5
5
|
const onDragStart = React.useCallback((e) => {
|
|
@@ -18,7 +18,7 @@ export declare function formQueueData({ items, itemsStateAndParams, }: {
|
|
|
18
18
|
}): FormedQueueData[];
|
|
19
19
|
export declare function resolveItemInnerId({ item, itemsStateAndParams, }: {
|
|
20
20
|
item: Pick<ConfigItemWithTabs, 'data' | 'id'>;
|
|
21
|
-
itemsStateAndParams
|
|
21
|
+
itemsStateAndParams?: ItemsStateAndParams;
|
|
22
22
|
}): string;
|
|
23
23
|
export declare function getMapItemsIgnores({ items, ignores, itemsStateAndParams, isFirstVersion, }: {
|
|
24
24
|
items: (ConfigItem | ConfigItemGroup)[];
|
|
@@ -108,7 +108,7 @@ export function formQueueData({ items, itemsStateAndParams, }) {
|
|
|
108
108
|
export function resolveItemInnerId({ item, itemsStateAndParams, }) {
|
|
109
109
|
var _a, _b;
|
|
110
110
|
const { id } = item;
|
|
111
|
-
const stateTabId = (_b = (_a = itemsStateAndParams[id]) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.tabId;
|
|
111
|
+
const stateTabId = (_b = (_a = itemsStateAndParams === null || itemsStateAndParams === void 0 ? void 0 : itemsStateAndParams[id]) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.tabId;
|
|
112
112
|
const { tabs } = item.data;
|
|
113
113
|
if (stateTabId && tabs.some((tab) => tab.id === stateTabId)) {
|
|
114
114
|
return stateTabId;
|
|
@@ -3,6 +3,7 @@ import { StringParams } from './common';
|
|
|
3
3
|
export interface ItemState {
|
|
4
4
|
[key: string]: any;
|
|
5
5
|
}
|
|
6
|
+
export type ItemParams = StringParams | Record<string, StringParams>;
|
|
6
7
|
export interface QueueItem {
|
|
7
8
|
id: string;
|
|
8
9
|
tabId?: string;
|
|
@@ -16,7 +17,7 @@ export type StateAndParamsMeta = {
|
|
|
16
17
|
[META_KEY]: StateAndParamsMetaData;
|
|
17
18
|
};
|
|
18
19
|
export type ItemStateAndParams = {
|
|
19
|
-
params?:
|
|
20
|
+
params?: ItemParams;
|
|
20
21
|
state?: ItemState;
|
|
21
22
|
};
|
|
22
23
|
export type ItemStateAndParamsChangeOptions = {
|