Skip to content

Commit eed6441

Browse files
authored
refactor(cdk-experimental/listbox): rename multiselectable to multi (#30804)
1 parent 9bf4be9 commit eed6441

File tree

6 files changed

+20
-20
lines changed

6 files changed

+20
-20
lines changed

src/cdk-experimental/listbox/listbox.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import {_IdGenerator} from '@angular/cdk/a11y';
4444
'[attr.tabindex]': 'pattern.tabindex()',
4545
'[attr.aria-disabled]': 'pattern.disabled()',
4646
'[attr.aria-orientation]': 'pattern.orientation()',
47-
'[attr.aria-multiselectable]': 'pattern.multiselectable()',
47+
'[attr.aria-multiselectable]': 'pattern.multi()',
4848
'[attr.aria-activedescendant]': 'pattern.activedescendant()',
4949
'(keydown)': 'pattern.onKeydown($event)',
5050
'(pointerdown)': 'pattern.onPointerdown($event)',
@@ -69,7 +69,7 @@ export class CdkListbox<V> {
6969
orientation = input<'vertical' | 'horizontal'>('vertical');
7070

7171
/** Whether multiple items in the list can be selected at once. */
72-
multiselectable = input(false, {transform: booleanAttribute});
72+
multi = input(false, {transform: booleanAttribute});
7373

7474
/** Whether focus should wrap when navigating. */
7575
wrap = input(true, {transform: booleanAttribute});

src/cdk-experimental/ui-patterns/behaviors/list-selection/list-selection.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ describe('List Selection', () => {
5151
items,
5252
navigation,
5353
value: signal<V[]>([]),
54-
multiselectable: signal(true),
54+
multi: signal(true),
5555
selectionMode: signal('explicit'),
5656
...args,
5757
});
@@ -83,7 +83,7 @@ describe('List Selection', () => {
8383
const items = getItems([0, 1, 2, 3, 4]);
8484
const nav = getNavigation(items);
8585
const selection = getSelection(items, nav, {
86-
multiselectable: signal(false),
86+
multi: signal(false),
8787
});
8888

8989
selection.select(); // [0]

src/cdk-experimental/ui-patterns/behaviors/list-selection/list-selection.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export interface ListSelectionInputs<T extends ListSelectionItem<V>, V> {
2525
items: SignalLike<T[]>;
2626

2727
/** Whether multiple items in the list can be selected at once. */
28-
multiselectable: SignalLike<boolean>;
28+
multi: SignalLike<boolean>;
2929

3030
/** The current value of the list selection. */
3131
value: WritableSignalLike<V[]>;
@@ -54,7 +54,7 @@ export class ListSelection<T extends ListSelectionItem<V>, V> {
5454
return;
5555
}
5656

57-
if (!this.inputs.multiselectable()) {
57+
if (!this.inputs.multi()) {
5858
this.deselectAll();
5959
}
6060

@@ -86,7 +86,7 @@ export class ListSelection<T extends ListSelectionItem<V>, V> {
8686

8787
/** Selects all items in the list. */
8888
selectAll() {
89-
if (!this.inputs.multiselectable()) {
89+
if (!this.inputs.multi()) {
9090
return; // Should we log a warning?
9191
}
9292

src/cdk-experimental/ui-patterns/listbox/listbox.spec.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ describe('Listbox Pattern', () => {
3535
wrap: inputs.wrap ?? signal(true),
3636
disabled: inputs.disabled ?? signal(false),
3737
skipDisabled: inputs.skipDisabled ?? signal(true),
38-
multiselectable: inputs.multiselectable ?? signal(false),
38+
multi: inputs.multi ?? signal(false),
3939
focusMode: inputs.focusMode ?? signal('roving'),
4040
textDirection: inputs.textDirection ?? signal('ltr'),
4141
orientation: inputs.orientation ?? signal('vertical'),
@@ -155,7 +155,7 @@ describe('Listbox Pattern', () => {
155155
it('should select an option on navigation', () => {
156156
const {listbox} = getDefaultPatterns({
157157
value: signal(['Apple']),
158-
multiselectable: signal(false),
158+
multi: signal(false),
159159
selectionMode: signal('follow'),
160160
});
161161

@@ -187,7 +187,7 @@ describe('Listbox Pattern', () => {
187187
listbox = getDefaultPatterns({
188188
value: signal([]),
189189
selectionMode: signal('explicit'),
190-
multiselectable: signal(false),
190+
multi: signal(false),
191191
}).listbox;
192192
});
193193

@@ -216,7 +216,7 @@ describe('Listbox Pattern', () => {
216216
listbox = getDefaultPatterns({
217217
value: signal([]),
218218
selectionMode: signal('explicit'),
219-
multiselectable: signal(true),
219+
multi: signal(true),
220220
}).listbox;
221221
});
222222

@@ -285,7 +285,7 @@ describe('Listbox Pattern', () => {
285285
beforeEach(() => {
286286
listbox = getDefaultPatterns({
287287
value: signal(['Apple']),
288-
multiselectable: signal(true),
288+
multi: signal(true),
289289
selectionMode: signal('follow'),
290290
}).listbox;
291291
});

src/cdk-experimental/ui-patterns/listbox/listbox.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class ListboxPattern<V> {
6363
activedescendant = computed(() => this.focusManager.getActiveDescendant());
6464

6565
/** Whether multiple items in the list can be selected at once. */
66-
multiselectable: SignalLike<boolean>;
66+
multi: SignalLike<boolean>;
6767

6868
/** The number of items in the listbox. */
6969
setsize = computed(() => this.navigation.inputs.items().length);
@@ -112,7 +112,7 @@ export class ListboxPattern<V> {
112112
.on(this.typeaheadRegexp, e => this.search(e.key, {selectOne: true}));
113113
}
114114

115-
if (this.inputs.multiselectable()) {
115+
if (this.inputs.multi()) {
116116
manager
117117
.on(Modifier.Shift, ' ', () => this._updateSelection({selectFromAnchor: true}))
118118
.on(Modifier.Shift, 'Enter', () => this._updateSelection({selectFromAnchor: true}))
@@ -123,17 +123,17 @@ export class ListboxPattern<V> {
123123
.on(Modifier.Ctrl, 'A', () => this._updateSelection({selectAll: true}));
124124
}
125125

126-
if (!this.followFocus() && this.inputs.multiselectable()) {
126+
if (!this.followFocus() && this.inputs.multi()) {
127127
manager.on(' ', () => this._updateSelection({toggle: true}));
128128
manager.on('Enter', () => this._updateSelection({toggle: true}));
129129
}
130130

131-
if (!this.followFocus() && !this.inputs.multiselectable()) {
131+
if (!this.followFocus() && !this.inputs.multi()) {
132132
manager.on(' ', () => this._updateSelection({toggleOne: true}));
133133
manager.on('Enter', () => this._updateSelection({toggleOne: true}));
134134
}
135135

136-
if (this.inputs.multiselectable() && this.followFocus()) {
136+
if (this.inputs.multi() && this.followFocus()) {
137137
manager
138138
.on(Modifier.Ctrl, this.prevKey, () => this.prev())
139139
.on(Modifier.Ctrl, this.nextKey, () => this.next())
@@ -150,7 +150,7 @@ export class ListboxPattern<V> {
150150
pointerdown = computed(() => {
151151
const manager = new PointerEventManager();
152152

153-
if (this.inputs.multiselectable()) {
153+
if (this.inputs.multi()) {
154154
manager
155155
.on(e => this.goto(e, {toggle: true}))
156156
.on(Modifier.Shift, e => this.goto(e, {selectFromActive: true}));
@@ -164,7 +164,7 @@ export class ListboxPattern<V> {
164164
constructor(readonly inputs: ListboxInputs<V>) {
165165
this.disabled = inputs.disabled;
166166
this.orientation = inputs.orientation;
167-
this.multiselectable = inputs.multiselectable;
167+
this.multi = inputs.multi;
168168

169169
this.navigation = new ListNavigation(inputs);
170170
this.selection = new ListSelection({...inputs, navigation: this.navigation});

src/components-examples/cdk-experimental/listbox/cdk-listbox/cdk-listbox-example.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
cdkListbox
3535
[wrap]="wrap.value"
3636
[disabled]="disabled.value"
37-
[multiselectable]="multi.value"
37+
[multi]="multi.value"
3838
[skipDisabled]="skipDisabled.value"
3939
[orientation]="orientation"
4040
[focusMode]="focusMode"

0 commit comments

Comments
 (0)