2020-05-04 12:44:12 +02:00
|
|
|
define(['focusManager', 'searchFields', 'searchResults', 'events'], function (focusManager, SearchFields, SearchResults, events) {
|
|
|
|
'use strict';
|
2019-11-06 13:43:39 +03:00
|
|
|
|
|
|
|
return function (view, params) {
|
2018-10-23 01:05:09 +03:00
|
|
|
function onSearch(e, value) {
|
2019-11-06 13:43:39 +03:00
|
|
|
self.searchResults.search(value);
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
2019-11-06 13:43:39 +03:00
|
|
|
|
2018-10-23 01:05:09 +03:00
|
|
|
var self = this;
|
2020-05-04 12:44:12 +02:00
|
|
|
view.addEventListener('viewshow', function () {
|
2019-11-06 13:43:39 +03:00
|
|
|
if (!self.searchFields) {
|
|
|
|
self.searchFields = new SearchFields({
|
2020-05-04 12:44:12 +02:00
|
|
|
element: view.querySelector('.searchFields')
|
2019-11-06 13:43:39 +03:00
|
|
|
});
|
|
|
|
self.searchResults = new SearchResults({
|
2020-05-04 12:44:12 +02:00
|
|
|
element: view.querySelector('.searchResults'),
|
2019-11-06 13:43:39 +03:00
|
|
|
serverId: params.serverId || ApiClient.serverId(),
|
|
|
|
parentId: params.parentId,
|
|
|
|
collectionType: params.collectionType
|
|
|
|
});
|
2020-05-04 12:44:12 +02:00
|
|
|
events.on(self.searchFields, 'search', onSearch);
|
2019-11-06 13:43:39 +03:00
|
|
|
}
|
|
|
|
});
|
2020-05-04 12:44:12 +02:00
|
|
|
view.addEventListener('viewdestroy', function () {
|
2019-11-06 13:43:39 +03:00
|
|
|
if (self.searchFields) {
|
|
|
|
self.searchFields.destroy();
|
|
|
|
self.searchFields = null;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (self.searchResults) {
|
|
|
|
self.searchResults.destroy();
|
|
|
|
self.searchResults = null;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
});
|