@gravity-ui/dashkit 4.0.0 → 4.1.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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.1.0](https://github.com/gravity-ui/dashkit/compare/v4.0.0...v4.1.0) (2023-01-31)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* remove preventDoubleCompact flag ([#37](https://github.com/gravity-ui/dashkit/issues/37)) ([9b95e61](https://github.com/gravity-ui/dashkit/commit/9b95e61b7939a9883fda832947e70728b8f66410))
|
|
9
|
+
|
|
3
10
|
## [4.0.0](https://github.com/gravity-ui/dashkit/compare/v3.5.0...v4.0.0) (2022-12-19)
|
|
4
11
|
|
|
5
12
|
|
package/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# @gravity-ui/dashkit · [](https://www.npmjs.com/package/@gravity-ui/dashkit) [](https://github.com/gravity-ui/dashkit/actions/workflows/ci.yaml?query=branch:main) [](https://preview.gravity-ui.com/dashkit/)
|
|
2
|
+
|
|
1
3
|
# DashKit
|
|
2
4
|
|
|
3
5
|
A dashboard grid rendering library.
|
|
@@ -21,7 +21,6 @@ interface DashKitDefaultProps {
|
|
|
21
21
|
overlayControls?: Record<string, OverlayControlItem[]>;
|
|
22
22
|
noOverlay?: boolean;
|
|
23
23
|
draggableHandleClassName?: string;
|
|
24
|
-
_EXPERIMENTAL_preventDoubleCompact?: boolean;
|
|
25
24
|
}
|
|
26
25
|
export interface DashKitProps extends DashKitGeneralProps, Partial<DashKitDefaultProps> {
|
|
27
26
|
}
|
|
@@ -7,8 +7,6 @@ const DashKitContext_1 = require("../context/DashKitContext");
|
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
8
|
const shared_1 = require("../shared");
|
|
9
9
|
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
10
|
-
const react_grid_layout_1 = require("react-grid-layout");
|
|
11
|
-
const LAYOUT_COMPACTING_TYPE = 'vertical';
|
|
12
10
|
function useMemoStateContext(props) {
|
|
13
11
|
// так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
|
|
14
12
|
// (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,
|
|
@@ -38,22 +36,14 @@ function useMemoStateContext(props) {
|
|
|
38
36
|
return Object.assign({}, item);
|
|
39
37
|
}
|
|
40
38
|
});
|
|
41
|
-
// [experimental] if the _prevent Double Compact is enabled, then skip recalculate layout with auto height
|
|
42
|
-
// после того, как у виждета активировали автовысоту и его параметр "h" изменился, это приведёт, также, и к
|
|
43
|
-
// изменению параметра (координаты) "y" у элементов расположенных под ним, поэтому, после того, как
|
|
44
|
-
// значения параметра "h" виджетов с активированной автовысотой были изменены, необходимо изменить и
|
|
45
|
-
// координату "y" виджетов расположенных ниже
|
|
46
|
-
const compactedLayout = props._EXPERIMENTAL_preventDoubleCompact
|
|
47
|
-
? currentInnerLayout
|
|
48
|
-
: react_grid_layout_1.utils.compact(currentInnerLayout, LAYOUT_COMPACTING_TYPE, props.registerManager.gridLayout.cols);
|
|
49
39
|
const newConfig = utils_1.UpdateManager.updateLayout({
|
|
50
|
-
layout:
|
|
40
|
+
layout: currentInnerLayout,
|
|
51
41
|
config: props.config,
|
|
52
42
|
});
|
|
53
43
|
if (!(0, isEqual_1.default)(newConfig.layout, props.config.layout)) {
|
|
54
44
|
onChange({ config: newConfig });
|
|
55
45
|
}
|
|
56
|
-
}, [props.
|
|
46
|
+
}, [props.config, onChange]);
|
|
57
47
|
const onItemRemove = react_1.default.useCallback((id) => {
|
|
58
48
|
onChange(utils_1.UpdateManager.removeItem({
|
|
59
49
|
id,
|
|
@@ -21,7 +21,6 @@ interface DashKitDefaultProps {
|
|
|
21
21
|
overlayControls?: Record<string, OverlayControlItem[]>;
|
|
22
22
|
noOverlay?: boolean;
|
|
23
23
|
draggableHandleClassName?: string;
|
|
24
|
-
_EXPERIMENTAL_preventDoubleCompact?: boolean;
|
|
25
24
|
}
|
|
26
25
|
export interface DashKitProps extends DashKitGeneralProps, Partial<DashKitDefaultProps> {
|
|
27
26
|
}
|
|
@@ -3,8 +3,6 @@ import { DashKitContext } from '../context/DashKitContext';
|
|
|
3
3
|
import { UpdateManager } from '../utils';
|
|
4
4
|
import { getItemsParams, getItemsState } from '../shared';
|
|
5
5
|
import isEqual from 'lodash/isEqual';
|
|
6
|
-
import { utils as gridLayoutUtils } from 'react-grid-layout';
|
|
7
|
-
const LAYOUT_COMPACTING_TYPE = 'vertical';
|
|
8
6
|
function useMemoStateContext(props) {
|
|
9
7
|
// так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
|
|
10
8
|
// (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,
|
|
@@ -34,22 +32,14 @@ function useMemoStateContext(props) {
|
|
|
34
32
|
return Object.assign({}, item);
|
|
35
33
|
}
|
|
36
34
|
});
|
|
37
|
-
// [experimental] if the _prevent Double Compact is enabled, then skip recalculate layout with auto height
|
|
38
|
-
// после того, как у виждета активировали автовысоту и его параметр "h" изменился, это приведёт, также, и к
|
|
39
|
-
// изменению параметра (координаты) "y" у элементов расположенных под ним, поэтому, после того, как
|
|
40
|
-
// значения параметра "h" виджетов с активированной автовысотой были изменены, необходимо изменить и
|
|
41
|
-
// координату "y" виджетов расположенных ниже
|
|
42
|
-
const compactedLayout = props._EXPERIMENTAL_preventDoubleCompact
|
|
43
|
-
? currentInnerLayout
|
|
44
|
-
: gridLayoutUtils.compact(currentInnerLayout, LAYOUT_COMPACTING_TYPE, props.registerManager.gridLayout.cols);
|
|
45
35
|
const newConfig = UpdateManager.updateLayout({
|
|
46
|
-
layout:
|
|
36
|
+
layout: currentInnerLayout,
|
|
47
37
|
config: props.config,
|
|
48
38
|
});
|
|
49
39
|
if (!isEqual(newConfig.layout, props.config.layout)) {
|
|
50
40
|
onChange({ config: newConfig });
|
|
51
41
|
}
|
|
52
|
-
}, [props.
|
|
42
|
+
}, [props.config, onChange]);
|
|
53
43
|
const onItemRemove = React.useCallback((id) => {
|
|
54
44
|
onChange(UpdateManager.removeItem({
|
|
55
45
|
id,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/dashkit",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Library for rendering dashboard grid layout",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"test": "jest",
|
|
29
29
|
"clean": "gulp clean",
|
|
30
30
|
"build": "gulp",
|
|
31
|
-
"start": "start-storybook -p 7120",
|
|
31
|
+
"start": "env TS_NODE_PROJECT=.storybook/tsconfig.json start-storybook -p 7120",
|
|
32
32
|
"typecheck": "tsc --noEmit",
|
|
33
|
-
"build-storybook": "build-storybook -c .storybook -o storybook-static",
|
|
33
|
+
"build-storybook": "env TS_NODE_PROJECT=.storybook/tsconfig.json build-storybook -c .storybook -o storybook-static",
|
|
34
34
|
"prepare": "husky install",
|
|
35
35
|
"prepublishOnly": "npm run lint && npm run test && npm run build"
|
|
36
36
|
},
|