define(['searchFields', 'searchResults', 'events'], function (SearchFields, SearchResults, events) { 'use strict'; SearchFields = SearchFields.default || SearchFields; SearchResults = SearchResults.default || SearchResults; function init(instance, tabContent, options) { tabContent.innerHTML = '
'; instance.searchFields = new SearchFields({ element: tabContent.querySelector('.searchFields') }); instance.searchResults = new SearchResults({ element: tabContent.querySelector('.searchResults'), serverId: ApiClient.serverId(), parentId: options.parentId, collectionType: options.collectionType }); events.on(instance.searchFields, 'search', function (e, value) { instance.searchResults.search(value); }); } function SearchTab(view, tabContent, options) { var self = this; options = options || {}; init(this, tabContent, options); self.preRender = function () {}; self.renderTab = function () { var searchFields = this.searchFields; if (searchFields) { searchFields.focus(); } }; } SearchTab.prototype.destroy = function () { var searchFields = this.searchFields; if (searchFields) { searchFields.destroy(); } this.searchFields = null; var searchResults = this.searchResults; if (searchResults) { searchResults.destroy(); } this.searchResults = null; }; return SearchTab; });