@@ -65,6 +65,18 @@ SpFilteringListPresenter >> applyFilter: aString [
6565 self filterInputPresenter text: aString
6666]
6767
68+ { #category : ' api' }
69+ SpFilteringListPresenter >> beMultipleSelection [
70+
71+ listPresenter beMultipleSelection
72+ ]
73+
74+ { #category : ' api' }
75+ SpFilteringListPresenter >> beSingleSelection [
76+
77+ listPresenter beSingleSelection
78+ ]
79+
6880{ #category : ' initialization' }
6981SpFilteringListPresenter >> connectPresenters [
7082
@@ -150,13 +162,16 @@ SpFilteringListPresenter >> headerTitle: aString [
150162
151163{ #category : ' initialization' }
152164SpFilteringListPresenter >> initializePresenters [
165+ self addStyle: ' filteringList' .
153166
154167 filterInputPresenter := self newTextInput
155- placeholder: ' Filter...' ;
156- yourself .
168+ addStyle: ' flat' ;
169+ placeholder: ' Filter...' ;
170+ yourself .
157171 listPresenter := self newListToFilter.
158- unfilteredItems := #( ) .
159- self matchSubstring
172+ unfilteredItems := #() .
173+ itemFilterBlock ifNil: [
174+ self matchSubstring ]
160175]
161176
162177{ #category : ' transmission' }
@@ -207,13 +222,13 @@ SpFilteringListPresenter >> matchBeginOfString [
207222SpFilteringListPresenter >> matchSubstring [
208223
209224 itemFilterBlock := [ :each :pattern |
210- each asLowercase includesSubstring: pattern asLowercase ]
225+ each asLowercase includesSubstring: pattern asLowercase ]
211226]
212227
213228{ #category : ' initialization' }
214229SpFilteringListPresenter >> newListToFilter [
215230
216- ^ self newList
231+ ^ self newEasyListView
217232]
218233
219234{ #category : ' transmission' }
@@ -241,6 +256,15 @@ SpFilteringListPresenter >> resetFilter [
241256 self applyFilter: ' '
242257]
243258
259+ { #category : ' api' }
260+ SpFilteringListPresenter >> rowPresenterClass: aPresenterClass [
261+ " Selecting a presenter class will override #display: and #displayIcon: selectors.
262+ NOTICE that the #display: will still be used to filter, so you need to define it
263+ anyway"
264+
265+ listPresenter rowPresenterClass: aPresenterClass
266+ ]
267+
244268{ #category : ' api - selection' }
245269SpFilteringListPresenter >> selectIndex: aNumber scrollToSelection: aBoolean [
246270
@@ -289,6 +313,20 @@ SpFilteringListPresenter >> unfilteredItems: someItems [
289313 unfilteredItems := someItems
290314]
291315
316+ { #category : ' api - selection' }
317+ SpFilteringListPresenter >> unselectAll [
318+
319+ listPresenter unselectAll
320+ ]
321+
322+ { #category : ' api' }
323+ SpFilteringListPresenter >> updateItemsKeepingSelection: aCollection [
324+
325+ listPresenter updateItemsKeepingSelection: aCollection.
326+ unfilteredItems := aCollection.
327+ self reapplyOrResetFilter
328+ ]
329+
292330{ #category : ' api - events' }
293331SpFilteringListPresenter >> whenSelectionChangedDo: aBlock [
294332
0 commit comments