4b72475130
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at> Always crate OC.Settings, even if not used Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
1 line
No EOL
85 KiB
Text
1 line
No EOL
85 KiB
Text
{"version":3,"sources":["webpack:///./settings/src/views/Apps.vue?74f3","webpack:///./settings/src/components/appList/appScore.vue?02ae","webpack:///settings/src/components/appList/appScore.vue","webpack:///./settings/src/components/appList/appScore.vue","webpack:///./settings/src/components/appList/appScore.vue?644e","webpack:///./settings/src/components/appManagement.vue?f8d8","webpack:///settings/src/components/appManagement.vue","webpack:///./settings/src/components/appManagement.vue","webpack:///./settings/src/components/svgFilterMixin.vue?e63f","webpack:///settings/src/components/svgFilterMixin.vue","webpack:///./settings/src/components/svgFilterMixin.vue","webpack:///./settings/src/components/appList/appItem.vue?9674","webpack:///settings/src/components/appList/appItem.vue","webpack:///./settings/src/components/appList/appItem.vue","webpack:///./settings/src/components/appList/appItem.vue?a44f","webpack:///./settings/src/components/prefixMixin.vue?4873","webpack:///settings/src/components/prefixMixin.vue","webpack:///./settings/src/components/prefixMixin.vue","webpack:///./settings/src/components/appList.vue?42a6","webpack:///settings/src/components/appList.vue","webpack:///./settings/src/components/appList.vue","webpack:///./settings/src/components/appList.vue?e6c3","webpack:///./settings/src/components/appDetails.vue?c695","webpack:///settings/src/components/appDetails.vue","webpack:///./settings/src/components/appDetails.vue","webpack:///./settings/src/components/appDetails.vue?27a3","webpack:///settings/src/views/Apps.vue","webpack:///./settings/src/views/Apps.vue?b69d","webpack:///./settings/src/views/Apps.vue"],"names":["appList_appScorevue_type_script_lang_js_","name","props","computed","scoreImage","imageName","Math","round","this","score","OC","imagePath","appScore","Object","componentNormalizer","_h","$createElement","_self","_c","staticClass","attrs","src","components_appManagementvue_type_script_lang_js_","mounted","app","groups","length","groupCheckedAppsData","appGroups","map","group","id","loading","self","$store","getters","installing","enableButtonText","needsDownload","t","enableButtonTooltip","methods","asyncFindGroup","query","dispatch","search","limit","offset","isLimitedToGroups","setGroupLimit","appId","canLimitToGroups","types","includes","addGroupLimitation","concat","removeGroupLimitation","currentGroups","index","indexOf","splice","enable","then","response","Settings","Apps","rebuildNavigation","catch","error","Notification","show","disable","remove","install","update","appManagement","appManagement_render","appManagement_staticRenderFns","components_svgFilterMixinvue_type_script_lang_js_","filterId","floor","random","Date","getSeconds","getMilliseconds","filterUrl","data","svgFilterMixin","svgFilterMixin_render","svgFilterMixin_staticRenderFns","appList_appItemvue_type_script_lang_js_","mixins","category","listView","type","Boolean","default","watch","$route.params.id","isSelected","components","Multiselect","vue_multiselect_min_default","a","AppScore","scrolled","$route","params","watchers","showAppDetails","event","currentTarget","tagName","$router","push","prefix","_prefix","content","appItem","_vm","class","selected","on","click","preview","screenshot","_e","_v","width","height","viewBox","in","values","x","y","preserveAspectRatio","filter","xlink:href","_s","summary","version","appstoreData","releases","level","directives","rawName","value","expression","modifiers","auto","disabled","$event","stopPropagation","active","canInstall","components_prefixMixinvue_type_script_lang_js_","prefixMixin","prefixMixin_render","prefixMixin_staticRenderFns","components_appListvue_type_script_lang_js_","apps","_this","getAllApps","toLowerCase","sort","b","sortStringA","sortStringB","Util","naturalSortCompare","installed","bundles","appstore","undefined","getServerData","bundleApps","bundle","bundleId","searchApps","_this2","find","_app","useAppStoreView","useListView","useBundleView","allBundlesEnabled","bundleToggleText","toggleBundle","disableBundle","enableBundle","console","log","appList","store","tag","_l","key","list-view","colspan","components_appDetailsvue_type_script_lang_js_","hideAppDetails","appstoreUrl","licence","license","toUpperCase","hasRating","ratingNumOverall","author","@value","getGroups","localeCompare","renderMarkdown","renderer","marked_default","Renderer","link","href","title","text","prot","decodeURIComponent","unescape","replace","e","out","image","blockquote","quote","purify_default","sanitize","description","trim","gfm","highlight","tables","breaks","pedantic","smartLists","smartypants","SAFE_FOR_JQUERY","ALLOWED_TAGS","appDetails","staticStyle","padding","previewAsIcon","ratingOverall","domProps","checked","Array","isArray","_i","change","$$a","$$el","target","$$c","$$v","$$i","slice","for","options","options-limit","placeholder","label","track-by","multiple","close-on-select","select","search-change","slot","internal","rel","website","bugs","documentation","user","admin","developer","dep","innerHTML","vue_runtime_esm","use","vue_local_storage_default","views_Appsvue_type_script_lang_js_","String","AppContent","ncvuecomponents","AppDetails","AppNavigationItem","setSearch","searchQuery","resetSearch","beforeMount","commit","updateCount","appSearch","OCA","Search","val","old","loadingList","currentApp","categories","getCategories","getUpdateCount","settings","menu","item","ident","icon","classes","router","displayName","defaultCategories","appstoreEnabled","utils","counter","activeGroup","findIndex","developerDocumentation","Apps_component","with-app-sidebar","app-name","content-class","icon-loading","navigation-class","scopedSlots","_u","fn","proxy","__webpack_exports__"],"mappings":"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","file":"vue-6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AppContent',{class:{ 'with-app-sidebar': _vm.currentApp},attrs:{\"app-name\":\"settings\",\"content-class\":{ 'icon-loading': _vm.loadingList },\"navigation-class\":{ 'icon-loading': _vm.loading }},scopedSlots:_vm._u([{key:\"navigation\",fn:function(){return [_c('ul',{attrs:{\"id\":\"appscategories\"}},_vm._l((_vm.menu),function(item){return _c('AppNavigationItem',{key:item.key,attrs:{\"item\":item}})}),1)]},proxy:true},{key:\"content\",fn:function(){return [_c('app-list',{attrs:{\"category\":_vm.category,\"app\":_vm.currentApp,\"search\":_vm.searchQuery}})]},proxy:true},(_vm.id && _vm.currentApp)?{key:\"sidebar\",fn:function(){return [_c('app-details',{attrs:{\"category\":_vm.category,\"app\":_vm.currentApp}})]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appScore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appScore.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<img :src=\"scoreImage\" class=\"app-score-image\" />\n</template>\n<script>\n\texport default {\n\t\tname: 'appScore',\n\t\tprops: ['score'],\n\t\tcomputed: {\n\t\t\tscoreImage() {\n\t\t\t\tlet score = Math.round( this.score * 10 );\n\t\t\t\tlet imageName = 'rating/s' + score + '.svg';\n\t\t\t\treturn OC.imagePath('core', imageName);\n\t\t\t}\n\t\t}\n\t};\n</script>","import { render, staticRenderFns } from \"./appScore.vue?vue&type=template&id=3c7dd35d&\"\nimport script from \"./appScore.vue?vue&type=script&lang=js&\"\nexport * from \"./appScore.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{staticClass:\"app-score-image\",attrs:{\"src\":_vm.scoreImage}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appManagement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appManagement.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tmounted() {\n\t\t\tif (this.app.groups.length > 0) {\n\t\t\t\tthis.groupCheckedAppsData = true;\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\tappGroups() {\n\t\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t\t},\n\t\t\tloading() {\n\t\t\t\tlet self = this;\n\t\t\t\treturn function(id) {\n\t\t\t\t\treturn self.$store.getters.loading(id);\n\t\t\t\t}\n\t\t\t},\n\t\t\tinstalling() {\n\t\t\t\treturn this.$store.getters.loading('install');\n\t\t\t},\n\t\t\tenableButtonText() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','Download and enable');\n\t\t\t\t}\n\t\t\t\treturn t('settings','Enable');\n\t\t\t},\n\t\t\tenableButtonTooltip() {\n\t\t\t\tif (this.app.needsDownload) {\n\t\t\t\t\treturn t('settings','The app will be downloaded from the app store');\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tasyncFindGroup(query) {\n\t\t\t\treturn this.$store.dispatch('getGroups', {search: query, limit: 5, offset: 0});\n\t\t\t},\n\t\t\tisLimitedToGroups(app) {\n\t\t\t\tif (this.app.groups.length || this.groupCheckedAppsData) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\tsetGroupLimit: function() {\n\t\t\t\tif (!this.groupCheckedAppsData) {\n\t\t\t\t\tthis.$store.dispatch('enableApp', {appId: this.app.id, groups: []});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcanLimitToGroups(app) {\n\t\t\t\tif (app.types && app.types.includes('filesystem')\n\t\t\t\t\t|| app.types.includes('prelogin')\n\t\t\t\t\t|| app.types.includes('authentication')\n\t\t\t\t\t|| app.types.includes('logging')\n\t\t\t\t\t|| app.types.includes('prevent_group_restriction')) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\t\t\taddGroupLimitation(group) {\n\t\t\t\tlet groups = this.app.groups.concat([]).concat([group.id]);\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: groups});\n\t\t\t},\n\t\t\tremoveGroupLimitation(group) {\n\t\t\t\tlet currentGroups = this.app.groups.concat([]);\n\t\t\t\tlet index = currentGroups.indexOf(group.id);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tcurrentGroups.splice(index, 1);\n\t\t\t\t}\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: this.app.id, groups: currentGroups});\n\t\t\t},\n\t\t\tenable(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId, groups: [] })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tdisable(appId) {\n\t\t\t\tthis.$store.dispatch('disableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tremove(appId) {\n\t\t\t\tthis.$store.dispatch('uninstallApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tinstall(appId) {\n\t\t\t\tthis.$store.dispatch('enableApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t},\n\t\t\tupdate(appId) {\n\t\t\t\tthis.$store.dispatch('updateApp', { appId: appId })\n\t\t\t\t\t.then((response) => { OC.Settings.Apps.rebuildNavigation(); })\n\t\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t\t}\n\t\t}\n\t}\n</script>\n","var render, staticRenderFns\nimport script from \"./appManagement.vue?vue&type=script&lang=js&\"\nexport * from \"./appManagement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgFilterMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./svgFilterMixin.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'svgFilterMixin',\n\t\tmounted() {\n\t\t\tthis.filterId = 'invertIconApps' + Math.floor((Math.random() * 100 )) + new Date().getSeconds() + new Date().getMilliseconds();\n\t\t},\n\t\tcomputed: {\n\t\t\tfilterUrl () {\n\t\t\t\treturn `url(#${this.filterId})`;\n\t\t\t},\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tfilterId: '',\n\t\t\t};\n\t\t},\n\t}\n</script>","var render, staticRenderFns\nimport script from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./svgFilterMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appItem.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"section\" v-bind:class=\"{ selected: isSelected }\" v-on:click=\"showAppDetails\">\n\t\t<div class=\"app-image app-image-icon\" v-on:click=\"showAppDetails\">\n\t\t\t<div v-if=\"(listView && !app.preview) || (!listView && !app.screenshot)\" class=\"icon-settings-dark\"></div>\n\n\t\t\t<svg v-if=\"listView && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\n\t\t\t<img v-if=\"!listView && app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t</div>\n\t\t<div class=\"app-name\" v-on:click=\"showAppDetails\">\n\t\t\t{{ app.name }}\n\t\t</div>\n\t\t<div class=\"app-summary\" v-if=\"!listView\">{{ app.summary }}</div>\n\t\t<div class=\"app-version\" v-if=\"listView\">\n\t\t\t<span v-if=\"app.version\">{{ app.version }}</span>\n\t\t\t<span v-else-if=\"app.appstoreData.releases[0].version\">{{ app.appstoreData.releases[0].version }}</span>\n\t\t</div>\n\n\t\t<div class=\"app-level\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"!listView\" :score=\"app.score\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"warning\" v-if=\"app.error\">{{ app.error }}</div>\n\t\t\t<div class=\"icon icon-loading-small\" v-if=\"loading(app.id)\"></div>\n\t\t\t<input v-if=\"app.update\" class=\"update primary\" type=\"button\" :value=\"t('settings', 'Update to {update}', {update:app.update})\" v-on:click.stop=\"update(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" v-on:click.stop=\"remove(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click.stop=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t<input v-if=\"!app.active\" class=\"enable\" type=\"button\" :value=\"enableButtonText\" v-on:click.stop=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Multiselect from 'vue-multiselect';\n\timport AppScore from './appScore';\n\timport AppManagement from '../appManagement';\n\timport SvgFilterMixin from '../svgFilterMixin';\n\n\texport default {\n\t\tname: 'appItem',\n\t\tmixins: [AppManagement, SvgFilterMixin],\n\t\tprops: {\n\t\t\tapp: {},\n\t\t\tcategory: {},\n\t\t\tlistView: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true,\n\t\t\t}\n\t\t},\n\t\twatch: {\n\t\t\t'$route.params.id': function (id) {\n\t\t\t\tthis.isSelected = (this.app.id === id);\n\t\t\t}\n\t\t},\n\t\tcomponents: {\n\t\t\tMultiselect,\n\t\t\tAppScore,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tisSelected: false,\n\t\t\t\tscrolled: false,\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tthis.isSelected = (this.app.id === this.$route.params.id);\n\t\t},\n\t\tcomputed: {\n\n\t\t},\n\t\twatchers: {\n\n\t\t},\n\t\tmethods: {\n\t\t\tshowAppDetails(event) {\n\t\t\t\tif (event.currentTarget.tagName === 'INPUT' || event.currentTarget.tagName === 'A') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.$router.push({\n\t\t\t\t\tname: 'apps-details',\n\t\t\t\t\tparams: {category: this.category, id: this.app.id}\n\t\t\t\t});\n\t\t\t},\n\t\t\tprefix(prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>\n","import { render, staticRenderFns } from \"./appItem.vue?vue&type=template&id=05b0db87&\"\nimport script from \"./appItem.vue?vue&type=script&lang=js&\"\nexport * from \"./appItem.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\",class:{ selected: _vm.isSelected },on:{\"click\":_vm.showAppDetails}},[_c('div',{staticClass:\"app-image app-image-icon\",on:{\"click\":_vm.showAppDetails}},[((_vm.listView && !_vm.app.preview) || (!_vm.listView && !_vm.app.screenshot))?_c('div',{staticClass:\"icon-settings-dark\"}):_vm._e(),_vm._v(\" \"),(_vm.listView && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('defs',[_c('filter',{attrs:{\"id\":_vm.filterId}},[_c('feColorMatrix',{attrs:{\"in\":\"SourceGraphic\",\"type\":\"matrix\",\"values\":\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"}})],1)]),_vm._v(\" \"),_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"filter\":_vm.filterUrl,\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\" \"),(!_vm.listView && _vm.app.screenshot)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"width\":\"100%\"}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-name\",on:{\"click\":_vm.showAppDetails}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.listView)?_c('div',{staticClass:\"app-summary\"},[_vm._v(_vm._s(_vm.app.summary))]):_vm._e(),_vm._v(\" \"),(_vm.listView)?_c('div',{staticClass:\"app-version\"},[(_vm.app.version)?_c('span',[_vm._v(_vm._s(_vm.app.version))]):(_vm.app.appstoreData.releases[0].version)?_c('span',[_vm._v(_vm._s(_vm.app.appstoreData.releases[0].version))]):_vm._e()]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Official')))]):_vm._e(),_vm._v(\" \"),(!_vm.listView)?_c('app-score',{attrs:{\"score\":_vm.app.score}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[(_vm.app.error)?_c('div',{staticClass:\"warning\"},[_vm._v(_vm._s(_vm.app.error))]):_vm._e(),_vm._v(\" \"),(_vm.loading(_vm.app.id))?_c('div',{staticClass:\"icon icon-loading-small\"}):_vm._e(),_vm._v(\" \"),(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {update}', {update:_vm.app.update}),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){$event.stopPropagation();return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){$event.stopPropagation();return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){$event.stopPropagation();return _vm.enable(_vm.app.id)}}}):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prefixMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./prefixMixin.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<script>\n\texport default {\n\t\tname: 'prefixMixin',\n\t\tmethods: {\n\t\t\tprefix (prefix, content) {\n\t\t\t\treturn prefix + '_' + content;\n\t\t\t},\n\t\t}\n\t}\n</script>","var render, staticRenderFns\nimport script from \"./prefixMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./prefixMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appList.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-content-inner\">\n\t\t<div id=\"apps-list\" class=\"apps-list\" :class=\"{installed: (useBundleView || useListView), store: useAppStoreView}\">\n\t\t\t<template v-if=\"useListView\">\n\t\t\t\t<transition-group name=\"app-list\" tag=\"div\" class=\"apps-list-container\">\n\t\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" />\n\t\t\t\t</transition-group>\n\t\t\t</template>\n\t\t\t<template v-for=\"bundle in bundles\" v-if=\"useBundleView && bundleApps(bundle.id).length > 0\">\n\t\t\t\t<transition-group name=\"app-list\" tag=\"div\" class=\"apps-list-container\">\n\n\t\t\t\t\t<div class=\"apps-header\" :key=\"bundle.id\">\n\t\t\t\t\t\t<div class=\"app-image\"></div>\n\t\t\t\t\t\t<h2>{{ bundle.name }} <input type=\"button\" :value=\"bundleToggleText(bundle.id)\" v-on:click=\"toggleBundle(bundle.id)\"></h2>\n\t\t\t\t\t\t<div class=\"app-version\"></div>\n\t\t\t\t\t\t<div class=\"app-level\"></div>\n\t\t\t\t\t\t<div class=\"app-groups\"></div>\n\t\t\t\t\t\t<div class=\"actions\"> </div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<app-item v-for=\"app in bundleApps(bundle.id)\" :key=\"bundle.id + app.id\" :app=\"app\" :category=\"category\"/>\n\t\t\t\t</transition-group>\n\t\t\t</template>\n\t\t\t<template v-if=\"useAppStoreView\">\n\t\t\t\t<app-item v-for=\"app in apps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"false\" />\n\t\t\t</template>\n\n\t\t</div>\n\n\t\t<div id=\"apps-list-search\" class=\"apps-list installed\">\n\t\t\t<div class=\"apps-list-container\">\n\t\t\t\t<template v-if=\"search !== '' && searchApps.length > 0\">\n\t\t\t\t\t<div class=\"section\">\n\t\t\t\t\t\t<div></div>\n\t\t\t\t\t\t<td colspan=\"5\">\n\t\t\t\t\t\t\t<h2>{{ t('settings', 'Results from other categories') }}</h2>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</div>\n\t\t\t\t\t<app-item v-for=\"app in searchApps\" :key=\"app.id\" :app=\"app\" :category=\"category\" :list-view=\"true\" />\n\t\t\t\t</template>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div id=\"apps-list-empty\" class=\"emptycontent emptycontent-search\" v-if=\"!loading && searchApps.length === 0 && apps.length === 0\">\n\t\t\t<div id=\"app-list-empty-icon\" class=\"icon-settings-dark\"></div>\n\t\t\t<h2>{{ t('settings', 'No apps found for your version')}}</h2>\n\t\t</div>\n\n\t\t<div id=\"searchresults\"></div>\n\t</div>\n</template>\n\n<script>\nimport appItem from './appList/appItem';\nimport Multiselect from 'vue-multiselect';\nimport prefix from './prefixMixin';\n\nexport default {\n\tname: 'appList',\n\tmixins: [prefix],\n\tprops: ['category', 'app', 'search'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tappItem\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tapps() {\n\t\t\tlet apps = this.$store.getters.getAllApps\n\t\t\t\t.filter(app => app.name.toLowerCase().search(this.search.toLowerCase()) !== -1)\n\t\t\t\t.sort(function (a, b) {\n\t\t\t\t\tconst sortStringA = '' + (a.active ? 0 : 1) + (a.update ? 0 : 1) + a.name;\n\t\t\t\t\tconst sortStringB = '' + (b.active ? 0 : 1) + (b.update ? 0 : 1) + b.name;\n\t\t\t\t\treturn OC.Util.naturalSortCompare(sortStringA, sortStringB);\n\t\t\t\t});\n\n\t\t\tif (this.category === 'installed') {\n\t\t\t\treturn apps.filter(app => app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'enabled') {\n\t\t\t\treturn apps.filter(app => app.active && app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'disabled') {\n\t\t\t\treturn apps.filter(app => !app.active && app.installed);\n\t\t\t}\n\t\t\tif (this.category === 'app-bundles') {\n\t\t\t\treturn apps.filter(app => app.bundles);\n\t\t\t}\n\t\t\tif (this.category === 'updates') {\n\t\t\t\treturn apps.filter(app => app.update);\n\t\t\t}\n\t\t\t// filter app store categories\n\t\t\treturn apps.filter(app => {\n\t\t\t\treturn app.appstore && app.category !== undefined &&\n\t\t\t\t\t(app.category === this.category || app.category.indexOf(this.category) > -1);\n\t\t\t});\n\t\t},\n\t\tbundles() {\n\t\t\treturn this.$store.getters.getServerData.bundles;\n\t\t},\n\t\tbundleApps() {\n\t\t\treturn function(bundle) {\n\t\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t\t.filter(app => app.bundleId === bundle);\n\t\t\t}\n\t\t},\n\t\tsearchApps() {\n\t\t\tif (this.search === '') {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\treturn this.$store.getters.getAllApps\n\t\t\t\t.filter(app => {\n\t\t\t\t\tif (app.name.toLowerCase().search(this.search.toLowerCase()) !== -1) {\n\t\t\t\t\t\treturn (!this.apps.find(_app => _app.id === app.id));\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t},\n\t\tuseAppStoreView() {\n\t\t\treturn !this.useListView && !this.useBundleView;\n\t\t},\n\t\tuseListView() {\n\t\t\treturn (this.category === 'installed' || this.category === 'enabled' || this.category === 'disabled' || this.category === 'updates');\n\t\t},\n\t\tuseBundleView() {\n\t\t\treturn (this.category === 'app-bundles');\n\t\t},\n\t\tallBundlesEnabled() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\treturn self.bundleApps(id).filter(app => !app.active).length === 0;\n\t\t\t}\n\t\t},\n\t\tbundleToggleText() {\n\t\t\tlet self = this;\n\t\t\treturn function(id) {\n\t\t\t\tif (self.allBundlesEnabled(id)) {\n\t\t\t\t\treturn t('settings', 'Disable all');\n\t\t\t\t}\n\t\t\t\treturn t('settings', 'Enable all');\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleBundle(id) {\n\t\t\tif (this.allBundlesEnabled(id)) {\n\t\t\t\treturn this.disableBundle(id);\n\t\t\t}\n\t\t\treturn this.enableBundle(id);\n\t\t},\n\t\tenableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('enableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { console.log(error); OC.Notification.show(error)});\n\t\t},\n\t\tdisableBundle(id) {\n\t\t\tlet apps = this.bundleApps(id).map(app => app.id);\n\t\t\tthis.$store.dispatch('disableApp', { appId: apps, groups: [] })\n\t\t\t\t.catch((error) => { OC.Notification.show(error)});\n\t\t}\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./appList.vue?vue&type=template&id=72b6e8d2&\"\nimport script from \"./appList.vue?vue&type=script&lang=js&\"\nexport * from \"./appList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app-content-inner\"}},[_c('div',{staticClass:\"apps-list\",class:{installed: (_vm.useBundleView || _vm.useListView), store: _vm.useAppStoreView},attrs:{\"id\":\"apps-list\"}},[(_vm.useListView)?[_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},_vm._l((_vm.apps),function(app){return _c('app-item',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category}})}),1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.bundles),function(bundle){return (_vm.useBundleView && _vm.bundleApps(bundle.id).length > 0)?[_c('transition-group',{staticClass:\"apps-list-container\",attrs:{\"name\":\"app-list\",\"tag\":\"div\"}},[_c('div',{key:bundle.id,staticClass:\"apps-header\"},[_c('div',{staticClass:\"app-image\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(bundle.name)+\" \"),_c('input',{attrs:{\"type\":\"button\",\"value\":_vm.bundleToggleText(bundle.id)},on:{\"click\":function($event){return _vm.toggleBundle(bundle.id)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"app-version\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-level\"}),_vm._v(\" \"),_c('div',{staticClass:\"app-groups\"}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.bundleApps(bundle.id)),function(app){return _c('app-item',{key:bundle.id + app.id,attrs:{\"app\":app,\"category\":_vm.category}})})],2)]:_vm._e()}),_vm._v(\" \"),(_vm.useAppStoreView)?_vm._l((_vm.apps),function(app){return _c('app-item',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":false}})}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"apps-list installed\",attrs:{\"id\":\"apps-list-search\"}},[_c('div',{staticClass:\"apps-list-container\"},[(_vm.search !== '' && _vm.searchApps.length > 0)?[_c('div',{staticClass:\"section\"},[_c('div'),_vm._v(\" \"),_c('td',{attrs:{\"colspan\":\"5\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'Results from other categories')))])])]),_vm._v(\" \"),_vm._l((_vm.searchApps),function(app){return _c('app-item',{key:app.id,attrs:{\"app\":app,\"category\":_vm.category,\"list-view\":true}})})]:_vm._e()],2)]),_vm._v(\" \"),(!_vm.loading && _vm.searchApps.length === 0 && _vm.apps.length === 0)?_c('div',{staticClass:\"emptycontent emptycontent-search\",attrs:{\"id\":\"apps-list-empty\"}},[_c('div',{staticClass:\"icon-settings-dark\",attrs:{\"id\":\"app-list-empty-icon\"}}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.t('settings', 'No apps found for your version')))])]):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"searchresults\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./appDetails.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div id=\"app-details-view\" style=\"padding: 20px;\">\n\t\t<a class=\"close icon-close\" href=\"#\" v-on:click=\"hideAppDetails\"><span class=\"hidden-visually\">Close</span></a>\n\t\t<h2>\n\t\t\t<div v-if=\"!app.preview\" class=\"icon-settings-dark\"></div>\n\t\t\t<svg v-if=\"app.previewAsIcon && app.preview\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\">\n\t\t\t\t<defs><filter :id=\"filterId\"><feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values=\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"></feColorMatrix></filter></defs>\n\t\t\t\t<image x=\"0\" y=\"0\" width=\"32\" height=\"32\" preserveAspectRatio=\"xMinYMin meet\" :filter=\"filterUrl\" :xlink:href=\"app.preview\" class=\"app-icon\"></image>\n\t\t\t</svg>\n\t\t\t{{ app.name }}</h2>\n\t\t<img v-if=\"app.screenshot\" :src=\"app.screenshot\" width=\"100%\" />\n\t\t<div class=\"app-level\" v-if=\"app.level === 200 || hasRating\">\n\t\t\t<span class=\"official icon-checkmark\" v-if=\"app.level === 200\"\n\t\t\t v-tooltip.auto=\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\">\n\t\t\t\t{{ t('settings', 'Official') }}</span>\n\t\t\t<app-score v-if=\"hasRating\" :score=\"app.appstoreData.ratingOverall\"></app-score>\n\t\t</div>\n\n\t\t<div class=\"app-author\" v-if=\"author\">\n\t\t\t{{ t('settings', 'by') }}\n\t\t\t<span v-for=\"(a, index) in author\">\n\t\t\t\t<a v-if=\"a['@attributes'] && a['@attributes']['homepage']\" :href=\"a['@attributes']['homepage']\">{{ a['@value'] }}</a><span v-else-if=\"a['@value']\">{{ a['@value'] }}</span><span v-else>{{ a }}</span><span v-if=\"index+1 < author.length\">, </span>\n\t\t\t</span>\n\t\t</div>\n\t\t<div class=\"app-licence\" v-if=\"licence\">{{ licence }}</div>\n\t\t<div class=\"actions\">\n\t\t\t<div class=\"actions-buttons\">\n\t\t\t\t<input v-if=\"app.update\" class=\"update primary\" type=\"button\" :value=\"t('settings', 'Update to {version}', {version: app.update})\" v-on:click=\"update(app.id)\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.canUnInstall\" class=\"uninstall\" type=\"button\" :value=\"t('settings', 'Remove')\" v-on:click=\"remove(app.id)\" :disabled=\"installing || loading(app.id)\"/>\n\t\t\t\t<input v-if=\"app.active\" class=\"enable\" type=\"button\" :value=\"t('settings','Disable')\" v-on:click=\"disable(app.id)\" :disabled=\"installing || loading(app.id)\" />\n\t\t\t\t<input v-if=\"!app.active\" class=\"enable primary\" type=\"button\" :value=\"enableButtonText\" v-on:click=\"enable(app.id)\" v-tooltip.auto=\"enableButtonTooltip\" :disabled=\"!app.canInstall || installing || loading(app.id)\" />\n\t\t\t</div>\n\t\t\t<div class=\"app-groups\">\n\t\t\t\t<div class=\"groups-enable\" v-if=\"app.active && canLimitToGroups(app)\">\n\t\t\t\t\t<input type=\"checkbox\" :value=\"app.id\" v-model=\"groupCheckedAppsData\" v-on:change=\"setGroupLimit\" class=\"groups-enable__checkbox checkbox\" :id=\"prefix('groups_enable', app.id)\">\n\t\t\t\t\t<label :for=\"prefix('groups_enable', app.id)\">{{ t('settings', 'Limit to groups') }}</label>\n\t\t\t\t\t<input type=\"hidden\" class=\"group_select\" :title=\"t('settings', 'All')\" value=\"\">\n\t\t\t\t\t<multiselect v-if=\"isLimitedToGroups(app)\" :options=\"groups\" :value=\"appGroups\" @select=\"addGroupLimitation\" @remove=\"removeGroupLimitation\" :options-limit=\"5\"\n\t\t\t\t\t\t\t\t :placeholder=\"t('settings', 'Limit app usage to groups')\"\n\t\t\t\t\t\t\t\t label=\"name\" track-by=\"id\" class=\"multiselect-vue\"\n\t\t\t\t\t\t\t\t :multiple=\"true\" :close-on-select=\"false\"\n\t\t\t\t\t\t\t\t @search-change=\"asyncFindGroup\">\n\t\t\t\t\t\t<span slot=\"noResult\">{{t('settings', 'No results')}}</span>\n\t\t\t\t\t</multiselect>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<p class=\"documentation\">\n\t\t\t<a class=\"appslink\" :href=\"appstoreUrl\" v-if=\"!app.internal\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'View in store')}} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.website\" :href=\"app.website\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Visit website') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.bugs\" :href=\"app.bugs\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Report a bug') }} ↗</a>\n\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.user\" :href=\"app.documentation.user\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'User documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.admin\" :href=\"app.documentation.admin\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Admin documentation') }} ↗</a>\n\t\t\t<a class=\"appslink\" v-if=\"app.documentation && app.documentation.developer\" :href=\"app.documentation.developer\" target=\"_blank\" rel=\"noreferrer noopener\">{{ t('settings', 'Developer documentation') }} ↗</a>\n\t\t</p>\n\n\t\t<ul class=\"app-dependencies\">\n\t\t\t<li v-if=\"app.missingMinOwnCloudVersion\">{{ t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"app.missingMaxOwnCloudVersion\">{{ t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.') }}</li>\n\t\t\t<li v-if=\"!app.canInstall\">\n\t\t\t\t{{ t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:') }}\n\t\t\t\t<ul class=\"missing-dependencies\">\n\t\t\t\t\t<li v-for=\"dep in app.missingDependencies\">{{ dep }}</li>\n\t\t\t\t</ul>\n\t\t\t</li>\n\t\t</ul>\n\n\t\t<div class=\"app-description\" v-html=\"renderMarkdown\"></div>\n\t</div>\n</template>\n\n<script>\nimport Multiselect from 'vue-multiselect';\nimport marked from 'marked';\nimport dompurify from 'dompurify'\n\nimport AppScore from './appList/appScore';\nimport AppManagement from './appManagement';\nimport prefix from './prefixMixin';\nimport SvgFilterMixin from './svgFilterMixin';\n\nexport default {\n\tmixins: [AppManagement, prefix, SvgFilterMixin],\n\tname: 'appDetails',\n\tprops: ['category', 'app'],\n\tcomponents: {\n\t\tMultiselect,\n\t\tAppScore\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tgroupCheckedAppsData: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tif (this.app.groups.length > 0) {\n\t\t\tthis.groupCheckedAppsData = true;\n\t\t}\n\t},\n\tmethods: {\n\t\thideAppDetails() {\n\t\t\tthis.$router.push({\n\t\t\t\tname: 'apps-category',\n\t\t\t\tparams: {category: this.category}\n\t\t\t});\n\t\t},\n\t},\n\tcomputed: {\n\t\tappstoreUrl() {\n\t\t\treturn `https://apps.nextcloud.com/apps/${this.app.id}`;\n\t\t},\n\t\tlicence() {\n\t\t\tif (this.app.licence) {\n\t\t\t\treturn t('settings', '{license}-licensed', { license: ('' + this.app.licence).toUpperCase() } );\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\thasRating() {\n\t\t\treturn this.app.appstoreData && this.app.appstoreData.ratingNumOverall > 5;\n\t\t},\n\t\tauthor() {\n\t\t\tif (typeof this.app.author === 'string') {\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\t'@value': this.app.author\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t\tif (this.app.author['@value']) {\n\t\t\t\treturn [this.app.author];\n\t\t\t}\n\t\t\treturn this.app.author;\n\t\t},\n\t\tappGroups() {\n\t\t\treturn this.app.groups.map(group => {return {id: group, name: group}});\n\t\t},\n\t\tgroups() {\n\t\t\treturn this.$store.getters.getGroups\n\t\t\t\t.filter(group => group.id !== 'disabled')\n\t\t\t\t.sort((a, b) => a.name.localeCompare(b.name));\n\t\t},\n\t\trenderMarkdown() {\n\t\t\tvar renderer = new marked.Renderer();\n\t\t\trenderer.link = function(href, title, text) {\n\t\t\t\ttry {\n\t\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t\t.toLowerCase();\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\t\tif (title) {\n\t\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t\t}\n\t\t\t\tout += '>' + text + '</a>';\n\t\t\t\treturn out;\n\t\t\t};\n\t\t\trenderer.image = function(href, title, text) {\n\t\t\t\tif (text) {\n\t\t\t\t\treturn text;\n\t\t\t\t}\n\t\t\t\treturn title;\n\t\t\t};\n\t\t\trenderer.blockquote = function(quote) {\n\t\t\t\treturn quote;\n\t\t\t};\n\t\t\treturn dompurify.sanitize(\n\t\t\t\tmarked(this.app.description.trim(), {\n\t\t\t\t\trenderer: renderer,\n\t\t\t\t\tgfm: false,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\ttables: false,\n\t\t\t\t\tbreaks: false,\n\t\t\t\t\tpedantic: false,\n\t\t\t\t\tsanitize: true,\n\t\t\t\t\tsmartLists: true,\n\t\t\t\t\tsmartypants: false\n\t\t\t\t}),\n\t\t\t\t{\n\t\t\t\t\tSAFE_FOR_JQUERY: true,\n\t\t\t\t\tALLOWED_TAGS: [\n\t\t\t\t\t\t'strong',\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\t'a',\n\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t'ol',\n\t\t\t\t\t\t'li',\n\t\t\t\t\t\t'em',\n\t\t\t\t\t\t'del',\n\t\t\t\t\t\t'blockquote'\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n}\n</script>\n","import { render, staticRenderFns } from \"./appDetails.vue?vue&type=template&id=76f05f1e&\"\nimport script from \"./appDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./appDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"20px\"},attrs:{\"id\":\"app-details-view\"}},[_c('a',{staticClass:\"close icon-close\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.hideAppDetails}},[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"Close\")])]),_vm._v(\" \"),_c('h2',[(!_vm.app.preview)?_c('div',{staticClass:\"icon-settings-dark\"}):_vm._e(),_vm._v(\" \"),(_vm.app.previewAsIcon && _vm.app.preview)?_c('svg',{attrs:{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"0 0 32 32\"}},[_c('defs',[_c('filter',{attrs:{\"id\":_vm.filterId}},[_c('feColorMatrix',{attrs:{\"in\":\"SourceGraphic\",\"type\":\"matrix\",\"values\":\"-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0\"}})],1)]),_vm._v(\" \"),_c('image',{staticClass:\"app-icon\",attrs:{\"x\":\"0\",\"y\":\"0\",\"width\":\"32\",\"height\":\"32\",\"preserveAspectRatio\":\"xMinYMin meet\",\"filter\":_vm.filterUrl,\"xlink:href\":_vm.app.preview}})]):_vm._e(),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.app.name))]),_vm._v(\" \"),(_vm.app.screenshot)?_c('img',{attrs:{\"src\":_vm.app.screenshot,\"width\":\"100%\"}}):_vm._e(),_vm._v(\" \"),(_vm.app.level === 200 || _vm.hasRating)?_c('div',{staticClass:\"app-level\"},[(_vm.app.level === 200)?_c('span',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')),expression:\"t('settings', 'Official apps are developed by and within the community. They offer central functionality and are ready for production use.')\",modifiers:{\"auto\":true}}],staticClass:\"official icon-checkmark\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Official')))]):_vm._e(),_vm._v(\" \"),(_vm.hasRating)?_c('app-score',{attrs:{\"score\":_vm.app.appstoreData.ratingOverall}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.author)?_c('div',{staticClass:\"app-author\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'by'))+\"\\n\\t\\t\"),_vm._l((_vm.author),function(a,index){return _c('span',[(a['@attributes'] && a['@attributes']['homepage'])?_c('a',{attrs:{\"href\":a['@attributes']['homepage']}},[_vm._v(_vm._s(a['@value']))]):(a['@value'])?_c('span',[_vm._v(_vm._s(a['@value']))]):_c('span',[_vm._v(_vm._s(a))]),(index+1 < _vm.author.length)?_c('span',[_vm._v(\", \")]):_vm._e()])})],2):_vm._e(),_vm._v(\" \"),(_vm.licence)?_c('div',{staticClass:\"app-licence\"},[_vm._v(_vm._s(_vm.licence))]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('div',{staticClass:\"actions-buttons\"},[(_vm.app.update)?_c('input',{staticClass:\"update primary\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Update to {version}', {version: _vm.app.update}),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){return _vm.update(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.canUnInstall)?_c('input',{staticClass:\"uninstall\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings', 'Remove'),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){return _vm.remove(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(_vm.app.active)?_c('input',{staticClass:\"enable\",attrs:{\"type\":\"button\",\"value\":_vm.t('settings','Disable'),\"disabled\":_vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){return _vm.disable(_vm.app.id)}}}):_vm._e(),_vm._v(\" \"),(!_vm.app.active)?_c('input',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.enableButtonTooltip),expression:\"enableButtonTooltip\",modifiers:{\"auto\":true}}],staticClass:\"enable primary\",attrs:{\"type\":\"button\",\"value\":_vm.enableButtonText,\"disabled\":!_vm.app.canInstall || _vm.installing || _vm.loading(_vm.app.id)},on:{\"click\":function($event){return _vm.enable(_vm.app.id)}}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-groups\"},[(_vm.app.active && _vm.canLimitToGroups(_vm.app))?_c('div',{staticClass:\"groups-enable\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.groupCheckedAppsData),expression:\"groupCheckedAppsData\"}],staticClass:\"groups-enable__checkbox checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.prefix('groups_enable', _vm.app.id)},domProps:{\"value\":_vm.app.id,\"checked\":Array.isArray(_vm.groupCheckedAppsData)?_vm._i(_vm.groupCheckedAppsData,_vm.app.id)>-1:(_vm.groupCheckedAppsData)},on:{\"change\":[function($event){var $$a=_vm.groupCheckedAppsData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.app.id,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.groupCheckedAppsData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.groupCheckedAppsData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.groupCheckedAppsData=$$c}},_vm.setGroupLimit]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.prefix('groups_enable', _vm.app.id)}},[_vm._v(_vm._s(_vm.t('settings', 'Limit to groups')))]),_vm._v(\" \"),_c('input',{staticClass:\"group_select\",attrs:{\"type\":\"hidden\",\"title\":_vm.t('settings', 'All'),\"value\":\"\"}}),_vm._v(\" \"),(_vm.isLimitedToGroups(_vm.app))?_c('multiselect',{staticClass:\"multiselect-vue\",attrs:{\"options\":_vm.groups,\"value\":_vm.appGroups,\"options-limit\":5,\"placeholder\":_vm.t('settings', 'Limit app usage to groups'),\"label\":\"name\",\"track-by\":\"id\",\"multiple\":true,\"close-on-select\":false},on:{\"select\":_vm.addGroupLimitation,\"remove\":_vm.removeGroupLimitation,\"search-change\":_vm.asyncFindGroup}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.t('settings', 'No results')))])]):_vm._e()],1):_vm._e()])]),_vm._v(\" \"),_c('p',{staticClass:\"documentation\"},[(!_vm.app.internal)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.appstoreUrl,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'View in store'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.website)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.website,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Visit website'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.bugs)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.bugs,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Report a bug'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.user)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.user,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'User documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.admin)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.admin,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Admin documentation'))+\" ↗\")]):_vm._e(),_vm._v(\" \"),(_vm.app.documentation && _vm.app.documentation.developer)?_c('a',{staticClass:\"appslink\",attrs:{\"href\":_vm.app.documentation.developer,\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_vm._v(_vm._s(_vm.t('settings', 'Developer documentation'))+\" ↗\")]):_vm._e()]),_vm._v(\" \"),_c('ul',{staticClass:\"app-dependencies\"},[(_vm.app.missingMinOwnCloudVersion)?_c('li',[_vm._v(_vm._s(_vm.t('settings', 'This app has no minimum Nextcloud version assigned. This will be an error in the future.')))]):_vm._e(),_vm._v(\" \"),(_vm.app.missingMaxOwnCloudVersion)?_c('li',[_vm._v(_vm._s(_vm.t('settings', 'This app has no maximum Nextcloud version assigned. This will be an error in the future.')))]):_vm._e(),_vm._v(\" \"),(!_vm.app.canInstall)?_c('li',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'This app cannot be installed because the following dependencies are not fulfilled:'))+\"\\n\\t\\t\\t\"),_c('ul',{staticClass:\"missing-dependencies\"},_vm._l((_vm.app.missingDependencies),function(dep){return _c('li',[_vm._v(_vm._s(dep))])}),0)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"app-description\",domProps:{\"innerHTML\":_vm._s(_vm.renderMarkdown)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<AppContent app-name=\"settings\" :class=\"{ 'with-app-sidebar': currentApp}\"\n\t:content-class=\"{ 'icon-loading': loadingList }\" :navigation-class=\"{ 'icon-loading': loading }\">\n\t\t<template #navigation>\n\t\t\t<ul id=\"appscategories\">\n\t\t\t\t<AppNavigationItem v-for=\"item in menu\" :key=\"item.key\" :item=\"item\" />\n\t\t\t</ul>\n\t\t</template>\n\t\t<template #content class=\"app-settings-content\" :class=\"{ 'icon-loading': loadingList }\">\n\t\t\t<app-list :category=\"category\" :app=\"currentApp\" :search=\"searchQuery\"></app-list>\n\t\t</template>\n\t\t<template #sidebar v-if=\"id && currentApp\" >\n\t\t\t<app-details :category=\"category\" :app=\"currentApp\"></app-details>\n\t\t</template>\n\t</AppContent>\n</template>\n\n<script>\nimport { AppContent, AppNavigationItem } from 'nextcloud-vue';\nimport appList from '../components/appList';\nimport Vue from 'vue';\nimport VueLocalStorage from 'vue-localstorage'\nimport AppDetails from '../components/appDetails';\n\nVue.use(VueLocalStorage)\n\nexport default {\n\tname: 'Apps',\n\tprops: {\n\t\tcategory: {\n\t\t\ttype: String,\n\t\t\tdefault: 'installed',\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t}\n\t},\n\tcomponents: {\n\t\tAppContent,\n\t\tAppDetails,\n\t\tappList,\n\t\tAppNavigationItem,\n\t},\n\tmethods: {\n\t\tsetSearch(query) {\n\t\t\tthis.searchQuery = query;\n\t\t},\n\t\tresetSearch() {\n\t\t\tthis.setSearch('');\n\t\t}\n\t},\n\tbeforeMount() {\n\t\tthis.$store.dispatch('getCategories');\n\t\tthis.$store.dispatch('getAllApps');\n\t\tthis.$store.dispatch('getGroups', {offset: 0, limit: 5});\n\t\tthis.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount)\n\t},\n\tmounted() {\n\t\t/** \n\t\t * Register search\n\t\t */\n\t\tthis.appSearch = new OCA.Search(this.setSearch, this.resetSearch);\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsearchQuery: ''\n\t\t}\n\t},\n\twatch: {\n\t\tcategory: function (val, old) {\n\t\t\tthis.setSearch('');\n\t\t}\n\t},\n\tcomputed: {\n\t\tloading() {\n\t\t\treturn this.$store.getters.loading('categories');\n\t\t},\n\t\tloadingList() {\n\t\t\treturn this.$store.getters.loading('list');\n\t\t},\n\t\tcurrentApp() {\n\t\t\treturn this.apps.find(app => app.id === this.id );\n\t\t},\n\t\tcategories() {\n\t\t\treturn this.$store.getters.getCategories;\n\t\t},\n\t\tapps() {\n\t\t\treturn this.$store.getters.getAllApps;\n\t\t},\n\t\tupdateCount() {\n\t\t\treturn this.$store.getters.getUpdateCount;\n\t\t},\n\t\tsettings() {\n\t\t\treturn this.$store.getters.getServerData;\n\t\t},\n\n\t\t// BUILD APP NAVIGATION MENU OBJECT\n\t\tmenu() {\n\t\t\t// Data provided php side\n\t\t\tlet categories = this.$store.getters.getCategories;\n\t\t\tcategories = Array.isArray(categories) ? categories : [];\n\n\t\t\t// Map groups\n\t\t\tcategories = categories.map(category => {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = 'app-category-' + category.ident;\n\t\t\t\titem.icon = 'icon-category-' + category.ident;\n\t\t\t\titem.classes = [];\t\t\t\t\t\t\t// empty classes, active will be set later\n\t\t\t\titem.router = {\t\t\t\t\t\t\t\t// router link to\n\t\t\t\t\tname: 'apps-category',\n\t\t\t\t\tparams: {category: category.ident}\n\t\t\t\t};\n\t\t\t\titem.text = category.displayName;\n\n\t\t\t\treturn item;\n\t\t\t});\n\n\n\t\t\t// Add everyone group\n\t\t\tlet defaultCategories = [\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-your-apps',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\trouter: {name: 'apps'},\n\t\t\t\t\ticon: 'icon-category-installed',\n\t\t\t\t\ttext: t('settings', 'Your apps'),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'app-category-enabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-enabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'enabled'}},\n\t\t\t\t\ttext: t('settings', 'Active apps'),\n\t\t\t\t}, {\n\t\t\t\t\tid: 'app-category-disabled',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-category-disabled',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'disabled'}},\n\t\t\t\t\ttext: t('settings', 'Disabled apps'),\n\t\t\t\t}\n\t\t\t];\n\n\t\t\tif (!this.settings.appstoreEnabled) {\n\t\t\t\treturn defaultCategories\n\t\t\t}\n\n\t\t\tif (this.$store.getters.getUpdateCount > 0) {\n\t\t\t\tdefaultCategories.push({\n\t\t\t\t\tid: 'app-category-updates',\n\t\t\t\t\tclasses: [],\n\t\t\t\t\ticon: 'icon-download',\n\t\t\t\t\trouter: {name: 'apps-category', params: {category: 'updates'}},\n\t\t\t\t\ttext: t('settings', 'Updates'),\n\t\t\t\t\tutils: {counter: this.$store.getters.getUpdateCount}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tdefaultCategories.push({\n\t\t\t\tid: 'app-category-app-bundles',\n\t\t\t\tclasses: [],\n\t\t\t\ticon: 'icon-category-app-bundles',\n\t\t\t\trouter: {name: 'apps-category', params: {category: 'app-bundles'}},\n\t\t\t\ttext: t('settings', 'App bundles'),\n\t\t\t});\n\n\t\t\tcategories = defaultCategories.concat(categories);\n\n\t\t\t// Set current group as active\n\t\t\tlet activeGroup = categories.findIndex(group => group.id === 'app-category-' + this.category);\n\t\t\tif (activeGroup >= 0) {\n\t\t\t\tcategories[activeGroup].classes.push('active');\n\t\t\t} else {\n\t\t\t\tcategories[0].classes.push('active');\n\t\t\t}\n\n\t\t\tcategories.push({\n\t\t\t\tid: 'app-developer-docs',\n\t\t\t\tclasses: [],\n\t\t\t\thref: this.settings.developerDocumentation,\n\t\t\t\ttext: t('settings', 'Developer documentation') + ' ↗',\n\t\t\t});\n\n\t\t\t// Return\n\t\t\treturn categories\n\t\t},\n\t}\n}\n</script>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=7efae998&\"\nimport script from \"./Apps.vue?vue&type=script&lang=js&\"\nexport * from \"./Apps.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} |