Skip to content
v2.273.0

LayoutConfigurationProperty Struct ​

The configuration that determines what the type of layout will be used on a sheet.

This is a union type structure. For this structure to be valid, only one of the attributes can be defined.

Example ​

ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_quicksight as quicksight } from 'aws-cdk-lib';

declare const type: any;
const layoutConfigurationProperty: quicksight.CfnTemplate.LayoutConfigurationProperty = {
  freeFormLayout: {
    elements: [{
      elementId: 'elementId',
      elementType: 'elementType',
      height: 'height',
      width: 'width',
      xAxisLocation: 'xAxisLocation',
      yAxisLocation: 'yAxisLocation',

      // the properties below are optional
      backgroundStyle: {
        color: 'color',
        visibility: 'visibility',
      },
      borderStyle: {
        color: 'color',
        visibility: 'visibility',
      },
      loadingAnimation: {
        visibility: 'visibility',
      },
      renderingRules: [{
        configurationOverrides: {
          visibility: 'visibility',
        },
        expression: 'expression',
      }],
      selectedBorderStyle: {
        color: 'color',
        visibility: 'visibility',
      },
      visibility: 'visibility',
    }],

    // the properties below are optional
    canvasSizeOptions: {
      screenCanvasSizeOptions: {
        optimizedViewPortWidth: 'optimizedViewPortWidth',
      },
    },
    groups: [{
      id: 'id',
      members: [{
        id: 'id',
        type: type,
      }],
    }],
  },
  gridLayout: {
    elements: [{
      columnSpan: 123,
      elementId: 'elementId',
      elementType: 'elementType',
      rowSpan: 123,

      // the properties below are optional
      backgroundStyle: {
        color: 'color',
        visibility: 'visibility',
      },
      borderRadius: 'borderRadius',
      borderStyle: {
        color: 'color',
        visibility: 'visibility',
        width: 'width',
      },
      columnIndex: 123,
      loadingAnimation: {
        visibility: 'visibility',
      },
      padding: 'padding',
      rowIndex: 123,
      selectedBorderStyle: {
        color: 'color',
        visibility: 'visibility',
        width: 'width',
      },
    }],

    // the properties below are optional
    canvasSizeOptions: {
      screenCanvasSizeOptions: {
        resizeOption: 'resizeOption',

        // the properties below are optional
        optimizedViewPortWidth: 'optimizedViewPortWidth',
      },
    },
  },
  sectionBasedLayout: {
    bodySections: [{
      content: {
        layout: {
          freeFormLayout: {
            elements: [{
              elementId: 'elementId',
              elementType: 'elementType',
              height: 'height',
              width: 'width',
              xAxisLocation: 'xAxisLocation',
              yAxisLocation: 'yAxisLocation',

              // the properties below are optional
              backgroundStyle: {
                color: 'color',
                visibility: 'visibility',
              },
              borderStyle: {
                color: 'color',
                visibility: 'visibility',
              },
              loadingAnimation: {
                visibility: 'visibility',
              },
              renderingRules: [{
                configurationOverrides: {
                  visibility: 'visibility',
                },
                expression: 'expression',
              }],
              selectedBorderStyle: {
                color: 'color',
                visibility: 'visibility',
              },
              visibility: 'visibility',
            }],
          },
        },
      },
      sectionId: 'sectionId',

      // the properties below are optional
      pageBreakConfiguration: {
        after: {
          status: 'status',
        },
      },
      repeatConfiguration: {
        dimensionConfigurations: [{
          dynamicCategoryDimensionConfiguration: {
            column: {
              columnName: 'columnName',

              // the properties below are optional
              dataSetIdentifier: 'dataSetIdentifier',
              topicIdentifier: 'topicIdentifier',
            },

            // the properties below are optional
            limit: 123,
            sortByMetrics: [{
              direction: 'direction',
              sortBy: {
                columnName: 'columnName',

                // the properties below are optional
                dataSetIdentifier: 'dataSetIdentifier',
                topicIdentifier: 'topicIdentifier',
              },

              // the properties below are optional
              aggregationFunction: {
                attributeAggregationFunction: {
                  simpleAttributeAggregation: 'simpleAttributeAggregation',
                  valueForMultipleValues: 'valueForMultipleValues',
                },
                categoricalAggregationFunction: 'categoricalAggregationFunction',
                dateAggregationFunction: 'dateAggregationFunction',
                numericalAggregationFunction: {
                  percentileAggregation: {
                    percentileValue: 123,
                  },
                  simpleNumericalAggregation: 'simpleNumericalAggregation',
                },
              },
            }],
          },
          dynamicNumericDimensionConfiguration: {
            column: {
              columnName: 'columnName',

              // the properties below are optional
              dataSetIdentifier: 'dataSetIdentifier',
              topicIdentifier: 'topicIdentifier',
            },

            // the properties below are optional
            limit: 123,
            sortByMetrics: [{
              direction: 'direction',
              sortBy: {
                columnName: 'columnName',

                // the properties below are optional
                dataSetIdentifier: 'dataSetIdentifier',
                topicIdentifier: 'topicIdentifier',
              },

              // the properties below are optional
              aggregationFunction: {
                attributeAggregationFunction: {
                  simpleAttributeAggregation: 'simpleAttributeAggregation',
                  valueForMultipleValues: 'valueForMultipleValues',
                },
                categoricalAggregationFunction: 'categoricalAggregationFunction',
                dateAggregationFunction: 'dateAggregationFunction',
                numericalAggregationFunction: {
                  percentileAggregation: {
                    percentileValue: 123,
                  },
                  simpleNumericalAggregation: 'simpleNumericalAggregation',
                },
              },
            }],
          },
        }],
        nonRepeatingVisuals: ['nonRepeatingVisuals'],
        pageBreakConfiguration: {
          after: {
            status: 'status',
          },
        },
      },
      style: {
        height: 'height',
        padding: {
          bottom: 'bottom',
          left: 'left',
          right: 'right',
          top: 'top',
        },
      },
    }],
    canvasSizeOptions: {
      paperCanvasSizeOptions: {
        paperMargin: {
          bottom: 'bottom',
          left: 'left',
          right: 'right',
          top: 'top',
        },
        paperOrientation: 'paperOrientation',
        paperSize: 'paperSize',
      },
    },
    footerSections: [{
      layout: {
        freeFormLayout: {
          elements: [{
            elementId: 'elementId',
            elementType: 'elementType',
            height: 'height',
            width: 'width',
            xAxisLocation: 'xAxisLocation',
            yAxisLocation: 'yAxisLocation',

            // the properties below are optional
            backgroundStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            borderStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            loadingAnimation: {
              visibility: 'visibility',
            },
            renderingRules: [{
              configurationOverrides: {
                visibility: 'visibility',
              },
              expression: 'expression',
            }],
            selectedBorderStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            visibility: 'visibility',
          }],
        },
      },
      sectionId: 'sectionId',

      // the properties below are optional
      style: {
        height: 'height',
        padding: {
          bottom: 'bottom',
          left: 'left',
          right: 'right',
          top: 'top',
        },
      },
    }],
    headerSections: [{
      layout: {
        freeFormLayout: {
          elements: [{
            elementId: 'elementId',
            elementType: 'elementType',
            height: 'height',
            width: 'width',
            xAxisLocation: 'xAxisLocation',
            yAxisLocation: 'yAxisLocation',

            // the properties below are optional
            backgroundStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            borderStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            loadingAnimation: {
              visibility: 'visibility',
            },
            renderingRules: [{
              configurationOverrides: {
                visibility: 'visibility',
              },
              expression: 'expression',
            }],
            selectedBorderStyle: {
              color: 'color',
              visibility: 'visibility',
            },
            visibility: 'visibility',
          }],
        },
      },
      sectionId: 'sectionId',

      // the properties below are optional
      style: {
        height: 'height',
        padding: {
          bottom: 'bottom',
          left: 'left',
          right: 'right',
          top: 'top',
        },
      },
    }],
  },
};

