@@ -12,14 +12,13 @@ import {
1212 ExtendedTemplateConfig ,
1313 AnalyticsTracker ,
1414 WidgetConfiguration ,
15+ Breakpoints ,
1516} from './types' ;
1617import { Button , EmptyState , EmptyStateActions , EmptyStateBody , EmptyStateVariant , PageSection } from '@patternfly/react-core' ;
1718import ExternalLinkAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-alt-icon' ;
1819import GripVerticalIcon from '@patternfly/react-icons/dist/esm/icons/grip-vertical-icon' ;
1920import PlusCircleIcon from '@patternfly/react-icons/dist/esm/icons/plus-circle-icon' ;
20- import { columns , breakpoints , droppingElemId , getWidgetIdentifier , extendLayout , getGridDimensions } from './utils' ;
21-
22- export const defaultBreakpoints = breakpoints ;
21+ import { defaultBreakpoints , defaultColumns , droppingElemId , getWidgetIdentifier , extendLayout , getGridDimensions } from './utils' ;
2322
2423const createSerializableConfig = ( config ?: WidgetConfiguration ) => {
2524 if ( ! config ) { return undefined ; }
@@ -63,9 +62,9 @@ export interface GridLayoutProps {
6362 /** Resize configuration options */
6463 resizeWidgetConfig ?: Partial < ResizeConfig > ;
6564 /** Custom breakpoints for responsive layout (container width thresholds in px) */
66- customBreakpoints ?: Record < Variants , number > ;
65+ breakpoints ?: Breakpoints ;
6766 /** Custom column counts per breakpoint variant */
68- customColumns ?: Record < Variants , number > ;
67+ columns ?: Record < Variants , number > ;
6968}
7069
7170const LayoutEmptyState = ( {
@@ -111,10 +110,9 @@ const GridLayout = ({
111110 onActiveWidgetsChange,
112111 droppingWidgetType,
113112 resizeWidgetConfig,
114- customBreakpoints ,
115- customColumns ,
113+ breakpoints = defaultBreakpoints ,
114+ columns = defaultColumns ,
116115} : GridLayoutProps ) => {
117- const activeColumns = customColumns ?? columns ;
118116 const [ isDragging , setIsDragging ] = useState ( false ) ;
119117 const [ isInitialRender , setIsInitialRender ] = useState ( true ) ;
120118 const [ layoutVariant , setLayoutVariant ] = useState < Variants > ( 'xl' ) ;
@@ -179,8 +177,8 @@ const GridLayout = ({
179177 ...layoutItem ,
180178 ...widget . defaults ,
181179 // make sure the configuration is valid for all layout sizes
182- w : size === layoutVariant ? layoutItem . w : Math . min ( widget . defaults . w , activeColumns [ size as Variants ] ) ,
183- x : size === layoutVariant ? layoutItem . x : Math . min ( layoutItem . x , activeColumns [ size as Variants ] ) ,
180+ w : size === layoutVariant ? layoutItem . w : Math . min ( widget . defaults . w , columns [ size as Variants ] ) ,
181+ x : size === layoutVariant ? layoutItem . x : Math . min ( layoutItem . x , columns [ size as Variants ] ) ,
184182 widgetType : data ,
185183 i : getWidgetIdentifier ( data ) ,
186184 title : 'New title' ,
@@ -233,10 +231,10 @@ const GridLayout = ({
233231 // Update layout variant when container width changes
234232 useEffect ( ( ) => {
235233 if ( mounted && layoutWidth > 0 ) {
236- const variant : Variants = getGridDimensions ( layoutWidth , customBreakpoints ) ;
234+ const variant : Variants = getGridDimensions ( layoutWidth , breakpoints ) ;
237235 setLayoutVariant ( variant ) ;
238236 }
239- } , [ layoutWidth , mounted ] ) ;
237+ } , [ layoutWidth , mounted , breakpoints ] ) ;
240238
241239 const activeLayout = internalTemplate [ layoutVariant ] || [ ] ;
242240
@@ -254,7 +252,7 @@ const GridLayout = ({
254252 width = { effectiveWidth }
255253 droppingItem = { droppingItemTemplate }
256254 gridConfig = { {
257- cols : activeColumns [ layoutVariant ] ,
255+ cols : columns [ layoutVariant ] ,
258256 rowHeight : 56 ,
259257 } }
260258 dragConfig = { {
@@ -290,7 +288,7 @@ const GridLayout = ({
290288 widgetType = { widgetType }
291289 widgetConfig = { {
292290 ...layoutItem ,
293- colWidth : effectiveWidth / activeColumns [ layoutVariant ] ,
291+ colWidth : effectiveWidth / columns [ layoutVariant ] ,
294292 config,
295293 maxH : layoutItem . maxH ?? widget . defaults . maxH ,
296294 minH : layoutItem . minH ?? widget . defaults . minH ,
0 commit comments