Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,18 @@
<dxc-heading text="Light Mode" [level]="5" margin="xsmall"></dxc-heading>
<background-provider color="#FFFFFF">
<tbuilder-component-mode text="Default">
<dxc-select label="Label" helperText="HelperText" margin="xsmall" [options]="array1" (onChange)="onChange($event)"
(onBlur)="onBlur($event)" [optional]="true" placeholder="Another placeholder" size="large" tabIndex="3">
<dxc-select
label="Label"
helperText="HelperText"
margin="xsmall"
[options]="array1"
(onChange)="onChange($event)"
(onBlur)="onBlur($event)"
[optional]="true"
placeholder="Another placeholder"
size="large"
tabIndex="3"
>
</dxc-select>
<dxc-select
label="Label"
Expand All @@ -17,51 +27,135 @@
</tbuilder-component-mode>

<tbuilder-component-mode text="Searchable">
<dxc-select label="Label" helperText="HelperText" searchable="true" margin="xsmall" [options]="array1"
[optional]="true" placeholder="Another placeholder">
<dxc-select
label="Label"
helperText="HelperText"
searchable="true"
margin="xsmall"
[options]="array1"
[optional]="true"
placeholder="Another placeholder"
>
</dxc-select>
<dxc-select label="Label" helperText="HelperText" searchable="true" margin="xsmall" [options]="array2"
placeholder="Another placeholder">
<dxc-select
label="Label"
helperText="HelperText"
searchable="true"
margin="xsmall"
[options]="array2"
placeholder="Another placeholder"
>
</dxc-select>
<dxc-select label="Label" helperText="HelperText" searchable="true" margin="xsmall" [options]="array2"
[multiple]="true" (onChange)="onChange($event)" (onBlur)="onBlur($event)" placeholder="Another placeholder">
<dxc-select
label="Label"
helperText="HelperText"
searchable="true"
margin="xsmall"
[options]="array2"
[multiple]="true"
(onChange)="onChange($event)"
(onBlur)="onBlur($event)"
placeholder="Another placeholder"
>
</dxc-select>
</tbuilder-component-mode>

<tbuilder-component-mode text="Multiple">
<dxc-select label="Label" helperText="HelperText" multiple="true" (onChange)="onChange($event)" margin="xsmall"
[options]="array1" [value]="arrayValue">
<dxc-select
label="Label"
helperText="HelperText"
multiple="true"
(onChange)="onChange($event)"
margin="xsmall"
[options]="array1"
[value]="arrayValue"
>
</dxc-select>
<dxc-select label="Label" helperText="HelperText" multiple="true" (onChange)="onChange($event)" margin="xsmall"
[options]="array2">
<dxc-select
label="Label"
helperText="HelperText"
multiple="true"
(onChange)="onChange($event)"
margin="xsmall"
[options]="array2"
>
</dxc-select>
</tbuilder-component-mode>

<tbuilder-component-mode text="Error">
<dxc-select label="Label" helperText="HelperText" error="There is an error" margin="xsmall">
<dxc-select
label="Label"
helperText="HelperText"
error="There is an error"
margin="xsmall"
>
</dxc-select>
</tbuilder-component-mode>

<tbuilder-component-mode text="Error and multiple">
<dxc-select label="Label" helperText="HelperText" error="There is an error" margin="xsmall" [multiple]="true">
<dxc-select
label="Label"
helperText="HelperText"
error="There is an error"
margin="xsmall"
[multiple]="true"
>
</dxc-select>
</tbuilder-component-mode>

<tbuilder-component-mode text="Disabled">
<dxc-select label="Label" helperText="HelperText" error="There is an error" margin="xsmall" [disabled]="true">
<dxc-select
label="Label"
helperText="HelperText"
error="There is an error"
margin="xsmall"
[disabled]="true"
>
</dxc-select>
</tbuilder-component-mode>
</background-provider>

<dxc-heading text="Test reset controlled select" [level]="5" margin="xsmall"></dxc-heading>
<dxc-heading
text="Test reset controlled select"
[level]="5"
margin="xsmall"
></dxc-heading>

<tbuilder-component-mode text="Default">
<dxc-select label="Label" helperText="HelperText" margin="xsmall" [value]="selectedValues" [options]="array1"
(onChange)="onChangeTest($event)" (onBlur)="onBlurTest($event)" [optional]="true"
placeholder="Another placeholder" size="large" tabIndex="3">
<dxc-select
label="Label"
helperText="HelperText"
margin="xsmall"
[value]="selectedValues"
[options]="array1"
(onChange)="onChangeTest($event)"
(onBlur)="onBlurTest($event)"
[optional]="true"
placeholder="Another placeholder"
size="large"
tabIndex="3"
>
</dxc-select>

<dxc-select
label="Controlled not optional"
helperText="HelperText"
margin="xsmall"
[value]="selectedValues"
[options]="array1"
(onChange)="onChangeTest($event)"
(onBlur)="onBlurTest($event)"
placeholder="Another placeholder"
size="large"
tabIndex="3"
>
</dxc-select>

<dxc-button label="Reset values" (onClick)="onResetTest($event)" margin="medium"></dxc-button>
<dxc-button
label="Reset values"
(onClick)="onResetTest($event)"
margin="medium"
></dxc-button>
</tbuilder-component-mode>

<!-- <dxc-heading text="Dark Mode" [level]="5" margin="xsmall"></dxc-heading>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ describe("DxcSelectComponent tests", () => {
});
expect(dxcSelect.getByText("Select label"));
expect(dxcSelect.getByText("Helper Text"));
expect(() => dxcSelect.getByText("Choose an option")).toThrow();
expect(dxcSelect.getByText("label1"));
fireEvent.click(dxcSelect.getByRole("combobox"));
expect(screen.getAllByText("label1")[1].getAttribute("aria-selected")).toBe(
"true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ export class DxcSelectComponent implements OnInit, ControlValueAccessor {

ngOnInit(): void {
this.optionalOption = { label: this.setPlaceholderOptional(), value: "" };
if (this.optional && !this.multiple) {
if (this.optional && !this.multiple && !(this.value || this.value === "")) {
this.service.setSelectedValues(this.optionalOption);
}
this.id = `select-${uuidv4()}`;
Expand All @@ -254,9 +254,8 @@ export class DxcSelectComponent implements OnInit, ControlValueAccessor {
}
} else {
if (this.optionGroupRef) {
const optionGroupElement = this.optionGroupRef?.toArray()[
value.group
];
const optionGroupElement =
this.optionGroupRef?.toArray()[value.group];
optionGroupElement &&
this.scrollByIndex(optionGroupElement, value.option + 1);
}
Expand Down