"use strict"; angular.module("vocabulary") .service("wordSearchService", ["DEFAULT_CHOSEN_WORD_TOPIC_ID", "$state", "wordApi", function (DEFAULT_CHOSEN_WORD_TOPIC_ID, $state, wordApi) { var searchText; function getWordsForSearch(searchText) { setSearchText(searchText); return wordApi.getWordsForSearch(searchText) .then(setProperTopicIds); } function setProperTopicIds(searchResults) { searchResults.matches.map(function (word) { return word.topicId = DEFAULT_CHOSEN_WORD_TOPIC_ID; }); searchResults.related.map(function (word) { return word.topicId = DEFAULT_CHOSEN_WORD_TOPIC_ID; }); return searchResults; } function getSearchText() { return searchText; } function setSearchText(text) { searchText = text; } function clearSearchText() { searchText = null; } return { getWordsForSearch: getWordsForSearch, getSearchText: getSearchText, setSearchText: setSearchText, clearSearchText: clearSearchText }; }]);