#import <EMSearchQueryInfiniteScrollController.h>
Inherits EMInfiniteScrollController.
Public Member Functions | |
(id) | - initWithSearchQueryDataSource:maxItems: |
(void) | - showEmptyQueryOverlay: |
(void) | - showNoResultsOverlay: |
(void) | - showNoConnectionOverlay: |
(void) | - showLoadingOverlay: |
(void) | - adjustRightBarButtonItem |
(EMTypeaheadDataSource *) | - keywordsSource |
(UIViewController *) | - facetsController |
Protected Attributes | |
NSArray * | _sortOptions |
BOOL | _showSortBarAlways |
NSString * | _searchKey |
BOOL | _searchWithin |
BOOL | _showSearchBar |
BOOL | _showBreadcrumbs |
BOOL | _showSearchBarCancelButton |
BOOL | _showSearchBarOnNavBar |
BOOL | _analyticsEnabled |
BOOL | _showResultsForEmptyQuery |
BOOL | _showFacetsForEmptyQuery |
BOOL | _pushDetailPageOnSingleResult |
NSInteger | _itemCellHeight |
EMTypeaheadDataSource * | _keywordsSource |
BOOL | _showingFilterView |
BOOL | _reloadTableData |
BOOL | _didAppear |
BOOL | _showingKeyboard |
BOOL | _cancellingKeyboard |
NSString * | _previousSearchBarText |
TTView * | _sortBar |
UISegmentedControl * | _sortControl |
EMSearchBar * | _searchBar |
UIView * | _emptyQueryOverlay |
UIView * | _noResultsOverlay |
UIView * | _noConnectionOverlay |
UIView * | _loadingOverlay |
UILabel * | _errorLabel |
UILabel * | _noResultsLabel |
BOOL | _searchBarFirstResponderEnabled |
Properties | |
NSArray * | sortOptions |
BOOL | showSortBarAlways |
NSString * | searchKey |
BOOL | searchWithin |
BOOL | showSearchBar |
BOOL | showBreadcrumbs |
BOOL | showSearchBarCancelButton |
BOOL | showSearchBarOnNavBar |
BOOL | analyticsEnabled |
BOOL | showResultsForEmptyQuery |
BOOL | showFacetsForEmptyQuery |
BOOL | pushDetailPageOnSingleResult |
EMSearchBar * | searchBar |
UIView * | emptyQueryOverlay |
UIView * | noResultsOverlay |
UIView * | noConnectionOverlay |
UIView * | loadingOverlay |
EMSearchQuery * | query |
EMSearchQueryDataSource * | dataSource |
BOOL | searchBarFirstResponderEnabled |
int | itemCellHeight |
Subclasses should make sure to implement an init method, or else the NSCoding will not work.
- (void) adjustRightBarButtonItem |
Exposing this to give subclasses access. Adds the [Filter] button to the right nav bar spot if the Filter button should be displayed.
Subclassess may override this method to provide their own facet selection controller.
Defaults to EMSearchQueryFacetsController.
Subclasses should provide a keywordsSource implementation.
Defaults to an empty EMDynamicKeywordsDataSource.
- (EMTypeaheadDataSource*) _keywordsSource [protected] |
Data sources
- (BOOL) _showingFilterView [protected] |
Internal variables
- (TTView*) _sortBar [protected] |
User Interface Elements
- (NSArray*) _sortOptions [protected] |
Configuration Options
- (BOOL) analyticsEnabled [read, write, assign] |
Default = NO.
- (EMSearchQueryDataSource *) dataSource [read, write, retain] |
Convenience method for casting the objectSource to a EMSearchQueryDataSource
- (UIView *) emptyQueryOverlay [read, assign] |
User Interface Elements
- (int) itemCellHeight [read, write, assign] |
Sets the item cell height. Defaults to [[EMConfiguration viewConfig] listCellHeight]
- (BOOL) pushDetailPageOnSingleResult [read, write, assign] |
Default = NO.
- (EMSearchQuery *) query [read, write, retain] |
Convenience method for accessing the dataSource's query
- (EMSearchBar*) searchBar [read, assign] |
User Interface Element
- (BOOL) searchBarFirstResponderEnabled [read, write, assign] |
Setting this to true will open the search bar properly after the view has been created and initialized
- (NSString*) searchKey [read, write, retain] |
The search key to use when creating EMSearch objects to add the the EMSearchQuery.
Default = nil.
- (BOOL) searchWithin [read, write, assign] |
If searchWithin is set to YES, a new search will no remove applied facets. Otherwise, a new search removes applied facets.
Default = NO.
- (BOOL) showBreadcrumbs [read, write, assign] |
Default = YES.
- (BOOL) showFacetsForEmptyQuery [read, write, assign] |
Default = YES.
- (BOOL) showResultsForEmptyQuery [read, write, assign] |
Default = NO.
- (BOOL) showSearchBar [read, write, assign] |
Default = YES.
- (BOOL) showSearchBarCancelButton [read, write, assign] |
Default = NO.
- (BOOL) showSearchBarOnNavBar [read, write, assign] |
Default = NO.
- (BOOL) showSortBarAlways [read, write, assign] |
If this flag is set to YES, the sortBar will be displayed in the main view the results load. If the flag is set to NO, the sortBar will be displayed above the fold, until the user pulls down on the table view controller.
Default = NO;
- (NSArray*) sortOptions [read, write, retain] |
An array of EMSort objects. Setting this will cause the sort bar to appear. Re-setting this will re-create the sort bar with the new options
The sort bar will not be displayed if there are zero products displayed
Default = nil;