Skip to content

Commit d27c3fd

Browse files
committed
Merge 5410b02
2 parents 66ea328 + 5410b02 commit d27c3fd

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

src/GToolkit-Coder-StreamingCoders-UI/GtFilteredCodersViewModel.class.st

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ GtFilteredCodersViewModel >> addOrReplaceFilter: aFilter [
1212
streamingCodersModel addOrReplaceFilter: aFilter
1313
]
1414

15+
{ #category : #'api - accessing' }
16+
GtFilteredCodersViewModel >> addOrReplaceFilters: aCollectionOfFilters [
17+
streamingCodersModel addOrReplaceFilters: aCollectionOfFilters
18+
]
19+
1520
{ #category : #'api - accessing' }
1621
GtFilteredCodersViewModel >> additionalFilters [
1722
<return: #Collection of: #GtSearchFilter>

src/GToolkit-Coder-StreamingCoders/GtFilteredCodersModel.class.st

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,30 @@ GtFilteredCodersModel >> addOrReplaceFilter: aFilter [
3535
self additionalFilters: newFilters
3636
]
3737

38+
{ #category : #'api - accessing' }
39+
GtFilteredCodersModel >> addOrReplaceFilters: aCollectionOfFilters [
40+
"Add or replace given additional filters.
41+
Each filter of the same filter type (class) is replaced by the given filters."
42+
43+
| newFilters isChanged usedFilters |
44+
isChanged := false.
45+
usedFilters := OrderedCollection new.
46+
newFilters := self additionalFilters
47+
collect: [ :existingFilter |
48+
aCollectionOfFilters
49+
detect: [ :givenFilter |
50+
existingFilter filterType = givenFilter filterType ]
51+
ifFound: [ :givenFilter |
52+
isChanged := true.
53+
usedFilters add: givenFilter.
54+
givenFilter ]
55+
ifNone: [
56+
existingFilter ] ].
57+
58+
newFilters := newFilters , (aCollectionOfFilters copyWithoutAll: usedFilters).
59+
self additionalFilters: newFilters
60+
]
61+
3862
{ #category : #'api - accessing' }
3963
GtFilteredCodersModel >> additionalFilters [
4064
<return: #Collection of: #GtSearchFilter>

0 commit comments

Comments
 (0)