@cplace/test-mcp-server 1.0.0 → 1.1.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/README.md +57 -36
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +7 -1
- package/dist/api.js.map +1 -1
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +7 -1
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +56 -3
- package/dist/index.js.map +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +8 -4
- package/dist/profiles.js.map +1 -1
- package/dist/tool-metadata.d.ts.map +1 -1
- package/dist/tool-metadata.js +3 -1
- package/dist/tool-metadata.js.map +1 -1
- package/dist/tools/board-widget.d.ts +432 -0
- package/dist/tools/board-widget.d.ts.map +1 -0
- package/dist/tools/board-widget.js +820 -0
- package/dist/tools/board-widget.js.map +1 -0
- package/dist/tools/generic-layouts.d.ts +1 -1
- package/dist/tools/generic-layouts.d.ts.map +1 -1
- package/dist/tools/generic-layouts.js +23 -1
- package/dist/tools/generic-layouts.js.map +1 -1
- package/dist/tools/jobs.d.ts +32 -0
- package/dist/tools/jobs.d.ts.map +1 -0
- package/dist/tools/jobs.js +193 -0
- package/dist/tools/jobs.js.map +1 -0
- package/dist/tools/script.d.ts +25 -0
- package/dist/tools/script.d.ts.map +1 -0
- package/dist/tools/script.js +121 -0
- package/dist/tools/script.js.map +1 -0
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/type-management.d.ts +2 -2
- package/dist/tools/widgets.d.ts +8 -5
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +143 -40
- package/dist/tools/widgets.js.map +1 -1
- package/dist/tools/workspace-admin.d.ts +11 -1
- package/dist/tools/workspace-admin.d.ts.map +1 -1
- package/dist/tools/workspace-admin.js +67 -8
- package/dist/tools/workspace-admin.js.map +1 -1
- package/dist/tools/workspace-core.d.ts +4 -1
- package/dist/tools/workspace-core.d.ts.map +1 -1
- package/dist/tools/workspace-core.js +38 -7
- package/dist/tools/workspace-core.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +107 -1
- package/dist/utils.js.map +1 -1
- package/dist/widget-specifications/CLAUDE.md +288 -0
- package/dist/widget-specifications/DOCUMENTATION-STATUS.md +424 -0
- package/dist/widget-specifications/GENERATING-FROM-RESEARCH.md +61 -0
- package/dist/widget-specifications/WIDGET-TAGGING-SCHEME.md +217 -0
- package/dist/widget-specifications/_research_from_ga_products/.claude-settings.local.json +48 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-api-common-config-metadata-SyncMetadataTable/research.md +168 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-breadcrumbs-breadcrumbsWidget/research.md +125 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-cboard-main-board/research.md +373 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-citizenAi-askYourPageWidget/research.md +319 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-cplaceReportGeneration-generateReportWidget/research.md +295 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-employeeReportChart/research.md +230 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-employeeReportGrid/research.md +215 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-projectmanagerReportChart/research.md +192 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-projectmanagerReportGrid/research.md +178 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-widget/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-demoWidgets-demoRichString/research.md +194 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-documentation-navigationWidget/research.md +426 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-imageWithTextAndListWidget/research.md +326 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-imageWithTextWidget/research.md +580 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-widget/research.md +281 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-draggablePageList-widget/research.md +210 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dynamicCodeBlockWidget-dynamicCodeBlockWidget/research.md +250 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-attribute-conversion-widget-enumMappingTable/research.md +260 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-configuration-widget-attributeMappingTable/research.md +148 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-cleanupConfigTable/research.md +138 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-connectorSyncConfigsTable/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-serverConnectionTable/research.md +181 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-extendedTreeTableWidget/research.md +253 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-horizontalDivider/research.md +261 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-startWizardWidget/research.md +211 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepEditorForWizardWidget/research.md +183 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepEditorWidget/research.md +298 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepManager/research.md +419 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepPreview/research.md +256 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardActivation/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardAnalysis/research.md +283 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardLocalizations/research.md +193 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-genericInterface-api-widgets-triggerInterfaceButton/research.md +180 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-quickOverview/research.md +186 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-sessionUserNameWidget/research.md +158 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-simpleListWithAttachment/research.md +135 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-layoutTabsWidget-widget/research.md +238 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-lowCodeWidgets-lowCodeButton/research.md +272 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-lowcode-ai-chatWidget/research.md +194 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-meeting-pageHeader/research.md +208 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-navigationTileWidget-widget/research.md +259 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-headlineForReports/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-scriptPlaceholders/research.md +233 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-templatePlaceholders/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-orgaTree-edit/research.md +353 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-outlookMessageIntegration-outlookMessages/research.md +233 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pageViewHeadline-widget/research.md +217 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pdfPreview-widget/research.md +235 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-attributesGroup/research.md +525 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-batchJobQuickGlance/research.md +372 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-connectedAttributesGroup/research.md +408 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-dynamicIframe/research.md +198 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-tableWidget/research.md +427 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pptexport-pgPreviewWidget/research.md +151 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projectTree-editProjects/research.md +163 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projektplanung-scheduleLockState/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projektplanung-subscriptions/research.md +316 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-qrCodeWidget/research.md +130 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-resourceManagement-resourcePlannerDefinition/research.md +331 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-rest-config-widget-productionModeHintWidget/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-simpleCalendar-calendar/research.md +284 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-simpleForm-widget/research.md +193 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-tableDetailViewWidget-widget/research.md +311 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-treeTableWidget/research.md +420 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-tuplesWidget-widget/research.md +295 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-videoWidget/research.md +154 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-scriptingHighcharts/research.md +249 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-scriptingLineChart/research.md +279 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-tupleLineChart/research.md +221 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-attributeHistory/research.md +421 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-attributes/research.md +377 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-comments/research.md +254 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedBarChart/research.md +275 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedMatrix/research.md +396 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedPieChart/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedSingleAttribute/research.md +430 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedTableFilter/research.md +468 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-customRichStringAttribute/research.md +120 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-embeddedSearchAsList/research.md +485 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-embeddedSearchAsTable/research.md +428 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-files/research.md +240 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-iframe/research.md +358 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-incomingLinks/research.md +242 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-incomingReferences/research.md +488 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-makeover-attributes/research.md +219 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-modificationInfo/research.md +141 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-myElements/research.md +116 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-richString/research.md +437 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-singleAttribute/research.md +1094 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-tags/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-wiki/research.md +258 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-gantt/research.md +268 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-ganttTaskDemo/research.md +271 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-multiGantt/research.md +343 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-scheduleTreeTable/research.md +261 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-singleGantt/research.md +184 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-singleGanttLink/research.md +188 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-curves-widget/research.md +341 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-datePickerWidget/research.md +232 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-dropDownWidget/research.md +417 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-miscWidget/research.md +172 -0
- package/dist/widget-specifications/_research_from_ga_products/de-visualistik-visualRoadmap-widget/research.md +277 -0
- package/dist/widget-specifications/_research_from_ga_products/msg-scripts-imagegallery-basic/research.md +112 -0
- package/dist/widget-specifications/_research_from_ga_products/phase-0-discovery-approach.md +248 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-definition-mapping.md +168 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-documentation-project.md +259 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/generate.sh +100 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/parse-mapping.sh +35 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/template.md +38 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/widgets.txt +107 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_overview.md +40 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_overview.md +74 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_implementation.md +37 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_overview.md +117 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_meta.json +3 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_overview.md +123 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_overview.md +68 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_overview.md +157 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_overview.md +200 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_overview.md +27 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_overview.md +176 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_overview.md +85 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_overview.md +93 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_overview.md +75 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_overview.md +167 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_overview.md +64 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_overview.md +61 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_overview.md +94 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_overview.md +28 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_overview.md +116 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_overview.md +44 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_overview.md +40 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_overview.md +47 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_overview.md +23 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_overview.md +32 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_overview.md +29 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_overview.md +69 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_overview.md +91 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_overview.md +48 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_overview.md +58 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_overview.md +66 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_overview.md +52 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_overview.md +53 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_implementation.md +6 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_meta.json +7 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_overview.md +115 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.layoutSelection.md +2 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.layouts.md +3 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.sourceForLayouts.md +1 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_overview.md +137 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_overview.md +63 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_overview.md +31 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_overview.md +71 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_overview.md +57 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_overview.md +22 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_overview.md +24 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_overview.md +62 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_overview.md +50 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_overview.md +62 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_implementation.md +13 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_overview.md +108 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/absoluteSelection.md +9 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/layout.md +8 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/pageSelection.md +12 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/relativeSelection.md +14 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_overview.md +52 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_implementation.md +17 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_overview.md +103 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/cf.cplace.platform.attributesGroup.layout.md +8 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/singleSelectionWidgetId.md +15 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_overview.md +49 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_overview.md +188 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_overview.md +92 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_overview.md +81 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_overview.md +60 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_overview.md +59 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_overview.md +25 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_overview.md +78 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_overview.md +44 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_overview.md +42 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_overview.md +85 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_overview.md +92 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/attributes.md +7 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_overview.md +51 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_overview.md +202 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_overview.md +65 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_implementation.md +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_overview.md +117 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/cf.cplace.visualization.dataSource.md +5 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/cf.cplace.visualization.search.md +10 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/script.md +29 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/tableWidgetId.md +10 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_overview.md +72 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_overview.md +50 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_overview.md +79 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.attributes/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.attributes/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.attributes/_overview.md +89 -0
- package/dist/widget-specifications/cf.platform.attributes/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.comments/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.comments/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.comments/_overview.md +52 -0
- package/dist/widget-specifications/cf.platform.comments/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_overview.md +70 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/search.md +15 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_overview.md +189 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_overview.md +70 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/search.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_implementation.md +15 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_overview.md +69 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/attributeName.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/singleColumn.md +9 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/singleSelectionWidgetId.md +3 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/withLabel.md +11 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/withValue.md +12 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_overview.md +89 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_overview.md +39 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_overview.md +66 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/search.md +8 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_overview.md +109 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/columns.md +14 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/multiSortColumns.md +16 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/search.md +8 -0
- package/dist/widget-specifications/cf.platform.files/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.files/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.files/_overview.md +74 -0
- package/dist/widget-specifications/cf.platform.files/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.iframe/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.iframe/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.iframe/_overview.md +77 -0
- package/dist/widget-specifications/cf.platform.iframe/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_overview.md +83 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_overview.md +48 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_overview.md +48 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_overview.md +27 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.myElements/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.myElements/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.myElements/_overview.md +69 -0
- package/dist/widget-specifications/cf.platform.myElements/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.richString/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.richString/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.richString/_overview.md +43 -0
- package/dist/widget-specifications/cf.platform.richString/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_implementation.md +18 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_overview.md +83 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.entity.md +10 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.quotedAttributeName.md +12 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.singleColumn.md +9 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.useParent.md +11 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.withLabel.md +11 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.withValue.md +12 -0
- package/dist/widget-specifications/cf.platform.tags/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.tags/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.tags/_overview.md +49 -0
- package/dist/widget-specifications/cf.platform.tags/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.wiki/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.wiki/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.wiki/_overview.md +32 -0
- package/dist/widget-specifications/cf.platform.wiki/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_meta.json +11 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_overview.md +61 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_overview.md +65 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_meta.json +11 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_overview.md +73 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_overview.md +84 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_meta.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_overview.md +27 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_overview.md +84 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_meta.json +12 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_overview.md +73 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_meta.json +9 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_overview.md +67 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_meta.json +10 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_overview.md +58 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_meta.json +8 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_overview.md +43 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_meta.json +11 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_overview.md +47 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_summary.md +1 -0
- package/dist/widget-specifications/index.d.ts.map +1 -0
- package/dist/widget-specifications/index.js +55 -0
- package/dist/widget-specifications/index.js.map +1 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_catalog-data.json +12 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_meta.json +10 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_overview.md +55 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_summary.md +1 -0
- package/dist/widget-specifications/tag-registry.json +63 -0
- package/package.json +3 -2
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
# Widget Research: cf.cplace.platform.connectedAttributesGroup
|
|
2
|
+
|
|
3
|
+
**Date**: 2026-01-16
|
|
4
|
+
**Widget ID**: `cf.cplace.platform.connectedAttributesGroup`
|
|
5
|
+
**Widget Name**: Grouped Attributes of a Table
|
|
6
|
+
**Repository**: main
|
|
7
|
+
**Definition Class**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/ConnectedAttributesGroupWidgetDefinition.java`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Widget Description
|
|
12
|
+
|
|
13
|
+
The **Grouped Attributes of a Table** widget displays a flexible, customizable group of attributes for the currently selected entity in a connected table widget. It dynamically updates its content when users select different rows in the table, allowing for a master-detail view pattern where the table acts as the master list and this widget shows the detailed attributes of the selected item.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 2. Purpose and Core Functionality
|
|
18
|
+
|
|
19
|
+
### What This Widget Does
|
|
20
|
+
|
|
21
|
+
The Connected Attributes Group widget serves as a **dynamic attribute display container** that:
|
|
22
|
+
|
|
23
|
+
1. **Connects to a table widget** - Links to a table widget on the same page that implements `ISingleEntitySelectionProducer`
|
|
24
|
+
2. **Responds to selection events** - Automatically updates when the user selects a row in the connected table
|
|
25
|
+
3. **Displays attributes in a flexible layout** - Shows attributes of the selected entity using a customizable grid-based layout
|
|
26
|
+
4. **Supports editing** - Allows users to edit attributes inline if they have edit permissions for the selected entity
|
|
27
|
+
5. **Shows information state** - Displays a message when no entity is selected in the table
|
|
28
|
+
|
|
29
|
+
### How It Works
|
|
30
|
+
|
|
31
|
+
The widget operates through an event-driven mechanism:
|
|
32
|
+
|
|
33
|
+
1. User selects a row in the connected table widget
|
|
34
|
+
2. Table widget broadcasts a `SelectedSingleEvent` via Angular's `$rootScope`
|
|
35
|
+
3. Connected Attributes Group widget receives the event (filtered by `connectedWidgetId`)
|
|
36
|
+
4. Widget checks if the user has edit permissions for the selected entity
|
|
37
|
+
5. Widget refreshes to display the attributes of the newly selected entity
|
|
38
|
+
6. If the table is cleared or emptied, the widget displays an informational message
|
|
39
|
+
|
|
40
|
+
**Code Reference**: `cf.cplace.platform/assets/ts/controllers/groupedAttributes/ConnectedAttributesGroupWidgetCtrl.ts:32-45`
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3. Use Cases
|
|
45
|
+
|
|
46
|
+
### Primary Use Cases
|
|
47
|
+
|
|
48
|
+
#### 1. Master-Detail Views
|
|
49
|
+
Display a list of entities in a table and show detailed attributes for the selected entity in a companion widget.
|
|
50
|
+
|
|
51
|
+
**Example**: A project portfolio where:
|
|
52
|
+
- Table shows project names, status, and priority
|
|
53
|
+
- Connected Attributes Group shows full project details (description, owner, dates, budget, etc.) for the selected project
|
|
54
|
+
|
|
55
|
+
#### 2. Inspection and Editing of List Items
|
|
56
|
+
Allow users to quickly browse through a list and edit selected items without navigating to separate pages.
|
|
57
|
+
|
|
58
|
+
**Example**: A task management view where:
|
|
59
|
+
- Table displays all tasks with basic info
|
|
60
|
+
- Connected Attributes Group enables editing task details inline when a task is selected
|
|
61
|
+
|
|
62
|
+
#### 3. Contextual Detail Panels
|
|
63
|
+
Create focused, context-sensitive detail views that change based on the current selection.
|
|
64
|
+
|
|
65
|
+
**Example**: A configuration management interface where:
|
|
66
|
+
- Table lists configuration items
|
|
67
|
+
- Connected Attributes Group shows relevant configuration parameters for the selected item
|
|
68
|
+
|
|
69
|
+
#### 4. Attribute Organization for Complex Entities
|
|
70
|
+
Present attributes in a more organized, visually structured way compared to a standard table row.
|
|
71
|
+
|
|
72
|
+
**Example**: An employee directory where:
|
|
73
|
+
- Table shows employee names and departments
|
|
74
|
+
- Connected Attributes Group displays employee details in organized sections (personal info, contact details, employment info, etc.)
|
|
75
|
+
|
|
76
|
+
### When to Use This Widget
|
|
77
|
+
|
|
78
|
+
**Use the Connected Attributes Group widget when:**
|
|
79
|
+
- You have a table widget showing multiple entities
|
|
80
|
+
- Users need to view/edit detailed attributes for individual entities
|
|
81
|
+
- You want to save screen space by showing details on-demand
|
|
82
|
+
- The entity has many attributes that would make the table too wide
|
|
83
|
+
- You want to provide a better editing experience than inline table editing
|
|
84
|
+
- You need custom layout control for how attributes are displayed
|
|
85
|
+
|
|
86
|
+
**Do NOT use this widget when:**
|
|
87
|
+
- You don't have a table widget to connect to (use `cf.cplace.platform.attributesGroup` instead)
|
|
88
|
+
- All necessary information fits comfortably in the table columns
|
|
89
|
+
- Users don't need to view/edit individual entity details
|
|
90
|
+
- The selection should remain static (not driven by table selection)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4. Configuration Concepts
|
|
95
|
+
|
|
96
|
+
### Main Configuration Options
|
|
97
|
+
|
|
98
|
+
#### Data Source Configuration
|
|
99
|
+
|
|
100
|
+
**Selection Widget ID** (Required)
|
|
101
|
+
- Links this widget to a table widget on the same page
|
|
102
|
+
- Only table widgets that implement `ISingleEntitySelectionProducer` are available
|
|
103
|
+
- Currently, the standard `cf.cplace.platform.tableWidget` is the primary supported widget type
|
|
104
|
+
- The dropdown is dynamically populated with available table widgets on the page
|
|
105
|
+
|
|
106
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetDefinition.java:239-242`
|
|
107
|
+
|
|
108
|
+
#### Layout Configuration
|
|
109
|
+
|
|
110
|
+
**Layout** (Optional)
|
|
111
|
+
- Defines a flexible grid-based layout for embedded widgets
|
|
112
|
+
- Uses a Bootstrap-style 12-column grid system
|
|
113
|
+
- Supports multiple rows and columns with configurable proportions
|
|
114
|
+
- Can embed various widget types (primarily single attribute widgets)
|
|
115
|
+
- Only shown in the configuration UI after a selection widget is chosen
|
|
116
|
+
|
|
117
|
+
**Single Column** (Optional, default: false)
|
|
118
|
+
- When enabled, forces all embedded attribute widgets to display in single-column mode
|
|
119
|
+
- Affects the label/value arrangement within individual attribute widgets
|
|
120
|
+
|
|
121
|
+
**Code Reference**: `WidgetTypes.java:1296` and `AttributesGroupWidgetDefinition.java:464-514`
|
|
122
|
+
|
|
123
|
+
#### Display Options
|
|
124
|
+
|
|
125
|
+
**Title** (Optional)
|
|
126
|
+
- Localized string displayed in the widget header
|
|
127
|
+
- Empty by default
|
|
128
|
+
|
|
129
|
+
**Show Frame** (Boolean, default: true)
|
|
130
|
+
- Controls whether the widget displays with a frame (header and border)
|
|
131
|
+
- When disabled, padding is also removed for seamless integration
|
|
132
|
+
|
|
133
|
+
**Height** (Optional)
|
|
134
|
+
- Fixed height in pixels
|
|
135
|
+
- When set, enables scrolling for overflow content
|
|
136
|
+
- When unset, height adjusts automatically to content
|
|
137
|
+
|
|
138
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetDefinition.java:158-171`
|
|
139
|
+
|
|
140
|
+
#### Advanced Options
|
|
141
|
+
|
|
142
|
+
**Use New Frontend** (Boolean, default: false, experimental)
|
|
143
|
+
- Toggles between legacy AngularJS and new Angular-based rendering
|
|
144
|
+
- Experimental feature for gradual migration to new frontend
|
|
145
|
+
- When enabled, uses `GroupedAttributesWidgetState` DTO for rendering
|
|
146
|
+
|
|
147
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetDefinition.java:95-98`
|
|
148
|
+
|
|
149
|
+
### Configuration Workflow
|
|
150
|
+
|
|
151
|
+
1. **Add the widget** to a page that already has a table widget
|
|
152
|
+
2. **Select the data source** - Choose which table widget to connect to
|
|
153
|
+
3. **Configure the layout** - Design the grid layout and add attribute widgets
|
|
154
|
+
4. **Customize display** - Set title, frame visibility, height as needed
|
|
155
|
+
5. **Test selection** - Verify that selecting rows in the table updates the widget
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## 5. Context and Relationships
|
|
160
|
+
|
|
161
|
+
### Related Widgets
|
|
162
|
+
|
|
163
|
+
#### cf.cplace.platform.attributesGroup (Grouped Attributes of a Page)
|
|
164
|
+
- **Relationship**: Non-connected variant
|
|
165
|
+
- **Difference**: Displays attributes of a statically selected page, not dynamically based on table selection
|
|
166
|
+
- **Similarity**: Shares the same layout system and configuration structure
|
|
167
|
+
- **Code**: Both widgets inherit configuration from `ATTRIBUTES_GROUP` type definition
|
|
168
|
+
|
|
169
|
+
#### cf.cplace.platform.tableWidget (Table Widget)
|
|
170
|
+
- **Relationship**: Data source / connected widget
|
|
171
|
+
- **Connection**: Implements `ISingleEntitySelectionProducer` interface
|
|
172
|
+
- **Interaction**: Broadcasts selection events that drive the Connected Attributes Group widget
|
|
173
|
+
- **Code Reference**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/TableWidgetDefinition.java:45-47`
|
|
174
|
+
|
|
175
|
+
#### cf.platform.connectedSingleAttribute (Connected Single Attribute)
|
|
176
|
+
- **Relationship**: Commonly embedded widget
|
|
177
|
+
- **Purpose**: Displays individual attributes within the layout
|
|
178
|
+
- **Connection**: Also responds to the same `SelectedSingleEvent` when embedded
|
|
179
|
+
- **Difference**: Shows a single attribute vs. a group of attributes
|
|
180
|
+
|
|
181
|
+
### Prerequisites and Dependencies
|
|
182
|
+
|
|
183
|
+
**Prerequisites:**
|
|
184
|
+
1. A page with a table widget already configured
|
|
185
|
+
2. The table widget must have entities to display
|
|
186
|
+
3. The entity type shown in the table must have attributes to display
|
|
187
|
+
|
|
188
|
+
**Dependencies:**
|
|
189
|
+
- Requires `ISingleEntitySelectionProducer` interface implementation on the connected widget
|
|
190
|
+
- Depends on Angular/AngularJS event broadcasting via `$rootScope`
|
|
191
|
+
- Uses the layout constraint system for widget embedding
|
|
192
|
+
|
|
193
|
+
**No Prerequisites For:**
|
|
194
|
+
- The entity type doesn't need special configuration
|
|
195
|
+
- No special permissions beyond normal page edit/view permissions
|
|
196
|
+
|
|
197
|
+
### Part of Larger Feature Set
|
|
198
|
+
|
|
199
|
+
The Connected Attributes Group widget is part of the **Connected Widgets** pattern in cplace:
|
|
200
|
+
|
|
201
|
+
**Connected Widgets Pattern:**
|
|
202
|
+
- **Producer widgets** - Broadcast selection or filter events (e.g., tables, charts)
|
|
203
|
+
- **Consumer widgets** - React to these events by updating their display (e.g., this widget, connected single attribute)
|
|
204
|
+
- **Benefits**: Creates interactive, coordinated dashboards without custom code
|
|
205
|
+
|
|
206
|
+
**Widget Connection Interfaces:**
|
|
207
|
+
- `IConnectedWidgetProducer` - Marker interface for widgets that produce events
|
|
208
|
+
- `ISingleEntitySelectionProducer` - Produces single entity selection events
|
|
209
|
+
- `IMultiEntitySelectionProducer` - Produces multiple entity selection events
|
|
210
|
+
- `ISearchProducer` - Produces search/filter events
|
|
211
|
+
|
|
212
|
+
**Code Reference**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/rest/shared/widget/`
|
|
213
|
+
|
|
214
|
+
### Integration with Platform Features
|
|
215
|
+
|
|
216
|
+
**Permissions Integration:**
|
|
217
|
+
- Checks `mayEdit()` permissions on the selected entity
|
|
218
|
+
- Disables editing if user lacks write access
|
|
219
|
+
- Always allows viewing of attributes (if user can view the page)
|
|
220
|
+
- **Code Reference**: `ConnectedAttributesGroupWidgetCtrl.ts:77-94`
|
|
221
|
+
|
|
222
|
+
**Editable Block System:**
|
|
223
|
+
- Extends `EditableBlockCtrl` for standard edit/save/cancel functionality
|
|
224
|
+
- Supports inline editing of attributes
|
|
225
|
+
- Cancels edit mode when selection changes in the table
|
|
226
|
+
- **Code Reference**: `ConnectedAttributesGroupWidgetCtrl.ts:16`
|
|
227
|
+
|
|
228
|
+
**Layout System:**
|
|
229
|
+
- Uses the platform's `LayoutConstraint` system
|
|
230
|
+
- Supports the same layout JSON structure as other layout-capable widgets
|
|
231
|
+
- Allows embedding of widgets that pass the `canBeEmbeddedInsideWidgetOfType()` check
|
|
232
|
+
- **Code Reference**: `AttributesGroupWidgetDefinition.java:466-470`
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## 6. Technical Architecture
|
|
237
|
+
|
|
238
|
+
### Event-Driven Architecture
|
|
239
|
+
|
|
240
|
+
The widget uses Angular's event system for reactive updates:
|
|
241
|
+
|
|
242
|
+
**Event Subscription:**
|
|
243
|
+
```typescript
|
|
244
|
+
$rootScope.$on(SelectedSingleEvent.EVENT_SELECTED, (e, event) => {
|
|
245
|
+
if (this.state.connectedWidgetId !== event.widgetId) {
|
|
246
|
+
return; // Ignore events from other widgets
|
|
247
|
+
}
|
|
248
|
+
this.currentSelectedUid = event.uid;
|
|
249
|
+
this.checkMayEditAndSetSubmitUrl(isFirstSelection);
|
|
250
|
+
});
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Empty Table Handling:**
|
|
254
|
+
```typescript
|
|
255
|
+
$rootScope.$on(EmptyTableEvent.EVENT_EMPTY_TABLE, (e, event) => {
|
|
256
|
+
if (this.state.connectedWidgetId === event.widgetId) {
|
|
257
|
+
this.currentSelectedUid = null; // Clear selection
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetCtrl.ts:32-55`
|
|
263
|
+
|
|
264
|
+
### Widget State Management
|
|
265
|
+
|
|
266
|
+
**Backend State (Java):**
|
|
267
|
+
```java
|
|
268
|
+
class ConnectedAttributesGroupBlockState {
|
|
269
|
+
String checkMayEditUrl; // URL to check edit permissions
|
|
270
|
+
String connectedWidgetId; // ID of the connected table widget
|
|
271
|
+
String submitUrl; // URL for form submission
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**Frontend State (TypeScript):**
|
|
276
|
+
```typescript
|
|
277
|
+
interface IConnectedAttributesGroupBlockState {
|
|
278
|
+
checkMayEditUrl: string;
|
|
279
|
+
connectedWidgetId: string;
|
|
280
|
+
currentSelectedUid: string; // Currently selected entity UID
|
|
281
|
+
preventEditing: boolean; // Whether editing is allowed
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**Code References**:
|
|
286
|
+
- `ConnectedAttributesGroupWidgetDefinition.java:252-256`
|
|
287
|
+
- `ConnectedAttributesGroupWidgetCtrl.ts:11-14`
|
|
288
|
+
|
|
289
|
+
### New Frontend Architecture (Experimental)
|
|
290
|
+
|
|
291
|
+
When `USE_NEW_FRONTEND` is enabled:
|
|
292
|
+
|
|
293
|
+
**Widget State DTO:**
|
|
294
|
+
```java
|
|
295
|
+
record GroupedAttributesWidgetState(
|
|
296
|
+
String widgetId, // Widget's unique ID
|
|
297
|
+
String embeddingEntityUid, // Page UID
|
|
298
|
+
String invalidConfigurationMessage, // Error message
|
|
299
|
+
List<GroupedAttributesWidgetRow> rows, // Layout structure
|
|
300
|
+
String connectedWidgetId, // Connected table ID
|
|
301
|
+
String connectedWidgetTitle, // Table title
|
|
302
|
+
String dataSourceAttributeControlHash // Null for connected variant
|
|
303
|
+
)
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
**Rendering:**
|
|
307
|
+
- Uses Angular (not AngularJS) component: `<hui-grouped-attributes-widget>`
|
|
308
|
+
- Passes entire state as JSON: `grouped-attributes-widget-state="..."`
|
|
309
|
+
- Provides better performance and modern UI patterns
|
|
310
|
+
|
|
311
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetDefinition.java:208-236`
|
|
312
|
+
|
|
313
|
+
### Migration and Backwards Compatibility
|
|
314
|
+
|
|
315
|
+
**Deprecated Parameters:**
|
|
316
|
+
1. `UNLOCALIZED_TITLE` → migrated to localized `TITLE`
|
|
317
|
+
2. `TABLE_WIDGET_ID` → renamed to `SELECTION_WIDGET_ID`
|
|
318
|
+
|
|
319
|
+
**Migration Methods:**
|
|
320
|
+
- `migrateUnlocalizedStringToLocalizedString()` - Converts old title format
|
|
321
|
+
- `migrateSingleStringAttribute()` - Renames widget ID attribute
|
|
322
|
+
- `migrateUseNewFrontend()` - Sets default for new frontend flag
|
|
323
|
+
|
|
324
|
+
**Code Reference**: `ConnectedAttributesGroupWidgetDefinition.java:193-197`
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## 7. Widget Metadata
|
|
329
|
+
|
|
330
|
+
**Widget Kind**: `cf.cplace.platform.connectedAttributesGroup`
|
|
331
|
+
|
|
332
|
+
**Localized Names:**
|
|
333
|
+
- English: "Grouped Attributes of a Table"
|
|
334
|
+
- German: "Gruppierte Attribute einer Tabelle"
|
|
335
|
+
|
|
336
|
+
**Localized Descriptions:**
|
|
337
|
+
- English: "Allows you to position the attributes from a table flexibly."
|
|
338
|
+
- German: "Erlaubt die flexible Anordnung von Attributen aus einer Tabelle."
|
|
339
|
+
|
|
340
|
+
**Icon**: `cf-pencil-group`
|
|
341
|
+
|
|
342
|
+
**Code References**:
|
|
343
|
+
- Names/descriptions: `messages_en.properties:4243-4244` and `messages_de.properties:4243-4244`
|
|
344
|
+
- Icon: `ConnectedAttributesGroupWidgetDefinition.java:75-77`
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## 8. Code References
|
|
349
|
+
|
|
350
|
+
### Primary Implementation
|
|
351
|
+
- `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/ConnectedAttributesGroupWidgetDefinition.java` - Main widget definition
|
|
352
|
+
|
|
353
|
+
### Configuration
|
|
354
|
+
- `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/templating/WidgetTypes.java:1269-1316` - Configuration type `CONNECTED_ATTRIBUTES_GROUP`
|
|
355
|
+
|
|
356
|
+
### Frontend
|
|
357
|
+
- `cf.cplace.platform/assets/ts/controllers/groupedAttributes/ConnectedAttributesGroupWidgetCtrl.ts` - Angular controller
|
|
358
|
+
- `cf.cplace.platform/src/main/resources/cf/cplace/platform/frontend/widgets/connectedAttributesGroupWidgetDefinition.htm` - HTML template
|
|
359
|
+
|
|
360
|
+
### Related Classes
|
|
361
|
+
- `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/AttributesGroupWidgetDefinition.java` - Base (non-connected) variant
|
|
362
|
+
- `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/TableWidgetDefinition.java` - Connected table widget
|
|
363
|
+
- `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/rest/shared/widget/ISingleEntitySelectionProducer.java` - Producer interface
|
|
364
|
+
|
|
365
|
+
### Localization
|
|
366
|
+
- `cf.cplace.platform/src/main/resources/cf/cplace/platform/messages_en.properties` - English strings
|
|
367
|
+
- `cf.cplace.platform/src/main/resources/cf/cplace/platform/messages_de.properties` - German strings
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 9. Additional Notes
|
|
372
|
+
|
|
373
|
+
### Best Practices
|
|
374
|
+
|
|
375
|
+
1. **Widget Naming**: Give the connected table widget a clear title, as it's displayed in the "no selection" message
|
|
376
|
+
2. **Layout Design**: Use the grid system thoughtfully - group related attributes logically
|
|
377
|
+
3. **Performance**: For tables with many rows, this pattern is more efficient than showing all details in table columns
|
|
378
|
+
4. **User Experience**: Always configure the "Show Frame" and title to make it clear what entity is being displayed
|
|
379
|
+
|
|
380
|
+
### Limitations
|
|
381
|
+
|
|
382
|
+
1. **Single Selection Only**: Only responds to single entity selection, not multi-select
|
|
383
|
+
2. **Same Page Requirement**: The connected table must be on the same page
|
|
384
|
+
3. **One Connection**: Can only connect to one table widget at a time
|
|
385
|
+
4. **Limited Producer Types**: Currently only `TableWidgetDefinition` implements `ISingleEntitySelectionProducer`
|
|
386
|
+
|
|
387
|
+
### Future Considerations
|
|
388
|
+
|
|
389
|
+
- The `USE_NEW_FRONTEND` flag indicates ongoing migration to Angular
|
|
390
|
+
- More widget types may implement `ISingleEntitySelectionProducer` in the future
|
|
391
|
+
- The layout system may be enhanced with additional capabilities
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## 10. Related Research
|
|
396
|
+
|
|
397
|
+
For deeper understanding of specific aspects:
|
|
398
|
+
|
|
399
|
+
1. **Configuration Details**: See `/Users/thomasbuechner/dev/repos/main/specs/2026-01-12_connected-attributes-group-widget-parameters/research.md` for comprehensive parameter documentation
|
|
400
|
+
2. **Attributes Group (Non-connected)**: Compare with `AttributesGroupWidgetDefinition` to understand the static variant
|
|
401
|
+
3. **Table Widget**: Research `TableWidgetDefinition` to understand the producer side of the connection
|
|
402
|
+
4. **Layout System**: Investigate `LayoutConstraint` and `WidgetContainer` for layout internals
|
|
403
|
+
5. **Connected Widgets Pattern**: Study other connected widget implementations for the broader pattern
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
**Research Status**: Complete
|
|
408
|
+
**Last Updated**: 2026-01-16
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Widget Research: cf.cplace.platform.dynamicIframe
|
|
2
|
+
|
|
3
|
+
## Widget Overview
|
|
4
|
+
|
|
5
|
+
**Widget ID:** `cf.cplace.platform.dynamicIframe`
|
|
6
|
+
**Widget Name:** Dynamic Inline Frame
|
|
7
|
+
**Repository:** main
|
|
8
|
+
**Definition Class:** `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/DynamicIframeWidgetDefinition.java:48`
|
|
9
|
+
|
|
10
|
+
## Description
|
|
11
|
+
|
|
12
|
+
The Dynamic Inline Frame widget embeds external web content in an iframe with dynamic URL generation based on page attributes. It allows users to create URLs that incorporate attribute values from the embedding page using a pattern-based syntax.
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
This widget extends the standard Inline Frame widget by enabling **dynamic URL construction** using page attributes. Instead of a static URL, users can define URL patterns that reference page attributes, which are then substituted with actual values at runtime. This allows for context-aware embedding of external content based on the data of the current page.
|
|
17
|
+
|
|
18
|
+
## Core Functionality
|
|
19
|
+
|
|
20
|
+
### Dynamic URL Pattern Interpretation
|
|
21
|
+
|
|
22
|
+
The widget uses attribute interpretation patterns to build URLs dynamically:
|
|
23
|
+
|
|
24
|
+
- **Pattern Syntax:** Attribute names are referenced using angle brackets `<attributeName>`
|
|
25
|
+
- **URL Encoding:** When attributes are part of a larger URL pattern (e.g., `https://example.com/page?id=<attribute>`), the attribute values are automatically URL-encoded
|
|
26
|
+
- **Special Case:** When the entire URL is a single attribute reference (e.g., `<url>`), the value is used without encoding to allow storing complete URLs in attributes
|
|
27
|
+
|
|
28
|
+
**Example patterns:**
|
|
29
|
+
- `https://docs.cplace.io/` - Static URL (should use regular Inline Frame widget instead)
|
|
30
|
+
- `https://docs.cplace.io/<pageId>` - Dynamic URL with single attribute
|
|
31
|
+
- `https://api.example.com/resource?id=<resourceId>&type=<resourceType>` - Dynamic URL with multiple attributes
|
|
32
|
+
|
|
33
|
+
### Display Modes
|
|
34
|
+
|
|
35
|
+
The widget supports two display modes:
|
|
36
|
+
|
|
37
|
+
1. **Inline Frame Mode (default):** Embeds the external content directly in an iframe within the page
|
|
38
|
+
2. **Button Mode:** Shows only a button that opens the URL in a new browser tab/window
|
|
39
|
+
|
|
40
|
+
The button mode is useful when:
|
|
41
|
+
- Iframe embedding is not desired or not possible
|
|
42
|
+
- External sites don't allow iframe embedding (X-Frame-Options)
|
|
43
|
+
- Users prefer to open content in a separate tab
|
|
44
|
+
|
|
45
|
+
## Configuration Options
|
|
46
|
+
|
|
47
|
+
Based on the widget definition class (`DynamicIframeWidgetDefinition.java:245-299`):
|
|
48
|
+
|
|
49
|
+
### Main Configuration Attributes
|
|
50
|
+
|
|
51
|
+
1. **URL Pattern** (`cf.cplace.dynamicIframe.urlPattern`)
|
|
52
|
+
- Type: String (required)
|
|
53
|
+
- Purpose: Defines the URL pattern with attribute placeholders
|
|
54
|
+
- Help Text: "You can use attribute names in angle brackets <>, to include attributes of the embedding page."
|
|
55
|
+
- Validation: Must contain at least one valid attribute reference; referenced attributes must exist in the page type
|
|
56
|
+
|
|
57
|
+
2. **Title** (`cf.cplace.dynamicIframe.localizedTitle`)
|
|
58
|
+
- Type: Localized String (required)
|
|
59
|
+
- Purpose: Sets the widget title displayed to users
|
|
60
|
+
|
|
61
|
+
3. **Show only Button** (`cf.cplace.dynamicIframe.onlyButton`)
|
|
62
|
+
- Type: Boolean (default: false)
|
|
63
|
+
- Purpose: Toggle between iframe and button-only display mode
|
|
64
|
+
- Help Text: "If this option is set, instead of showing an IFrame only a button to open in a new tab will be shown."
|
|
65
|
+
|
|
66
|
+
4. **Button Label** (`cf.cplace.dynamicIframe.buttonLabel`)
|
|
67
|
+
- Type: String (optional)
|
|
68
|
+
- Purpose: Custom label for the button in button mode
|
|
69
|
+
- Default: "Open Page" if not specified
|
|
70
|
+
|
|
71
|
+
5. **Height** (`HEIGHT`)
|
|
72
|
+
- Type: Number
|
|
73
|
+
- Purpose: Sets the fixed height of the iframe widget
|
|
74
|
+
|
|
75
|
+
## Use Cases
|
|
76
|
+
|
|
77
|
+
### 1. External Documentation Integration
|
|
78
|
+
Display context-specific documentation based on page attributes:
|
|
79
|
+
- **Pattern:** `https://docs.company.com/<productId>/manual.html`
|
|
80
|
+
- **Scenario:** Each product page shows its specific documentation manual
|
|
81
|
+
- **Benefit:** Users get relevant documentation without manual navigation
|
|
82
|
+
|
|
83
|
+
### 2. External API Visualization
|
|
84
|
+
Embed dashboards or reports from external systems:
|
|
85
|
+
- **Pattern:** `https://analytics.company.com/dashboard?project=<projectId>&date=<reportDate>`
|
|
86
|
+
- **Scenario:** Project pages display real-time analytics from an external BI tool
|
|
87
|
+
- **Benefit:** Consolidated view of project data from multiple systems
|
|
88
|
+
|
|
89
|
+
### 3. Third-Party Tool Integration
|
|
90
|
+
Integrate with external tools based on page context:
|
|
91
|
+
- **Pattern:** `https://jira.company.com/browse/<ticketId>`
|
|
92
|
+
- **Scenario:** Display Jira tickets within cplace pages
|
|
93
|
+
- **Benefit:** Seamless integration with external project management tools
|
|
94
|
+
|
|
95
|
+
### 4. Dynamic Map Embedding
|
|
96
|
+
Show location-based content:
|
|
97
|
+
- **Pattern:** `https://maps.google.com/maps?q=<address>&output=embed`
|
|
98
|
+
- **Scenario:** Location pages display embedded maps based on address attribute
|
|
99
|
+
- **Benefit:** Visual representation of location data
|
|
100
|
+
|
|
101
|
+
### 5. External Form Integration
|
|
102
|
+
Link to external forms with pre-filled data:
|
|
103
|
+
- **Pattern:** `https://forms.company.com/submit?user=<userId>&project=<projectCode>`
|
|
104
|
+
- **Scenario:** Users can access forms with context automatically filled in
|
|
105
|
+
- **Benefit:** Streamlined data entry across systems
|
|
106
|
+
|
|
107
|
+
### 6. Relative URL Embedding
|
|
108
|
+
Embed content from within the cplace instance:
|
|
109
|
+
- **Pattern:** `/static/<customPath>/index.html`
|
|
110
|
+
- **Scenario:** Custom static content served from the cplace server
|
|
111
|
+
- **Benefit:** Self-contained custom visualizations or tools
|
|
112
|
+
|
|
113
|
+
## Relationship to Other Widgets
|
|
114
|
+
|
|
115
|
+
### Inline Frame Widget (`cf.platform.iframe`)
|
|
116
|
+
The Dynamic Inline Frame widget extends the functionality of the standard Inline Frame widget:
|
|
117
|
+
|
|
118
|
+
- **Inline Frame Widget:** Uses a static URL defined in the widget configuration
|
|
119
|
+
- **Dynamic Inline Frame Widget:** Uses a dynamic URL pattern that incorporates page attribute values
|
|
120
|
+
|
|
121
|
+
**When to use each:**
|
|
122
|
+
- Use **Inline Frame** for static URLs that don't change based on page content
|
|
123
|
+
- Use **Dynamic Inline Frame** when the URL should vary based on page attributes
|
|
124
|
+
|
|
125
|
+
Both widgets share:
|
|
126
|
+
- Same icon (`fa-laptop`)
|
|
127
|
+
- Similar rendering logic (through `IframeWidgetDefinition.iframe()`)
|
|
128
|
+
- Security validation (blocking javascript:, data: URLs)
|
|
129
|
+
- Height configuration option
|
|
130
|
+
- Relative URL conversion to absolute URLs
|
|
131
|
+
|
|
132
|
+
## Technical Implementation Details
|
|
133
|
+
|
|
134
|
+
### URL Pattern Validation
|
|
135
|
+
|
|
136
|
+
The widget validates URL patterns through `IframeUrlValidator` (`DynamicIframeWidgetDefinition.java:87-131`):
|
|
137
|
+
|
|
138
|
+
1. **Pattern must contain at least one attribute:** Empty or static patterns are invalid (should use Inline Frame widget)
|
|
139
|
+
2. **Referenced attributes must exist:** All attributes in angle brackets must be defined in the page type
|
|
140
|
+
3. **Attributes must not be empty:** If referenced attributes have no value, the widget shows an error
|
|
141
|
+
|
|
142
|
+
### Security Features
|
|
143
|
+
|
|
144
|
+
Security validation is performed through `IframeWidgetDefinition.validateIframeSrc()`:
|
|
145
|
+
|
|
146
|
+
1. **JavaScript URLs blocked:** Patterns like `javascript:alert('xss')` are rejected
|
|
147
|
+
2. **Data URLs blocked:** Data URIs are not allowed for security reasons
|
|
148
|
+
3. **URL validation:** The resulting URL must pass URL validation for the current tenant
|
|
149
|
+
|
|
150
|
+
### URL Encoding Strategy
|
|
151
|
+
|
|
152
|
+
The widget applies intelligent URL encoding based on the pattern structure (`DynamicIframeWidgetDefinition.java:161-170`):
|
|
153
|
+
|
|
154
|
+
- **Single attribute pattern** (`<url>`): No encoding applied - allows storing complete URLs in attributes
|
|
155
|
+
- **Composite patterns** (`https://example.com/<id>`): Attribute values are URL-encoded to ensure valid URLs
|
|
156
|
+
|
|
157
|
+
This is documented in the test class (`TestDynamicIframeWidgetDefinition.java:83-87`):
|
|
158
|
+
> "We support encoded attribute values as part of a larger pattern, like in `http://example.com/path?id=<attribute>`. We do not support providing the path as a variable, i.e. something like `<url>?id=<attribute>` is currently accepted, but will generate an invalid URL, because each attribute value including `url` is encoded. As a special case, we allow providing the whole URL as a single attribute without surrounding text, like in `<url>`, and the attribute value will be taken without encoding."
|
|
159
|
+
|
|
160
|
+
### Error Handling
|
|
161
|
+
|
|
162
|
+
The widget displays user-friendly error messages in the following scenarios:
|
|
163
|
+
|
|
164
|
+
1. **Empty URL:** "The resulting URL of the inline frame is empty."
|
|
165
|
+
2. **Invalid pattern:** "The attribute generation pattern is invalid. Angle brackets <> may only be used to indicate attributes. A pattern must contain at least one attribute. To embed content from static URLs use 'Inline Frame' widget."
|
|
166
|
+
3. **Malformed URL:** "The generated URL of the inline frame is invalid: {url}"
|
|
167
|
+
4. **Undefined attributes:** "One or more attributes used here do not exist in type {typeName}. Check spelling of attribute names (<{attributeName}>)."
|
|
168
|
+
|
|
169
|
+
Error messages are displayed in a Bootstrap alert box instead of the iframe content (`dynamicIframeWidgetDefinition.htm:8-11`).
|
|
170
|
+
|
|
171
|
+
## Prerequisites and Dependencies
|
|
172
|
+
|
|
173
|
+
### Required Conditions
|
|
174
|
+
- Widget must be embedded on a **Page** object (checked at runtime in `interpretUrlPattern()`)
|
|
175
|
+
- Referenced attributes must exist in the page type definition
|
|
176
|
+
- Referenced attributes must have values (non-empty) for successful URL generation
|
|
177
|
+
|
|
178
|
+
### Related Classes
|
|
179
|
+
- `AttributeInterpretationPatternUtils`: Handles the parsing and interpretation of attribute patterns
|
|
180
|
+
- `IframeWidgetDefinition`: Provides shared iframe rendering and validation logic
|
|
181
|
+
- `UrlValidator`: Validates the generated URLs for security and correctness
|
|
182
|
+
|
|
183
|
+
## Migration Notes
|
|
184
|
+
|
|
185
|
+
The widget includes migration support (`DynamicIframeWidgetDefinition.java:241-243`):
|
|
186
|
+
- Migrates from deprecated `TITLE` (String) to `LOCALIZED_TITLE` (LocalizedString)
|
|
187
|
+
- Ensures backward compatibility with older widget configurations
|
|
188
|
+
|
|
189
|
+
## Implementation Context
|
|
190
|
+
|
|
191
|
+
This widget is part of the **cf.cplace.platform** plugin, which provides core platform functionality. It's a fundamental widget available in all cplace installations and doesn't require any additional plugins or licenses.
|
|
192
|
+
|
|
193
|
+
The widget uses the cplace attribute interpretation framework, which is also used in other platform features like:
|
|
194
|
+
- Text attribute patterns
|
|
195
|
+
- Computed attributes
|
|
196
|
+
- Dynamic naming patterns
|
|
197
|
+
|
|
198
|
+
This ensures consistent behavior and syntax across the platform for attribute-based dynamic content generation.
|