/** * * @param {Array} extensions * @returns {Component} */ function frameworkControlPanel( extensions = [] ) { return builder.row() .alignment(Alignment.CENTER) .arrangement(Arrangement.CENTER) .isHigherComponent() .setStylingsStorage(ExtStoreType.INTERNALIZED_WITHIN) .modifier( new Modifier() .fillMaxWidth() .background(MaterialFiveHundredlColors.ORANGE) .dimensions( new Dimensions() .height(200) ) .border( new Border(3) .color(Colors.goldenrod_3) ) .padding(4) ) .childContext([ builder.column() .modifier(new Modifier().fillMaxHeight()) .childContext([ builder.label().text("Installed Extensions:") , builder.column() .overflow() .modifier( new Modifier() .linkPadding(4).ensureModifier() .linkBorder(1) ) .childContext( extensions.map( /** * * @param {CompelExtension} ext * @returns {Component} */ ext => builder.span().text(ext.diplayTitle) ) ) ]) , builder.div() .alignment(Alignment.CENTER) .arrangement(Arrangement.CENTER) .childContext([ builder.label() .text("to generate and download page displayed below click on 'generate'") , builder.button() .text("generate") ]) ]); }