Properties ​

freeFormLayoutIResolvable | CfnTemplate.FreeFormLayoutConfigurationPropertyfree_form_layouttyping.Union[IResolvable, FreeFormLayoutConfigurationProperty]freeFormLayoutIResolvableFreeFormLayoutIResolvableFreeFormLayoutinterface{}#
A free-form is optimized for a fixed width and has more control over the exact placement of layout elements.
gridLayoutIResolvable | CfnTemplate.GridLayoutConfigurationPropertygrid_layouttyping.Union[IResolvable, GridLayoutConfigurationProperty]gridLayoutIResolvableGridLayoutIResolvableGridLayoutinterface{}#
A type of layout that can be used on a sheet.
notes

In a grid layout, visuals snap to a grid with standard spacing and alignment. Dashboards are displayed as designed, with options to fit to screen or view at actual size. A grid layout can be configured to behave in one of two ways when the viewport is resized: FIXED or RESPONSIVE .

sectionBasedLayoutIResolvable | CfnTemplate.SectionBasedLayoutConfigurationPropertysection_based_layouttyping.Union[IResolvable, SectionBasedLayoutConfigurationProperty]sectionBasedLayoutIResolvableSectionBasedLayoutIResolvableSectionBasedLayoutinterface{}#
A section based layout organizes visuals into multiple sections and has customized header, footer and page break.