{"version":3,"sources":["ko_models.js"],"names":["Chapter","data","this","id","name","topics","ko","observableArray","handbookId","entityType","mappedChildren","$","map","item","ChildEntity","filteredChildren","utils","arrayFilter","subTopics","length","questions","self","parentId","parentName","tileHelpText","topicTileSearchName","QuestionEntity","SelectedSubTopics","computed","selectedSubTopics","Selected","SelectedQuestions","selectedQuestions","pureComputed","read","write","value","arrayForEach","owner","question","answer","observable","HandbookSearchResults","searchResults","searchFilters","resultCount","hasMoreResults","HandbookSearchFilters","results","SearchResultEntity","query","skip","take","title","url","breadcrumbs","BreadcrumbEntity"],"mappings":"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","file":"ko_models.js","sourcesContent":["function Chapter(data) {\r\n var self = this;\r\n\r\n self.id = '';\r\n self.name = '';\r\n self.topics = ko.observableArray([]);\r\n self.handbookId = '';\r\n self.entityType = '';\r\n\r\n if (!!data) {\r\n self.id = data.id;\r\n self.name = data.name;\r\n self.entityType = data.entityType;\r\n\r\n if (!!data.topics) {\r\n var mappedChildren = $.map(data.topics, function (item) { return new ChildEntity(item); });\r\n var filteredChildren = ko.utils.arrayFilter(mappedChildren, function (item) {\r\n return item.subTopics().length > 0 || item.questions().length > 0;\r\n });\r\n self.topics(filteredChildren);\r\n }\r\n\r\n self.handbookId = data.handbookId;\r\n }\r\n}\r\n\r\nfunction ChildEntity(data) {\r\n var self = this;\r\n\r\n self.id = '';\r\n self.name = '';\r\n self.parentId = '';\r\n self.parentName = '';\r\n self.entityType = ''\r\n self.tileHelpText = '';\r\n self.topicTileSearchName = '';\r\n self.subTopics = ko.observableArray([]);\r\n self.questions = ko.observableArray([]);\r\n\r\n if (!!data) {\r\n self.id = data.id;\r\n self.name = data.name;\r\n self.entityType = data.entityType;\r\n self.parentId = data.parentId;\r\n self.parentName = data.parentName;\r\n\r\n if (self.entityType == 'Topic') {\r\n self.topicTileSearchName = data.topicTileSearchName;\r\n self.tileHelpText = data.tileHelpText;\r\n\r\n if (!!data.subTopics) {\r\n var mappedChildren = $.map(data.subTopics, function (item) { return new ChildEntity(item); });\r\n var filteredChildren = ko.utils.arrayFilter(mappedChildren, function (item) {\r\n return item.subTopics().length > 0 || item.questions().length > 0;\r\n });\r\n self.subTopics(filteredChildren);\r\n }\r\n\r\n }\r\n\r\n if (!!data.questions) {\r\n var mappedChildren = $.map(data.questions, function (item) { return new QuestionEntity(item, data.id); });\r\n self.questions(mappedChildren);\r\n }\r\n\r\n\r\n }\r\n self.SelectedSubTopics = ko.computed(function () {\r\n var selectedSubTopics = [];\r\n if (!!self.subTopics() && self.subTopics().length > 0) {\r\n selectedSubTopics = ko.utils.arrayFilter(self.subTopics(), function (item) {\r\n return item.Selected();\r\n });\r\n }\r\n\r\n return selectedSubTopics;\r\n });\r\n self.SelectedQuestions = ko.computed(function () {\r\n var selectedQuestions = [];\r\n if (!!self.questions() && self.questions().length > 0) {\r\n selectedQuestions = ko.utils.arrayFilter(self.questions(), function (item) {\r\n return item.Selected();\r\n });\r\n }\r\n\r\n return selectedQuestions;\r\n });\r\n //To Do Change to Pure Computed based on Question Entity Selected.\r\n self.Selected = ko.pureComputed({\r\n read: function () {\r\n return self.SelectedQuestions().length > 0 || self.SelectedSubTopics().length > 0;\r\n },\r\n write: function (value) {\r\n ko.utils.arrayForEach(self.subTopics(), function (item) {\r\n item.Selected(value);\r\n });\r\n\r\n ko.utils.arrayForEach(self.questions(), function (item) {\r\n item.Selected(value);\r\n });\r\n },\r\n owner: this\r\n });\r\n}\r\n\r\nfunction QuestionEntity(data, parentId) {\r\n var self = this;\r\n\r\n self.id = '';\r\n self.question = '';\r\n self.answer = '';\r\n self.entityType = 'QuestionEntity';\r\n self.parentId = parentId;\r\n\r\n if (!!data) {\r\n self.id = data.id;\r\n self.question = data.question;\r\n self.answer = data.answer;\r\n }\r\n\r\n self.Selected = ko.observable(false);\r\n}\r\n\r\nfunction HandbookSearchResults(data) {\r\n var self = this;\r\n\r\n self.searchResults = ko.observableArray([]);\r\n self.searchFilters = null;\r\n self.resultCount = ko.observable(0);\r\n self.hasMoreResults = ko.observable(false);\r\n\r\n if (!!data) {\r\n self.resultCount(data.resultCount);\r\n self.hasMoreResults(data.hasMoreResults);\r\n self.searchFilters = new HandbookSearchFilters(data.searchFilters);\r\n\r\n if (!!data.searchResults) {\r\n var results = $.map(data.searchResults, function (item) { return new SearchResultEntity(item); });\r\n self.searchResults(results);\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\nfunction HandbookSearchFilters(data) {\r\n var self = this;\r\n\r\n self.query = ko.observable('');\r\n self.skip = ko.observable(0);\r\n self.handbookId = '';\r\n self.take = 10;\r\n\r\n if (!!data) {\r\n self.query(data.query);\r\n self.skip(data.skip);\r\n self.handbookId = data.handbookId;\r\n self.take = data.take;\r\n\r\n }\r\n}\r\n\r\nfunction SearchResultEntity(data) {\r\n var self = this;\r\n\r\n self.id = '';\r\n self.title = '';\r\n self.url = '';\r\n self.breadcrumbs = [];\r\n\r\n if (!!data) {\r\n self.id = data.id;\r\n self.title = data.title;\r\n self.url = data.url;\r\n\r\n if (!!data.breadcrumbs) {\r\n var results = $.map(data.breadcrumbs, function (item) { return new BreadcrumbEntity(item); });\r\n self.breadcrumbs = results;\r\n }\r\n }\r\n}\r\n\r\nfunction BreadcrumbEntity(data) {\r\n var self = this;\r\n\r\n self.id = '';\r\n self.title = '';\r\n self.url = '';\r\n\r\n if (!!data) {\r\n self.id = data.id;\r\n self.title = data.title;\r\n self.url = data.url;\r\n }\r\n}\r\n"]}