{"version":3,"sources":["searchapp.js"],"names":["app","Vue","el","data","results","tags","types","totalCount","filterTags","loading","busy","query","mounted","queryObj","window","this","selectedTags","length","i","push","name","selected","selectedTypes","$nextTick","loadMoreContent","methods","findGetParameter","parameterName","result","tmp","location","search","substr","split","forEach","item","decodeURIComponent","queryData","_this","fetchNewFromJs","getSelectedTags","getSelectedTypes","fetchNew","axios","post","then","res","oldResults","newResults","searchResults","newArray","concat","highlight","replace","RegExp","match","selectTag","tag","selectType","type","allSelectedTags","allSelectedTypes","getItemPath","path","fullPaths","getItemImage","src","files","strippedContent","str","description"],"mappings":"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","file":"searchapp.js","sourcesContent":["\"use strict\";\n\nvar app = new Vue({\n el: '#searchapp',\n data: {\n results: [],\n tags: [],\n types: [],\n totalCount: 0,\n filterTags: [],\n loading: true,\n busy: false,\n query: \"\"\n },\n\n mounted: function mounted() {\n var queryObj = window.data || null;\n if (queryObj !== null) {\n this.query = window.data.query;\n if (window.data.selectedTags !== null && window.data.selectedTags.length > 0) {\n for (var i = 0; i < window.data.selectedTags.length; i++) {\n this.tags.push({\n name: window.data.selectedTags[i],\n selected: true\n });\n }\n }\n if (window.data.selectedTypes !== null && window.data.selectedTypes.length > 0) {\n for (var i = 0; i < window.data.selectedTypes.length; i++) {\n this.types.push({\n name: window.data.selectedTypes[i],\n selected: true\n });\n }\n }\n }\n this.$nextTick(function () {\n this.loadMoreContent(queryObj);\n });\n },\n\n methods: {\n findGetParameter: function findGetParameter(parameterName) {\n var result = null,\n tmp = [];\n location.search.substr(1).split(\"&\").forEach(function (item) {\n tmp = item.split(\"=\");\n if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);\n });\n return result;\n },\n loadMoreContent: function loadMoreContent(queryData) {\n var _this = this;\n\n this.results = [];\n var fetchNewFromJs = this.findGetParameter('fetchNew');\n\n var data = {\n selectedTags: this.getSelectedTags(),\n selectedTypes: this.getSelectedTypes(),\n query: this.query,\n fetchNew: fetchNewFromJs\n };\n\n axios.post('/query/', data).then(function (res) {\n _this.totalCount = res.data.totalCount;\n _this.tags = res.data.tags;\n _this.types = res.data.types;\n var oldResults = _this.results;\n var newResults = res.data.searchResults;\n var newArray = oldResults.concat(newResults);\n _this.results = newArray;\n _this.loading = false;\n });\n },\n highlight: function highlight(item) {\n\n var regex = /(<([^>]+)>)/ig;\n var str = item.replace(regex, \"\");\n\n return str.replace(new RegExp(this.query, \"gi\"), function (match) {\n return '' + match + '';\n });\n },\n selectTag: function selectTag(tag) {\n this.loading = true;\n tag.selected = !tag.selected;\n this.loadMoreContent(true);\n },\n selectType: function selectType(type) {\n this.loading = true;\n type.selected = !type.selected;\n this.loadMoreContent(true);\n },\n getSelectedTags: function getSelectedTags() {\n var allSelectedTags = [];\n if (this.tags !== null && this.tags.length > 0) for (var i = 0; i < this.tags.length; i++) {\n if (this.tags[i].selected) {\n allSelectedTags.push(this.tags[i].name);\n }\n }\n return allSelectedTags;\n },\n getSelectedTypes: function getSelectedTypes() {\n var allSelectedTypes = [];\n if (this.types !== null && this.types.length > 0) for (var i = 0; i < this.types.length; i++) {\n if (this.types[i].selected) {\n allSelectedTypes.push(this.types[i].name);\n }\n }\n return allSelectedTypes;\n },\n getItemPath: function getItemPath(item) {\n var path = \"\";\n if (item.fullPaths && item.fullPaths.length > 0) {\n path = item.fullPaths[0];\n }\n return path;\n },\n getItemImage: function getItemImage(item) {\n var src = \"\";\n if (item.files && item.files.length > 0) {\n src = item.files[0];\n }\n return src;\n },\n strippedContent: function strippedContent(item, length) {\n var regex = /(<([^>]+)>)/ig;\n var str = item.description.replace(regex, \"\");\n if (str.length > length) {\n str = str.substr(0, length - 3) + \"...\";\n }\n\n return str;\n }\n }\n});"]}