7
7
*/
8
8
9
9
import {
10
- BaseHarnessFilters ,
11
10
ComponentHarness ,
12
11
ComponentHarnessConstructor ,
13
12
HarnessPredicate
@@ -26,7 +25,8 @@ import {
26
25
ListItemHarnessFilters ,
27
26
ListOptionHarnessFilters ,
28
27
NavListHarnessFilters ,
29
- NavListItemHarnessFilters , SelectionListHarnessFilters ,
28
+ NavListItemHarnessFilters ,
29
+ SelectionListHarnessFilters ,
30
30
SubheaderHarnessFilters
31
31
} from './list-harness-filters' ;
32
32
import {
@@ -48,13 +48,14 @@ export interface ListSection<I> {
48
48
49
49
/**
50
50
* Shared behavior among the harnesses for the various `MatList` flavors.
51
+ * @template T A constructor type for a list item harness type used by this list harness.
52
+ * @template C The list item harness type that `T` constructs.
53
+ * @template F The filter type used filter list item harness of type `C`.
51
54
* @docs -private
52
55
*/
53
56
export class MatListHarnessBase
54
57
<
55
- T extends ( ComponentHarnessConstructor < C > & {
56
- with : ( options ?: BaseHarnessFilters ) => HarnessPredicate < C >
57
- } ) ,
58
+ T extends ( ComponentHarnessConstructor < C > & { with : ( options ?: F ) => HarnessPredicate < C > } ) ,
58
59
C extends ComponentHarness ,
59
60
F extends BaseListItemHarnessFilters
60
61
> extends ComponentHarness {
@@ -72,14 +73,14 @@ export class MatListHarnessBase
72
73
/**
73
74
* Gets a list of `ListSection` representing the list items grouped by subheaders. If the list has
74
75
* no subheaders it is represented as a single `ListSection` with an undefined `heading` property.
75
- * @param filters Optional filters used to narrow which list item harnesses are included
76
+ * @param filters?? Optional filters used to narrow which list item harnesses are included
76
77
* @return The list of items matching the given filters, grouped into sections by subheader.
77
78
*/
78
- async getItemsBySubheader ( filters ?: F ) : Promise < ListSection < C > [ ] > {
79
+ async getItemsGroupedBySubheader ( filters ?: F ) : Promise < ListSection < C > [ ] > {
79
80
const listSections = [ ] ;
80
81
let currentSection : ListSection < C > = { items : [ ] } ;
81
82
const itemsAndSubheaders =
82
- await this . getItemsSubheadersAndDividers ( { item : filters , divider : false } ) ;
83
+ await this . getItemsWithSubheadersAndDividers ( { item : filters , divider : false } ) ;
83
84
for ( const itemOrSubheader of itemsAndSubheaders ) {
84
85
if ( itemOrSubheader instanceof MatSubheaderHarness ) {
85
86
if ( currentSection . heading !== undefined || currentSection . items . length ) {
@@ -103,11 +104,11 @@ export class MatListHarnessBase
103
104
* @param filters Optional filters used to narrow which list item harnesses are included
104
105
* @return The list of items matching the given filters, grouped into sub-lists by divider.
105
106
*/
106
- async getItemsDivided ( filters ?: F ) : Promise < C [ ] [ ] > {
107
+ async getItemsGroupedByDividers ( filters ?: F ) : Promise < C [ ] [ ] > {
107
108
const listSections = [ ] ;
108
109
let currentSection = [ ] ;
109
110
const itemsAndDividers =
110
- await this . getItemsSubheadersAndDividers ( { item : filters , subheader : false } ) ;
111
+ await this . getItemsWithSubheadersAndDividers ( { item : filters , subheader : false } ) ;
111
112
for ( const itemOrDivider of itemsAndDividers ) {
112
113
if ( itemOrDivider instanceof MatDividerHarness ) {
113
114
listSections . push ( currentSection ) ;
@@ -130,47 +131,47 @@ export class MatListHarnessBase
130
131
* @return The list of harnesses representing the items, subheaders, and dividers matching the
131
132
* given filters.
132
133
*/
133
- getItemsSubheadersAndDividers ( filters : {
134
+ getItemsWithSubheadersAndDividers ( filters : {
134
135
item : false ,
135
136
subheader : false ,
136
137
divider : false
137
138
} ) : Promise < [ ] > ;
138
- getItemsSubheadersAndDividers ( filters : {
139
+ getItemsWithSubheadersAndDividers ( filters : {
139
140
item ?: F | false ,
140
141
subheader : false ,
141
142
divider : false
142
143
} ) : Promise < C [ ] > ;
143
- getItemsSubheadersAndDividers ( filters : {
144
+ getItemsWithSubheadersAndDividers ( filters : {
144
145
item : false ,
145
146
subheader ?: SubheaderHarnessFilters | false ,
146
147
divider : false
147
148
} ) : Promise < MatSubheaderHarness [ ] > ;
148
- getItemsSubheadersAndDividers ( filters : {
149
+ getItemsWithSubheadersAndDividers ( filters : {
149
150
item : false ,
150
151
subheader : false ,
151
152
divider ?: DividerHarnessFilters | false
152
153
} ) : Promise < MatDividerHarness [ ] > ;
153
- getItemsSubheadersAndDividers ( filters : {
154
+ getItemsWithSubheadersAndDividers ( filters : {
154
155
item ?: F | false ,
155
156
subheader ?: SubheaderHarnessFilters | false ,
156
157
divider : false
157
158
} ) : Promise < ( C | MatSubheaderHarness ) [ ] > ;
158
- getItemsSubheadersAndDividers ( filters : {
159
+ getItemsWithSubheadersAndDividers ( filters : {
159
160
item ?: F | false ,
160
161
subheader : false ,
161
162
divider ?: false | DividerHarnessFilters
162
163
} ) : Promise < ( C | MatDividerHarness ) [ ] > ;
163
- getItemsSubheadersAndDividers ( filters : {
164
+ getItemsWithSubheadersAndDividers ( filters : {
164
165
item : false ,
165
166
subheader ?: false | SubheaderHarnessFilters ,
166
167
divider ?: false | DividerHarnessFilters
167
168
} ) : Promise < ( MatSubheaderHarness | MatDividerHarness ) [ ] > ;
168
- getItemsSubheadersAndDividers ( filters ?: {
169
+ getItemsWithSubheadersAndDividers ( filters ?: {
169
170
item ?: F | false ,
170
171
subheader ?: SubheaderHarnessFilters | false ,
171
172
divider ?: DividerHarnessFilters | false
172
173
} ) : Promise < ( C | MatSubheaderHarness | MatDividerHarness ) [ ] > ;
173
- async getItemsSubheadersAndDividers ( filters : {
174
+ async getItemsWithSubheadersAndDividers ( filters : {
174
175
item ?: F | false ,
175
176
subheader ?: SubheaderHarnessFilters | false ,
176
177
divider ?: DividerHarnessFilters | false
@@ -274,18 +275,18 @@ export class MatSelectionListHarness extends MatListHarnessBase<
274
275
* Selects all items matching any of the given filters.
275
276
* @param filters Filters that specify which items should be selected.
276
277
*/
277
- async checkItems ( ...filters : ListOptionHarnessFilters [ ] ) : Promise < void > {
278
+ async selectItems ( ...filters : ListOptionHarnessFilters [ ] ) : Promise < void > {
278
279
const items = await this . _getItems ( filters ) ;
279
- await Promise . all ( items . map ( item => item . check ( ) ) ) ;
280
+ await Promise . all ( items . map ( item => item . select ( ) ) ) ;
280
281
}
281
282
282
283
/**
283
284
* Deselects all items matching any of the given filters.
284
285
* @param filters Filters that specify which items should be deselected.
285
286
*/
286
- async uncheckItems ( ...filters : ListItemHarnessFilters [ ] ) : Promise < void > {
287
+ async deselectItems ( ...filters : ListItemHarnessFilters [ ] ) : Promise < void > {
287
288
const items = await this . _getItems ( filters ) ;
288
- await Promise . all ( items . map ( item => item . uncheck ( ) ) ) ;
289
+ await Promise . all ( items . map ( item => item . deselect ( ) ) ) ;
289
290
}
290
291
291
292
/** Gets all items matching the given list of filters. */
0 commit comments