File tree Expand file tree Collapse file tree 2 files changed +29
-0
lines changed
GToolkit-Coder-StreamingCoders-UI
GToolkit-Coder-StreamingCoders Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Original file line number Diff line number Diff 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' }
1621GtFilteredCodersViewModel >> additionalFilters [
1722 < return: #Collection of: #GtSearchFilter >
Original file line number Diff line number Diff 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' }
3963GtFilteredCodersModel >> additionalFilters [
4064 < return: #Collection of: #GtSearchFilter >
You can’t perform that action at this time.
0 commit comments