diff --git a/packages/pluggableWidgets/checkbox-radio-selection-web/CHANGELOG.md b/packages/pluggableWidgets/checkbox-radio-selection-web/CHANGELOG.md index b0cfd176d8..44610e61b8 100644 --- a/packages/pluggableWidgets/checkbox-radio-selection-web/CHANGELOG.md +++ b/packages/pluggableWidgets/checkbox-radio-selection-web/CHANGELOG.md @@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Added + +- Added aria-label property + +### Changed + +- The Caption property now appears below Entity. +- The Caption property is now only visible if Custom content is set to 'No'. +- Moved the Group name attribute to the General tab in the General property group. + ## [1.0.0] - 2025-08-25 ### Added diff --git a/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.editorConfig.ts b/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.editorConfig.ts index b890005ac6..a6de88c188 100644 --- a/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.editorConfig.ts +++ b/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.editorConfig.ts @@ -133,6 +133,22 @@ export function getProperties( }); } + if (values.optionsSourceCustomContentType === "yes") { + if (values.source === "context" && values.optionsSourceType === "association") { + hidePropertiesIn(defaultProperties, values, [ + "optionsSourceAssociationCaptionType", + "optionsSourceAssociationCaptionAttribute", + "optionsSourceAssociationCaptionExpression" + ]); + } else if (values.source === "database") { + hidePropertiesIn(defaultProperties, values, [ + "optionsSourceDatabaseCaptionType", + "optionsSourceDatabaseCaptionAttribute", + "optionsSourceDatabaseCaptionExpression" + ]); + } + } + return defaultProperties; } diff --git a/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.xml b/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.xml index 24fab78561..68b33d7315 100644 --- a/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.xml +++ b/packages/pluggableWidgets/checkbox-radio-selection-web/src/CheckboxRadioSelection.xml @@ -59,6 +59,44 @@ + + + Value + + + + + + + + + + Target attribute + + + + + + + + + + + + + + Entity + + + + + + + + Selectable objects + + + @@ -103,44 +141,6 @@ - - - Value - - - - - - - - - - Target attribute - - - - - - - - - - - - - - Entity - - - - - - - - Selectable objects - - - @@ -214,6 +214,11 @@ Radio button + + Group name + Name for the group of associated inputs + + @@ -271,10 +276,9 @@ - - Group name + + Aria label - diff --git a/packages/pluggableWidgets/checkbox-radio-selection-web/src/__tests__/CheckboxRadioSelection.spec.tsx b/packages/pluggableWidgets/checkbox-radio-selection-web/src/__tests__/CheckboxRadioSelection.spec.tsx index fa4082c77d..72c00b4340 100644 --- a/packages/pluggableWidgets/checkbox-radio-selection-web/src/__tests__/CheckboxRadioSelection.spec.tsx +++ b/packages/pluggableWidgets/checkbox-radio-selection-web/src/__tests__/CheckboxRadioSelection.spec.tsx @@ -69,6 +69,7 @@ describe("CheckboxRadioSelection", () => { customEditabilityExpression: { status: "available", value: false } as any, readOnlyStyle: "bordered" as const, ariaRequired: { status: "available", value: false } as any, + ariaLabel: "", controlType: "checkbox" as const }; diff --git a/packages/pluggableWidgets/checkbox-radio-selection-web/typings/CheckboxRadioSelectionProps.d.ts b/packages/pluggableWidgets/checkbox-radio-selection-web/typings/CheckboxRadioSelectionProps.d.ts index 73d66d4f20..13b22642e8 100644 --- a/packages/pluggableWidgets/checkbox-radio-selection-web/typings/CheckboxRadioSelectionProps.d.ts +++ b/packages/pluggableWidgets/checkbox-radio-selection-web/typings/CheckboxRadioSelectionProps.d.ts @@ -45,16 +45,16 @@ export interface CheckboxRadioSelectionContainerProps { attributeBoolean: EditableValue; optionsSourceDatabaseDataSource?: ListValue; optionsSourceDatabaseItemSelection?: SelectionSingleValue | SelectionMultiValue; + optionsSourceDatabaseValueAttribute?: ListAttributeValue; + databaseAttributeString?: EditableValue; + attributeAssociation: ReferenceValue | ReferenceSetValue; + optionsSourceAssociationDataSource?: ListValue; optionsSourceAssociationCaptionType: OptionsSourceAssociationCaptionTypeEnum; optionsSourceDatabaseCaptionType: OptionsSourceDatabaseCaptionTypeEnum; optionsSourceAssociationCaptionAttribute?: ListAttributeValue; optionsSourceDatabaseCaptionAttribute?: ListAttributeValue; optionsSourceAssociationCaptionExpression?: ListExpressionValue; optionsSourceDatabaseCaptionExpression?: ListExpressionValue; - optionsSourceDatabaseValueAttribute?: ListAttributeValue; - databaseAttributeString?: EditableValue; - attributeAssociation: ReferenceValue | ReferenceSetValue; - optionsSourceAssociationDataSource?: ListValue; staticAttribute: EditableValue; optionsSourceStaticDataSource: OptionsSourceStaticDataSourceType[]; noOptionsText?: DynamicValue; @@ -62,12 +62,13 @@ export interface CheckboxRadioSelectionContainerProps { optionsSourceAssociationCustomContent?: ListWidgetValue; optionsSourceDatabaseCustomContent?: ListWidgetValue; controlType: ControlTypeEnum; + groupName?: DynamicValue; customEditability: CustomEditabilityEnum; customEditabilityExpression: DynamicValue; readOnlyStyle: ReadOnlyStyleEnum; onChangeEvent?: ActionValue; ariaRequired: DynamicValue; - groupName?: DynamicValue; + ariaLabel: string; } export interface CheckboxRadioSelectionPreviewProps { @@ -80,16 +81,16 @@ export interface CheckboxRadioSelectionPreviewProps { attributeBoolean: string; optionsSourceDatabaseDataSource: {} | { caption: string } | { type: string } | null; optionsSourceDatabaseItemSelection: "Single" | "Multi" | "None"; + optionsSourceDatabaseValueAttribute: string; + databaseAttributeString: string; + attributeAssociation: string; + optionsSourceAssociationDataSource: {} | { caption: string } | { type: string } | null; optionsSourceAssociationCaptionType: OptionsSourceAssociationCaptionTypeEnum; optionsSourceDatabaseCaptionType: OptionsSourceDatabaseCaptionTypeEnum; optionsSourceAssociationCaptionAttribute: string; optionsSourceDatabaseCaptionAttribute: string; optionsSourceAssociationCaptionExpression: string; optionsSourceDatabaseCaptionExpression: string; - optionsSourceDatabaseValueAttribute: string; - databaseAttributeString: string; - attributeAssociation: string; - optionsSourceAssociationDataSource: {} | { caption: string } | { type: string } | null; staticAttribute: string; optionsSourceStaticDataSource: OptionsSourceStaticDataSourcePreviewType[]; noOptionsText: string; @@ -97,11 +98,12 @@ export interface CheckboxRadioSelectionPreviewProps { optionsSourceAssociationCustomContent: { widgetCount: number; renderer: ComponentType<{ children: ReactNode; caption?: string }> }; optionsSourceDatabaseCustomContent: { widgetCount: number; renderer: ComponentType<{ children: ReactNode; caption?: string }> }; controlType: ControlTypeEnum; + groupName: string; customEditability: CustomEditabilityEnum; customEditabilityExpression: string; readOnlyStyle: ReadOnlyStyleEnum; onChangeEvent: {} | null; onChangeDatabaseEvent: {} | null; ariaRequired: string; - groupName: string; + ariaLabel: string; }