Anjali Mandowara
12/16/2025, 8:32 AMMichael Ullock
12/16/2025, 10:17 AMAbhijeet Gupta
12/16/2025, 10:40 AMkapa.ai
12/16/2025, 10:41 AMIDashboardLayoutSizeByScreenSize, keyed by screen types xl | lg | md | sm | xs. [[ScreenSize](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-model.screensize.html#screensize-type); [Size by screen](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-model.idashboardlayoutsizebyscreensize.html#properties)] - Each dashboard layout item has a size: IDashboardLayoutSizeByScreenSize, so you can specify different width/height (in grid units) for different breakpoints. [[Item size](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-model.idashboardlayoutitem.size.html#idashboardlayoutitemsize-property); [Size by screen](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-model.idashboardlayoutsizebyscreensize.html#properties)] Widgets have minimum widths to keep them readable (most 2 grid columns; Geo charts 6). [[Dashboard layout](https://www.gooddata.com/docs/cloud/create-dashboards/dashboard-layout/#configure-dashboard-layout)] ### 2. Containers and reflow Column containers provide additional responsive behavior inside a dashboard section: [[Column container](https://www.gooddata.com/docs/cloud/create-dashboards/dashboard-layout/#column-container)] - Default is vertical (column) layout: widgets stack; width is inherited from the container; you can only change widget height. - You can switch to “Wrapped Row” (horizontal with wrapping). In this mode: - Widgets are laid out in rows and can wrap to the next row when space is insufficient. - Width is per widget; height is shared within a row. - Resizing the container resizes all nested widgets (and nested containers) while preserving layout direction. This is the main documented mechanism for “reflow” of multiple widgets across screen sizes. ### 3. Component‑level responsiveness Visual components (charts, tables, InsightView) are responsive and always fill their wrapper element. To control their size, you must set the wrapper’s `height`/`width` explicitly. [[Charts and plots](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/charts_and_plots/)] jsx <div style={{ height: 400, width: 600 }}> <AreaChart ... /> </div> #### Compact size for small containers For charts embedded via GoodData.UI, you can enable compact rendering: jsx <InsightView insight={/* id */} config={{ enableCompactSize: true }} /> With `enableCompactSize: true`: - Less important parts (e.g., axis labels) are hidden to keep the chart readable in small containers. - There are documented minimum heights per visualization type (e.g., bar/column/pie: 134px; pivot table: 134px; headline: 34/94px). [[Chart config](https://www.gooddata.com/docs/gooddata-ui/latest/references/visual_components/chart_config/#enable-a-compact-size)] This is the main documented safeguard against unreadable charts in small spaces. #### Legends Legends can be made responsive: - ILegendConfig.responsive can be true or "autoPositionWithPopup". When enabled, legend items render horizontally on screens smaller than 767px. [[Legend responsive](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-ui-charts.ilegendconfig.responsive.html#ilegendconfigresponsive-property)] - Documentation recommends using a popup legend together with compact size for better UX on small charts. [[Chart config](https://www.gooddata.com/docs/gooddata-ui/latest/references/visual_components/chart_config/#enable-a-compact-size)] ### 4. Pivot table responsiveness Pivot tables (legacy component) support auto‑resizing of columns to fit content or viewport: - columnSizing: { defaultWidth: "autoresizeAll" } – resize all columns to content. - columnSizing: { defaultWidth: "viewport" } – resize only columns visible in the initial viewport. [[Pivot auto‑resizing](https://www.gooddata.com/docs/gooddata-ui/latest/references/visual_components/pivot_table/#auto-resizing)] This helps tables adapt to dynamic or constrained widths (e.g., exports, small widgets). On dashboards, small pivot tables are automatically resized to fill the widget width. [[Dashboard layout](https://www.gooddata.com/docs/cloud/create-dashboards/dashboard-layout/#configure-dashboard-layout)] ### 5. Safeguards and visibility of critical controls The knowledge sources do not explicitly describe: - A formal “visibility rules” system (e.g., per‑breakpoint show/hide of specific controls). - Specific safeguards that guarantee “critical action controls” (buttons, filters, etc.) are never hidden or pushed off‑screen. What is documented instead are indirect safeguards for usability: - Minimum widget widths and chart minimum heights to keep content legible. [[Dashboard layout](https://www.gooddata.com/docs/cloud/create-dashboards/dashboard-layout/#configure-dashboard-layout); [Chart config](https://www.gooddata.com/docs/gooddata-ui/latest/references/visual_components/chart_config/#enable-a-compact-size)] - Compact size and responsive legends to avoid overcrowding in small containers. [[Chart config](https://www.gooddata.com/docs/gooddata-ui/latest/references/visual_components/chart_config/#enable-a-compact-size); [Legend responsive](https://sdk.gooddata.com/gooddata-ui-apidocs/v11.11.0/docs/sdk-ui-charts.ilegendconfig.responsive.html#ilegendconfigresponsive-property)] - The general rule that visual components always fill their wrapper, so control over visibility is largely in how you size and arrange wrappers and dashboard widgets. [[Charts and plots](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/charts_and_plots/)] If you need strict guarantees about critical controls (e.g., action buttons in custom apps), you would need to enforce those in your own layout and CSS around the GoodData components; the provided docs do not describe a built‑in policy layer for that.Abhijeet Gupta
12/16/2025, 11:46 AMMichael Ullock
12/16/2025, 1:31 PM