Skip to content

Commit 1d96c9a

Browse files
authored
Feat/select component clear option optional (#1492)
* feat(select): configurable clear selected option * feat(select): default show clear selected to false * test(select): fix test cases
1 parent e726159 commit 1d96c9a

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

projects/components/src/select/select.component.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ describe('Select Component', () => {
346346
test('should show clear selected button', fakeAsync(() => {
347347
spectator = hostFactory(
348348
`
349-
<ht-select [selected]="selected">
349+
<ht-select [selected]="selected" [showClearSelected]="true">
350350
<ht-select-option *ngFor="let option of options" [label]="option.label" [value]="option.value" [selectedLabel]="option.selectedLabel">
351351
</ht-select-option>
352352
</ht-select>`,

projects/components/src/select/select.component.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ import { SelectSize } from './select-size';
6969
<ng-container
7070
[ngTemplateOutlet]="selected?.selectOptionRenderer?.getTemplateRef() ?? defaultMenuWithBorderTriggerTemplate"
7171
></ng-container>
72-
<ht-icon class="trigger-icon" icon="${IconType.ChevronDown}" size="${IconSize.ExtraSmall}"> </ht-icon>
73-
<ng-template #defaultMenuWithBorderTriggerTemplate
74-
><ht-icon
72+
<ht-icon class="trigger-icon" icon="${IconType.ChevronDown}" size="${IconSize.ExtraSmall}"></ht-icon>
73+
<ng-template #defaultMenuWithBorderTriggerTemplate>
74+
<ht-icon
7575
*ngIf="this.getPrefixIcon(selected)"
7676
class="trigger-prefix-icon"
7777
[icon]="this.getPrefixIcon(selected)"
@@ -111,14 +111,14 @@ import { SelectSize } from './select-size';
111111
<ng-container
112112
[ngTemplateOutlet]="selected?.selectOptionRenderer?.getTemplateRef() ?? defaultMenuWithBackgroundTriggerTemplate"
113113
></ng-container>
114-
<ng-template #defaultMenuWithBackgroundTriggerTemplate
115-
><ht-label
114+
<ng-template #defaultMenuWithBackgroundTriggerTemplate>
115+
<ht-label
116116
class="trigger-label"
117117
[label]="selected?.selectedLabel || selected?.label || this.placeholder"
118118
>
119-
</ht-label
120-
></ng-template>
121-
<ht-icon class="trigger-icon" icon="${IconType.ChevronDown}" size="${IconSize.ExtraSmall}"> </ht-icon>
119+
</ht-label>
120+
</ng-template>
121+
<ht-icon class="trigger-icon" icon="${IconType.ChevronDown}" size="${IconSize.ExtraSmall}"></ht-icon>
122122
</div>
123123
</div>
124124
</ht-popover-trigger>
@@ -137,7 +137,7 @@ import { SelectSize } from './select-size';
137137
</ng-container>
138138
<ht-button
139139
class="clear-selected"
140-
*ngIf="this.selected !== undefined"
140+
*ngIf="this.showClearSelected && this.selected !== undefined"
141141
role="${ButtonRole.Primary}"
142142
display="${ButtonStyle.Text}"
143143
size="${ButtonSize.ExtraSmall}"
@@ -178,8 +178,8 @@ import { SelectSize } from './select-size';
178178
</div>
179179
</ng-template>
180180
181-
<ng-template #defaultSelectOptionTemplate let-item
182-
><div class="select-option-info">
181+
<ng-template #defaultSelectOptionTemplate let-item>
182+
<div class="select-option-info">
183183
<ht-icon
184184
*ngIf="item.icon"
185185
class="icon"
@@ -224,6 +224,9 @@ export class SelectComponent<V> implements ControlValueAccessor, AfterContentIni
224224
@Input()
225225
public showBorder: boolean = false;
226226

227+
@Input()
228+
public showClearSelected: boolean = false;
229+
227230
@Input()
228231
public justify?: SelectJustify;
229232

0 commit comments

Comments
 (0)