@gravity-ui/dashkit 10.1.3 → 10.3.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/README.md +95 -19
- package/build/cjs/components/ActionPanel/ActionPanel.d.ts +3 -2
- package/build/cjs/components/DashKit/DashKit.d.ts +13 -3
- package/build/cjs/components/DashKit/DashKit.js +55 -7
- package/build/cjs/components/DashKit/DashKit.js.map +1 -1
- package/build/cjs/components/DashKit/__tests__/controlled-layout.test.d.ts +4 -0
- package/build/cjs/components/DashKit/__tests__/controlled-layout.test.js +196 -0
- package/build/cjs/components/DashKit/__tests__/controlled-layout.test.js.map +1 -0
- package/build/cjs/components/DashKit/__tests__/events.test.d.ts +1 -0
- package/build/cjs/components/DashKit/__tests__/events.test.js +227 -0
- package/build/cjs/components/DashKit/__tests__/events.test.js.map +1 -0
- package/build/cjs/components/DashKitView/DashKitView.d.ts +1 -1
- package/build/cjs/components/DashKitView/DashKitView.js +1 -3
- package/build/cjs/components/DashKitView/DashKitView.js.map +1 -1
- package/build/cjs/components/GridLayout/GridLayout.d.ts +3 -3
- package/build/cjs/components/GridLayout/GroupLayout.js +2 -2
- package/build/cjs/components/GridLayout/GroupLayout.js.map +1 -1
- package/build/cjs/components/GridLayout/ReactGridLayout.d.ts +1 -0
- package/build/cjs/components/GridLayout/ReactGridLayout.js +37 -0
- package/build/cjs/components/GridLayout/ReactGridLayout.js.map +1 -1
- package/build/cjs/components/MobileLayout/MobileLayout.d.ts +1 -1
- package/build/cjs/components/OverlayControls/OverlayControls.d.ts +1 -1
- package/build/cjs/components/OverlayControls/OverlayControls.js +1 -1
- package/build/cjs/components/OverlayControls/OverlayControls.js.map +1 -1
- package/build/cjs/context/DashKitContext.d.ts +1 -0
- package/build/cjs/context/DashKitContext.js.map +1 -1
- package/build/cjs/context/DashkitOverlayControlsContext.d.ts +1 -1
- package/build/cjs/context/DashkitOverlayControlsContext.js +2 -2
- package/build/cjs/context/DashkitOverlayControlsContext.js.map +1 -1
- package/build/cjs/hocs/withContext.d.ts +3 -3
- package/build/cjs/hocs/withContext.js +61 -31
- package/build/cjs/hocs/withContext.js.map +1 -1
- package/build/cjs/package.json +1 -1
- package/build/cjs/plugins/Text/Text.d.ts +1 -1
- package/build/cjs/plugins/Text/Text.js +1 -1
- package/build/cjs/plugins/Text/Text.js.map +1 -1
- package/build/cjs/plugins/Title/Title.d.ts +1 -1
- package/build/cjs/shared/types/config.d.ts +2 -0
- package/build/cjs/shared/types/config.js +9 -0
- package/build/cjs/shared/types/config.js.map +1 -1
- package/build/cjs/typings/events.d.ts +34 -0
- package/build/cjs/typings/events.js +3 -0
- package/build/cjs/typings/events.js.map +1 -0
- package/build/cjs/typings/index.d.ts +1 -0
- package/build/cjs/typings/index.js +1 -0
- package/build/cjs/typings/index.js.map +1 -1
- package/build/cjs/utils/__tests__/get-layout-patches.test.d.ts +1 -0
- package/build/cjs/utils/__tests__/get-layout-patches.test.js +51 -0
- package/build/cjs/utils/__tests__/get-layout-patches.test.js.map +1 -0
- package/build/cjs/utils/enrichLayoutWithDefaults.d.ts +5 -0
- package/build/cjs/utils/enrichLayoutWithDefaults.js +29 -0
- package/build/cjs/utils/enrichLayoutWithDefaults.js.map +1 -0
- package/build/cjs/utils/events.d.ts +10 -0
- package/build/cjs/utils/events.js +34 -0
- package/build/cjs/utils/events.js.map +1 -0
- package/build/cjs/utils/get-layout-patches.d.ts +3 -0
- package/build/cjs/utils/get-layout-patches.js +23 -0
- package/build/cjs/utils/get-layout-patches.js.map +1 -0
- package/build/cjs/utils/index.d.ts +3 -0
- package/build/cjs/utils/index.js +3 -0
- package/build/cjs/utils/index.js.map +1 -1
- package/build/cjs/utils/update-manager.js +2 -2
- package/build/cjs/utils/update-manager.js.map +1 -1
- package/build/esm/components/ActionPanel/ActionPanel.d.ts +3 -2
- package/build/esm/components/DashKit/DashKit.d.ts +13 -3
- package/build/esm/components/DashKit/DashKit.js +54 -6
- package/build/esm/components/DashKit/DashKit.js.map +1 -1
- package/build/esm/components/DashKit/__tests__/controlled-layout.test.d.ts +4 -0
- package/build/esm/components/DashKit/__tests__/controlled-layout.test.js +193 -0
- package/build/esm/components/DashKit/__tests__/controlled-layout.test.js.map +1 -0
- package/build/esm/components/DashKit/__tests__/events.test.d.ts +1 -0
- package/build/esm/components/DashKit/__tests__/events.test.js +225 -0
- package/build/esm/components/DashKit/__tests__/events.test.js.map +1 -0
- package/build/esm/components/DashKitView/DashKitView.d.ts +1 -1
- package/build/esm/components/DashKitView/DashKitView.js +1 -3
- package/build/esm/components/DashKitView/DashKitView.js.map +1 -1
- package/build/esm/components/GridLayout/GridLayout.d.ts +3 -3
- package/build/esm/components/GridLayout/GroupLayout.js +2 -2
- package/build/esm/components/GridLayout/GroupLayout.js.map +1 -1
- package/build/esm/components/GridLayout/ReactGridLayout.d.ts +1 -0
- package/build/esm/components/GridLayout/ReactGridLayout.js +37 -0
- package/build/esm/components/GridLayout/ReactGridLayout.js.map +1 -1
- package/build/esm/components/MobileLayout/MobileLayout.d.ts +1 -1
- package/build/esm/components/OverlayControls/OverlayControls.d.ts +1 -1
- package/build/esm/components/OverlayControls/OverlayControls.js +2 -2
- package/build/esm/components/OverlayControls/OverlayControls.js.map +1 -1
- package/build/esm/context/DashKitContext.d.ts +1 -0
- package/build/esm/context/DashKitContext.js.map +1 -1
- package/build/esm/context/DashkitOverlayControlsContext.d.ts +1 -1
- package/build/esm/context/DashkitOverlayControlsContext.js +1 -1
- package/build/esm/context/DashkitOverlayControlsContext.js.map +1 -1
- package/build/esm/hocs/withContext.d.ts +3 -3
- package/build/esm/hocs/withContext.js +64 -34
- package/build/esm/hocs/withContext.js.map +1 -1
- package/build/esm/package.json +1 -1
- package/build/esm/plugins/Text/Text.d.ts +1 -1
- package/build/esm/plugins/Text/Text.js +1 -1
- package/build/esm/plugins/Text/Text.js.map +1 -1
- package/build/esm/plugins/Title/Title.d.ts +1 -1
- package/build/esm/shared/types/config.d.ts +2 -0
- package/build/esm/shared/types/config.js +8 -1
- package/build/esm/shared/types/config.js.map +1 -1
- package/build/esm/typings/events.d.ts +34 -0
- package/build/esm/typings/events.js +2 -0
- package/build/esm/typings/events.js.map +1 -0
- package/build/esm/typings/index.d.ts +1 -0
- package/build/esm/typings/index.js +1 -0
- package/build/esm/typings/index.js.map +1 -1
- package/build/esm/utils/__tests__/get-layout-patches.test.d.ts +1 -0
- package/build/esm/utils/__tests__/get-layout-patches.test.js +49 -0
- package/build/esm/utils/__tests__/get-layout-patches.test.js.map +1 -0
- package/build/esm/utils/enrichLayoutWithDefaults.d.ts +5 -0
- package/build/esm/utils/enrichLayoutWithDefaults.js +25 -0
- package/build/esm/utils/enrichLayoutWithDefaults.js.map +1 -0
- package/build/esm/utils/events.d.ts +10 -0
- package/build/esm/utils/events.js +30 -0
- package/build/esm/utils/events.js.map +1 -0
- package/build/esm/utils/get-layout-patches.d.ts +3 -0
- package/build/esm/utils/get-layout-patches.js +19 -0
- package/build/esm/utils/get-layout-patches.js.map +1 -0
- package/build/esm/utils/index.d.ts +3 -0
- package/build/esm/utils/index.js +3 -0
- package/build/esm/utils/index.js.map +1 -1
- package/build/esm/utils/update-manager.js +3 -3
- package/build/esm/utils/update-manager.js.map +1 -1
- package/package.json +10 -9
- package/build/cjs/hooks/useCalcLayout.d.ts +0 -3
- package/build/cjs/hooks/useCalcLayout.js +0 -40
- package/build/cjs/hooks/useCalcLayout.js.map +0 -1
- package/build/esm/hooks/useCalcLayout.d.ts +0 -3
- package/build/esm/hooks/useCalcLayout.js +0 -35
- package/build/esm/hooks/useCalcLayout.js.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import isEqual from "lodash/isEqual.js";
|
|
3
|
-
import { getAllConfigItems } from "../shared/index.js";
|
|
4
|
-
function onUpdatePropsConfig(config, registerManager) {
|
|
5
|
-
const configItems = getAllConfigItems(config);
|
|
6
|
-
return config.layout.reduce((acc, itemLayout, i) => {
|
|
7
|
-
const item = configItems[i];
|
|
8
|
-
const foundItem = item && item.id === itemLayout.i
|
|
9
|
-
? item
|
|
10
|
-
: configItems.find((configItem) => configItem.id === itemLayout.i);
|
|
11
|
-
if (foundItem) {
|
|
12
|
-
acc.push(Object.assign(Object.assign({}, registerManager.getItem(foundItem.type).defaultLayout), itemLayout));
|
|
13
|
-
}
|
|
14
|
-
return acc;
|
|
15
|
-
}, []);
|
|
16
|
-
}
|
|
17
|
-
export const useCalcPropsLayout = (config, registerManager) => {
|
|
18
|
-
const [prevConfig, setPrevConfig] = React.useState(config);
|
|
19
|
-
const [layout, updateLayout] = React.useState(onUpdatePropsConfig(config, registerManager));
|
|
20
|
-
if (!isEqual(prevConfig.layout, config.layout)) {
|
|
21
|
-
setPrevConfig(config);
|
|
22
|
-
updateLayout(onUpdatePropsConfig(config, registerManager));
|
|
23
|
-
}
|
|
24
|
-
return layout;
|
|
25
|
-
};
|
|
26
|
-
// export const useManageLayout = (config: Config, registerManager: RegisterManager) => {
|
|
27
|
-
// const propsLayout = useCalcPropsLayout(config, registerManager);
|
|
28
|
-
// // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный
|
|
29
|
-
// // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,
|
|
30
|
-
// // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал
|
|
31
|
-
// // лэйаут без учета вижетов с активированной автовысотой, в момент "подстройки" высоты виджета значение h
|
|
32
|
-
// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts
|
|
33
|
-
// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);
|
|
34
|
-
// };
|
|
35
|
-
//# sourceMappingURL=useCalcLayout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCalcLayout.js","sourceRoot":"../../../src","sources":["hooks/useCalcLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,OAAO,0BAAuB;AAErC,OAAO,EAAkD,iBAAiB,EAAC,2BAAkB;AAG7F,SAAS,mBAAmB,CAAC,MAAc,EAAE,eAAgC;IACzE,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;QAC/D,MAAM,IAAI,GAA2B,WAAW,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GACX,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC;QAE3E,IAAI,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,iCACD,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,aAAa,GACrD,UAAU,EACf,CAAC;QACP,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,eAAgC,EAAE,EAAE;IACnF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5F,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,yFAAyF;AACzF,uEAAuE;AAEvE,qHAAqH;AACrH,0GAA0G;AAC1G,iHAAiH;AACjH,gHAAgH;AAChH,2GAA2G;AAC3G,6EAA6E;AAE7E,KAAK","sourcesContent":["import React from 'react';\n\nimport isEqual from 'lodash/isEqual';\n\nimport {type Config, type ConfigItem, type ConfigLayout, getAllConfigItems} from '../shared';\nimport {RegisterManager} from '../utils';\n\nfunction onUpdatePropsConfig(config: Config, registerManager: RegisterManager) {\n const configItems = getAllConfigItems(config);\n\n return config.layout.reduce<ConfigLayout[]>((acc, itemLayout, i) => {\n const item: ConfigItem | undefined = configItems[i];\n const foundItem =\n item && item.id === itemLayout.i\n ? item\n : configItems.find((configItem) => configItem.id === itemLayout.i);\n\n if (foundItem) {\n acc.push({\n ...registerManager.getItem(foundItem.type).defaultLayout,\n ...itemLayout,\n });\n }\n\n return acc;\n }, []);\n}\n\nexport const useCalcPropsLayout = (config: Config, registerManager: RegisterManager) => {\n const [prevConfig, setPrevConfig] = React.useState(config);\n\n const [layout, updateLayout] = React.useState(onUpdatePropsConfig(config, registerManager));\n\n if (!isEqual(prevConfig.layout, config.layout)) {\n setPrevConfig(config);\n updateLayout(onUpdatePropsConfig(config, registerManager));\n }\n\n return layout;\n};\n\n// export const useManageLayout = (config: Config, registerManager: RegisterManager) => {\n// const propsLayout = useCalcPropsLayout(config, registerManager);\n\n// // так как мы не хотим хранить параметры виджета с активированной автовысотой в сторе и на сервере, актуальный\n// // (видимый юзером в конкретный момент времени) лэйаут (массив объектов с данными о ширине, высоте,\n// // расположении конкретного виджета на сетке) будет храниться в стейте, но, для того, чтобы в стор попадал\n// // лэйаут без учета вижетов с активированной автовысотой, в момент \"подстройки\" высоты виджета значение h\n// // (высота) из конфига будет запоминаться в originalLayouts, новое значение высоты в adjustedLayouts\n// const [currentLayout, setCurrentLayout] = React.useState(propsLayout);\n\n// };\n"]}
|