@gravity-ui/dashkit 8.4.0 → 8.5.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/GridLayout/GridLayout.d.ts +1 -1
- package/build/cjs/components/GridLayout/GridLayout.js +6 -3
- package/build/cjs/typings/config.d.ts +3 -0
- package/build/esm/components/GridLayout/GridLayout.d.ts +1 -1
- package/build/esm/components/GridLayout/GridLayout.js +6 -3
- package/build/esm/typings/config.d.ts +3 -0
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@ export default class GridLayout extends React.PureComponent<any, any, any> {
|
|
|
26
26
|
_onDropDragOver: (e: any) => any;
|
|
27
27
|
_onDrop: (group: any, newLayout: any, item: any, e: any) => false | undefined;
|
|
28
28
|
renderTemporaryPlaceholder(): JSX.Element | null;
|
|
29
|
-
renderGroup(group: any, renderLayout: any, renderItems: any, offset
|
|
29
|
+
renderGroup(group: any, renderLayout: any, renderItems: any, offset: number | undefined, groupGridProperties: any): JSX.Element;
|
|
30
30
|
render(): any;
|
|
31
31
|
}
|
|
32
32
|
import React from 'react';
|
|
@@ -131,9 +131,12 @@ class GridLayout extends react_1.default.PureComponent {
|
|
|
131
131
|
const { type } = temporaryLayout.dragProps;
|
|
132
132
|
return (react_1.default.createElement(GridItem_1.default, { key: id, id: id, item: { id, type, data: {} }, layout: temporaryLayout.data, adjustWidgetLayout: this.adjustWidgetLayout, isDragging: this.state.isDragging, isPlaceholder: true, noOverlay: noOverlay, withCustomHandle: Boolean(draggableHandleClassName), overlayControls: this.props.overlayControls }));
|
|
133
133
|
}
|
|
134
|
-
renderGroup(group, renderLayout, renderItems, offset = 0) {
|
|
134
|
+
renderGroup(group, renderLayout, renderItems, offset = 0, groupGridProperties) {
|
|
135
135
|
const { registerManager, editMode, noOverlay, focusable, draggableHandleClassName, outerDnDEnable, } = this.context;
|
|
136
|
-
|
|
136
|
+
const properties = groupGridProperties
|
|
137
|
+
? groupGridProperties(Object.assign({}, registerManager.gridLayout))
|
|
138
|
+
: registerManager.gridLayout;
|
|
139
|
+
return (react_1.default.createElement(ReactGridLayout_1.Layout, Object.assign({}, properties, { layout: renderLayout, key: `group_${group}`, isDraggable: editMode, isResizable: editMode, onDragStart: this._onStart, onDragStop: (...args) => this._onStop(group, ...args), onResizeStart: this._onStart, onResizeStop: (...args) => this._onStop(group, ...args) }, (draggableHandleClassName
|
|
137
140
|
? { draggableHandle: `.${draggableHandleClassName}` }
|
|
138
141
|
: null), (outerDnDEnable
|
|
139
142
|
? {
|
|
@@ -194,7 +197,7 @@ class GridLayout extends react_1.default.PureComponent {
|
|
|
194
197
|
layout = groupedLayout[id] || [];
|
|
195
198
|
items = itemsByGroup[id] || [];
|
|
196
199
|
}
|
|
197
|
-
const element = this.renderGroup(id, layout, items, offset);
|
|
200
|
+
const element = this.renderGroup(id, layout, items, offset, group.gridProperties);
|
|
198
201
|
offset += items.length;
|
|
199
202
|
if (group.render) {
|
|
200
203
|
return group.render(id, element, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react-grid-layout" />
|
|
1
2
|
/// <reference types="react" />
|
|
2
3
|
import type { Config, ConfigItem, ConfigLayout } from '../shared';
|
|
3
4
|
export interface AddConfigItem extends Omit<ConfigItem, 'id' | 'namespace'> {
|
|
@@ -18,7 +19,9 @@ export interface DashkitGroupRenderProps {
|
|
|
18
19
|
items: ConfigItem[];
|
|
19
20
|
layout: ConfigLayout[];
|
|
20
21
|
}
|
|
22
|
+
export type ReactGridLayoutProps = Omit<ReactGridLayout.ReactGridLayoutProps, 'children' | 'innerRef' | 'key' | 'layout' | 'isDraggable' | 'isResizable' | 'onDragStart' | 'onDragStop' | 'onResizeStart' | 'onResizeStop' | 'draggableHandle' | 'isDroppable' | 'onDropDragOver' | 'onDrop' | 'draggableCancel'>;
|
|
21
23
|
export interface DashKitGroup {
|
|
22
24
|
id?: string;
|
|
23
25
|
render?: (id: string, children: React.ReactNode, props: DashkitGroupRenderProps) => React.ReactNode;
|
|
26
|
+
gridProperties?: (props: ReactGridLayoutProps) => ReactGridLayoutProps;
|
|
24
27
|
}
|
|
@@ -26,7 +26,7 @@ export default class GridLayout extends React.PureComponent<any, any, any> {
|
|
|
26
26
|
_onDropDragOver: (e: any) => any;
|
|
27
27
|
_onDrop: (group: any, newLayout: any, item: any, e: any) => false | undefined;
|
|
28
28
|
renderTemporaryPlaceholder(): JSX.Element | null;
|
|
29
|
-
renderGroup(group: any, renderLayout: any, renderItems: any, offset
|
|
29
|
+
renderGroup(group: any, renderLayout: any, renderItems: any, offset: number | undefined, groupGridProperties: any): JSX.Element;
|
|
30
30
|
render(): any;
|
|
31
31
|
}
|
|
32
32
|
import React from 'react';
|
|
@@ -128,9 +128,12 @@ class GridLayout extends React.PureComponent {
|
|
|
128
128
|
const { type } = temporaryLayout.dragProps;
|
|
129
129
|
return (React.createElement(GridItem, { key: id, id: id, item: { id, type, data: {} }, layout: temporaryLayout.data, adjustWidgetLayout: this.adjustWidgetLayout, isDragging: this.state.isDragging, isPlaceholder: true, noOverlay: noOverlay, withCustomHandle: Boolean(draggableHandleClassName), overlayControls: this.props.overlayControls }));
|
|
130
130
|
}
|
|
131
|
-
renderGroup(group, renderLayout, renderItems, offset = 0) {
|
|
131
|
+
renderGroup(group, renderLayout, renderItems, offset = 0, groupGridProperties) {
|
|
132
132
|
const { registerManager, editMode, noOverlay, focusable, draggableHandleClassName, outerDnDEnable, } = this.context;
|
|
133
|
-
|
|
133
|
+
const properties = groupGridProperties
|
|
134
|
+
? groupGridProperties(Object.assign({}, registerManager.gridLayout))
|
|
135
|
+
: registerManager.gridLayout;
|
|
136
|
+
return (React.createElement(Layout, Object.assign({}, properties, { layout: renderLayout, key: `group_${group}`, isDraggable: editMode, isResizable: editMode, onDragStart: this._onStart, onDragStop: (...args) => this._onStop(group, ...args), onResizeStart: this._onStart, onResizeStop: (...args) => this._onStop(group, ...args) }, (draggableHandleClassName
|
|
134
137
|
? { draggableHandle: `.${draggableHandleClassName}` }
|
|
135
138
|
: null), (outerDnDEnable
|
|
136
139
|
? {
|
|
@@ -191,7 +194,7 @@ class GridLayout extends React.PureComponent {
|
|
|
191
194
|
layout = groupedLayout[id] || [];
|
|
192
195
|
items = itemsByGroup[id] || [];
|
|
193
196
|
}
|
|
194
|
-
const element = this.renderGroup(id, layout, items, offset);
|
|
197
|
+
const element = this.renderGroup(id, layout, items, offset, group.gridProperties);
|
|
195
198
|
offset += items.length;
|
|
196
199
|
if (group.render) {
|
|
197
200
|
return group.render(id, element, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react-grid-layout" />
|
|
1
2
|
/// <reference types="react" />
|
|
2
3
|
import type { Config, ConfigItem, ConfigLayout } from '../shared';
|
|
3
4
|
export interface AddConfigItem extends Omit<ConfigItem, 'id' | 'namespace'> {
|
|
@@ -18,7 +19,9 @@ export interface DashkitGroupRenderProps {
|
|
|
18
19
|
items: ConfigItem[];
|
|
19
20
|
layout: ConfigLayout[];
|
|
20
21
|
}
|
|
22
|
+
export type ReactGridLayoutProps = Omit<ReactGridLayout.ReactGridLayoutProps, 'children' | 'innerRef' | 'key' | 'layout' | 'isDraggable' | 'isResizable' | 'onDragStart' | 'onDragStop' | 'onResizeStart' | 'onResizeStop' | 'draggableHandle' | 'isDroppable' | 'onDropDragOver' | 'onDrop' | 'draggableCancel'>;
|
|
21
23
|
export interface DashKitGroup {
|
|
22
24
|
id?: string;
|
|
23
25
|
render?: (id: string, children: React.ReactNode, props: DashkitGroupRenderProps) => React.ReactNode;
|
|
26
|
+
gridProperties?: (props: ReactGridLayoutProps) => ReactGridLayoutProps;
|
|
24
27
|
}
|