diff options
author | dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> | 2019-12-29 05:16:23 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-12-30 18:40:17 +0300 |
commit | 55de6a12d5344aee44fef3f087dae8b9bc27bf09 (patch) | |
tree | 2ecfbb561fa8be024bcba076b7f9018406a35d28 /apps/systemtags/js | |
parent | 5d954fa9c39ba2195a657ce8ac4dac545a5acb7b (diff) |
Bump css-loader from 3.3.2 to 3.4.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.3.2...v3.4.0)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'apps/systemtags/js')
-rw-r--r-- | apps/systemtags/js/systemtags.js | 2 | ||||
-rw-r--r-- | apps/systemtags/js/systemtags.js.map | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/apps/systemtags/js/systemtags.js b/apps/systemtags/js/systemtags.js index b7c9b10f4b1..2e60e2171a1 100644 --- a/apps/systemtags/js/systemtags.js +++ b/apps/systemtags/js/systemtags.js @@ -19,5 +19,5 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -!function(e){var i=OC.Backbone.View.extend({tagName:"span",className:"tag-label",events:{click:"click"},_systemTagsInfoView:null,template:function(e){return'<span class="icon icon-tag"/>'+t("systemtags","Tags")},initialize:function(e){if(e=e||{},this._systemTagsInfoView=e.systemTagsInfoView,!this._systemTagsInfoView)throw new Error('Missing required parameter "systemTagsInfoView"')},click:function(){this._systemTagsInfoView.isVisible()?this._systemTagsInfoView.hide():(this._systemTagsInfoView.show(),this._systemTagsInfoView.openDropdown())},render:function(){return this.$el.html(this.template()),this}});e.SystemTags.SystemTagsInfoViewToggleView=i}(OCA)},function(e,t,i){var s=i(7);"string"==typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);(0,i(9).default)("4b13cbab",s,!0,{})},function(e,t,i){var s=i(8);(e.exports=s(!1)).push([e.i,"#app-content-systemtagsfilter .select2-container{width:30%;margin-left:10px}#app-sidebar .mainFileInfoView .tag-label{cursor:pointer;padding:13px}#app-sidebar .mainFileInfoView .icon-tag{opacity:.5;vertical-align:middle}\n",""])},function(e,t,i){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=function(e,t){var i=e[1]||"",s=e[3];if(!s)return i;if(t&&"function"==typeof btoa){var n=(a=s,l=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),"/*# ".concat(r," */")),o=s.sources.map((function(e){return"/*# sourceURL=".concat(s.sourceRoot).concat(e," */")}));return[i].concat(o).concat([n]).join("\n")}var a,l,r;return[i].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var s=0;s<e.length;s++){var n=[].concat(e[s]);i&&(n[2]?n[2]="".concat(i," and ").concat(n[2]):n[2]=i),t.push(n)}},t}},function(e,t,i){"use strict";function s(e,t){for(var i=[],s={},n=0;n<t.length;n++){var o=t[n],a=o[0],l={id:e+":"+n,css:o[1],media:o[2],sourceMap:o[3]};s[a]?s[a].parts.push(l):i.push(s[a]={id:a,parts:[l]})}return i}i.r(t),i.d(t,"default",(function(){return p}));var n="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!n)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=n&&(document.head||document.getElementsByTagName("head")[0]),l=null,r=0,c=!1,d=function(){},u=null,f="data-vue-ssr-id",h="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function p(e,t,i,n){c=i,u=n||{};var a=s(e,t);return g(a),function(t){for(var i=[],n=0;n<a.length;n++){var l=a[n];(r=o[l.id]).refs--,i.push(r)}t?g(a=s(e,t)):a=[];for(n=0;n<i.length;n++){var r;if(0===(r=i[n]).refs){for(var c=0;c<r.parts.length;c++)r.parts[c]();delete o[r.id]}}}}function g(e){for(var t=0;t<e.length;t++){var i=e[t],s=o[i.id];if(s){s.refs++;for(var n=0;n<s.parts.length;n++)s.parts[n](i.parts[n]);for(;n<i.parts.length;n++)s.parts.push(y(i.parts[n]));s.parts.length>i.parts.length&&(s.parts.length=i.parts.length)}else{var a=[];for(n=0;n<i.parts.length;n++)a.push(y(i.parts[n]));o[i.id]={id:i.id,refs:1,parts:a}}}}function m(){var e=document.createElement("style");return e.type="text/css",a.appendChild(e),e}function y(e){var t,i,s=document.querySelector("style["+f+'~="'+e.id+'"]');if(s){if(c)return d;s.parentNode.removeChild(s)}if(h){var n=r++;s=l||(l=m()),t=C.bind(null,s,n,!1),i=C.bind(null,s,n,!0)}else s=m(),t=v.bind(null,s),i=function(){s.parentNode.removeChild(s)};return t(e),function(s){if(s){if(s.css===e.css&&s.media===e.media&&s.sourceMap===e.sourceMap)return;t(e=s)}else i()}}var _,T=(_=[],function(e,t){return _[e]=t,_.filter(Boolean).join("\n")});function C(e,t,i,s){var n=i?"":s.css;if(e.styleSheet)e.styleSheet.cssText=T(t,n);else{var o=document.createTextNode(n),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function v(e,t){var i=t.css,s=t.media,n=t.sourceMap;if(s&&e.setAttribute("media",s),u.ssrId&&e.setAttribute(f,t.id),n&&(i+="\n/*# sourceURL="+n.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}}]); +!function(e){var i=OC.Backbone.View.extend({tagName:"span",className:"tag-label",events:{click:"click"},_systemTagsInfoView:null,template:function(e){return'<span class="icon icon-tag"/>'+t("systemtags","Tags")},initialize:function(e){if(e=e||{},this._systemTagsInfoView=e.systemTagsInfoView,!this._systemTagsInfoView)throw new Error('Missing required parameter "systemTagsInfoView"')},click:function(){this._systemTagsInfoView.isVisible()?this._systemTagsInfoView.hide():(this._systemTagsInfoView.show(),this._systemTagsInfoView.openDropdown())},render:function(){return this.$el.html(this.template()),this}});e.SystemTags.SystemTagsInfoViewToggleView=i}(OCA)},function(e,t,i){var s=i(7);"string"==typeof s&&(s=[[e.i,s,""]]),s.locals&&(e.exports=s.locals);(0,i(9).default)("4b13cbab",s,!0,{})},function(e,t,i){(t=i(8)(!1)).push([e.i,"#app-content-systemtagsfilter .select2-container{width:30%;margin-left:10px}#app-sidebar .mainFileInfoView .tag-label{cursor:pointer;padding:13px}#app-sidebar .mainFileInfoView .icon-tag{opacity:.5;vertical-align:middle}\n",""]),e.exports=t},function(e,t,i){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=function(e,t){var i=e[1]||"",s=e[3];if(!s)return i;if(t&&"function"==typeof btoa){var n=(a=s,l=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),"/*# ".concat(r," */")),o=s.sources.map((function(e){return"/*# sourceURL=".concat(s.sourceRoot).concat(e," */")}));return[i].concat(o).concat([n]).join("\n")}var a,l,r;return[i].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var s=0;s<e.length;s++){var n=[].concat(e[s]);i&&(n[2]?n[2]="".concat(i," and ").concat(n[2]):n[2]=i),t.push(n)}},t}},function(e,t,i){"use strict";function s(e,t){for(var i=[],s={},n=0;n<t.length;n++){var o=t[n],a=o[0],l={id:e+":"+n,css:o[1],media:o[2],sourceMap:o[3]};s[a]?s[a].parts.push(l):i.push(s[a]={id:a,parts:[l]})}return i}i.r(t),i.d(t,"default",(function(){return p}));var n="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!n)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=n&&(document.head||document.getElementsByTagName("head")[0]),l=null,r=0,c=!1,d=function(){},u=null,f="data-vue-ssr-id",h="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function p(e,t,i,n){c=i,u=n||{};var a=s(e,t);return g(a),function(t){for(var i=[],n=0;n<a.length;n++){var l=a[n];(r=o[l.id]).refs--,i.push(r)}t?g(a=s(e,t)):a=[];for(n=0;n<i.length;n++){var r;if(0===(r=i[n]).refs){for(var c=0;c<r.parts.length;c++)r.parts[c]();delete o[r.id]}}}}function g(e){for(var t=0;t<e.length;t++){var i=e[t],s=o[i.id];if(s){s.refs++;for(var n=0;n<s.parts.length;n++)s.parts[n](i.parts[n]);for(;n<i.parts.length;n++)s.parts.push(y(i.parts[n]));s.parts.length>i.parts.length&&(s.parts.length=i.parts.length)}else{var a=[];for(n=0;n<i.parts.length;n++)a.push(y(i.parts[n]));o[i.id]={id:i.id,refs:1,parts:a}}}}function m(){var e=document.createElement("style");return e.type="text/css",a.appendChild(e),e}function y(e){var t,i,s=document.querySelector("style["+f+'~="'+e.id+'"]');if(s){if(c)return d;s.parentNode.removeChild(s)}if(h){var n=r++;s=l||(l=m()),t=C.bind(null,s,n,!1),i=C.bind(null,s,n,!0)}else s=m(),t=v.bind(null,s),i=function(){s.parentNode.removeChild(s)};return t(e),function(s){if(s){if(s.css===e.css&&s.media===e.media&&s.sourceMap===e.sourceMap)return;t(e=s)}else i()}}var _,T=(_=[],function(e,t){return _[e]=t,_.filter(Boolean).join("\n")});function C(e,t,i,s){var n=i?"":s.css;if(e.styleSheet)e.styleSheet.cssText=T(t,n);else{var o=document.createTextNode(n),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function v(e,t){var i=t.css,s=t.media,n=t.sourceMap;if(s&&e.setAttribute("media",s),u.ssrId&&e.setAttribute(f,t.id),n&&(i+="\n/*# sourceURL="+n.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}}]); //# sourceMappingURL=systemtags.js.map
\ No newline at end of file diff --git a/apps/systemtags/js/systemtags.js.map b/apps/systemtags/js/systemtags.js.map index d0f781c0281..0d7ddfd5b85 100644 --- a/apps/systemtags/js/systemtags.js.map +++ b/apps/systemtags/js/systemtags.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/systemtags/src/systemtags.js","webpack:///./apps/systemtags/src/app.js","webpack:///./apps/systemtags/src/systemtagsfilelist.js","webpack:///./apps/systemtags/src/filesplugin.js","webpack:///./apps/systemtags/src/systemtagsinfoview.js","webpack:///./apps/systemtags/src/systemtagsinfoviewtoggleview.js","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss?de55","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","OCA","SystemTags","App","initFileList","$el","this","_fileList","FileList","id","fileActions","_createFileActions","config","Files","getFilesConfig","shown","appName","removeFileList","$fileList","empty","FileActions","registerDefaultActions","merge","_globalActionsInitialized","_onActionsUpdated","_","on","register","OC","PERMISSION_READ","filename","context","setActiveView","silent","fileList","changeDirectory","joinPaths","$file","attr","setDefault","ev","action","registerAction","defaultAction","mime","destroy","off","$","document","ready","e","target","options","initialize","extend","_systemTagIds","_lastUsedTags","_clientSideSort","_allowSelection","_filterField","apply","arguments","initialized","systemTagIds","Plugins","attach","$controls","find","defer","_getLastUsedTags","_initFilterField","$filterField","remove","self","ajax","type","url","generateUrl","success","response","$container","append","select2","placeholder","allowClear","multiple","toggleSelect","separator","query","_queryTagsAutocomplete","tag","initSelection","element","callback","val","trim","tagIds","split","tags","collection","fetch","each","tagId","isUndefined","push","toJSON","formatResult","getDescriptiveTag","formatSelection","outerHTML","sortResults","results","sort","a","b","aLastUsed","indexOf","bLastUsed","Util","naturalSortCompare","escapeMarkup","formatNoMatches","_onTagsChanged","filterByName","term","invoke","_onUrlChanged","dir","filter","reload","trigger","Event","join","updateEmptyContent","getCurrentDirectory","length","html","toggleClass","isEmpty","getDirectoryPermissions","PERMISSION_DELETE","updateStorageStatistics","_setCurrentDir","setFiles","Deferred","resolve","_selectedFiles","_selectionSummary","clear","_currentFileModel","prop","showMask","_reloadCall","filesClient","getFilteredFiles","properties","_getWebdavProperties","_detailsView","_updateDetailsView","callBack","reloadCallback","then","status","result","unshift","FilesPlugin","ignoreLists","systemTagsInfoView","SystemTagsInfoView","registerDetailView","getRegisteredDetailViews","detailView","MainFileInfoDetailView","systemTagsInfoViewToggleView","SystemTagsInfoViewToggleView","render","listenTo","detach","modelToSelection","model","data","isUserAdmin","canAssign","locked","DetailFileInfoView","_rendered","className","_inputView","SystemTagsInputField","allowActions","allowCreate","isAdmin","selectedTagsCollection","map","SystemTagsMappingCollection","objectType","_onTagRenamedGlobally","_onTagDeletedGlobally","_onSelectTag","_onDeselectTag","changedTag","selectedTagMapping","set","setFileInfo","fileInfo","setObjectId","fetched","appliedTags","setData","show","hide","isVisible","hasClass","removeClass","addClass","openDropdown","Backbone","View","tagName","events","_systemTagsInfoView","template","Error","click","content","locals","add","default","___CSS_LOADER_API_IMPORT___","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","concat","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","appendChild","obj","update","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild"],"mappings":"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","file":"systemtags.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './app'\nimport './systemtagsfilelist'\nimport './filesplugin'\nimport './systemtagsinfoview'\nimport './systemtagsinfoviewtoggleview'\nimport './css/systemtagsfilelist.scss'\n\nwindow.OCA.SystemTags = OCA.SystemTags\n","/*\n * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\tOCA.SystemTags.App = {\n\n\t\tinitFileList: function($el) {\n\t\t\tif (this._fileList) {\n\t\t\t\treturn this._fileList\n\t\t\t}\n\n\t\t\tthis._fileList = new OCA.SystemTags.FileList(\n\t\t\t\t$el,\n\t\t\t\t{\n\t\t\t\t\tid: 'systemtags',\n\t\t\t\t\tfileActions: this._createFileActions(),\n\t\t\t\t\tconfig: OCA.Files.App.getFilesConfig(),\n\t\t\t\t\t// The file list is created when a \"show\" event is handled,\n\t\t\t\t\t// so it should be marked as \"shown\" like it would have been\n\t\t\t\t\t// done if handling the event with the file list already\n\t\t\t\t\t// created.\n\t\t\t\t\tshown: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tthis._fileList.appName = t('systemtags', 'Tags')\n\t\t\treturn this._fileList\n\t\t},\n\n\t\tremoveFileList: function() {\n\t\t\tif (this._fileList) {\n\t\t\t\tthis._fileList.$fileList.empty()\n\t\t\t}\n\t\t},\n\n\t\t_createFileActions: function() {\n\t\t\t// inherit file actions from the files app\n\t\t\tconst fileActions = new OCA.Files.FileActions()\n\t\t\t// note: not merging the legacy actions because legacy apps are not\n\t\t\t// compatible with the sharing overview and need to be adapted first\n\t\t\tfileActions.registerDefaultActions()\n\t\t\tfileActions.merge(OCA.Files.fileActions)\n\n\t\t\tif (!this._globalActionsInitialized) {\n\t\t\t\t// in case actions are registered later\n\t\t\t\tthis._onActionsUpdated = _.bind(this._onActionsUpdated, this)\n\t\t\t\tOCA.Files.fileActions.on('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\t\tOCA.Files.fileActions.on('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\t\tthis._globalActionsInitialized = true\n\t\t\t}\n\n\t\t\t// when the user clicks on a folder, redirect to the corresponding\n\t\t\t// folder in the files app instead of opening it directly\n\t\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function(filename, context) {\n\t\t\t\tOCA.Files.App.setActiveView('files', { silent: true })\n\t\t\t\tOCA.Files.App.fileList.changeDirectory(OC.joinPaths(context.$file.attr('data-path'), filename), true, true)\n\t\t\t})\n\t\t\tfileActions.setDefault('dir', 'Open')\n\t\t\treturn fileActions\n\t\t},\n\n\t\t_onActionsUpdated: function(ev) {\n\t\t\tif (!this._fileList) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (ev.action) {\n\t\t\t\tthis._fileList.fileActions.registerAction(ev.action)\n\t\t\t} else if (ev.defaultAction) {\n\t\t\t\tthis._fileList.fileActions.setDefault(\n\t\t\t\t\tev.defaultAction.mime,\n\t\t\t\t\tev.defaultAction.name\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Destroy the app\n\t\t */\n\t\tdestroy: function() {\n\t\t\tOCA.Files.fileActions.off('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\tOCA.Files.fileActions.off('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\tthis.removeFileList()\n\t\t\tthis._fileList = null\n\t\t\tdelete this._globalActionsInitialized\n\t\t},\n\t}\n\n})()\n\n$(document).ready(function() {\n\t$('#app-content-systemtagsfilter').on('show', function(e) {\n\t\tOCA.SystemTags.App.initFileList($(e.target))\n\t})\n\t$('#app-content-systemtagsfilter').on('hide', function() {\n\t\tOCA.SystemTags.App.removeFileList()\n\t})\n})\n","/*\n * Copyright (c) 2016 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n(function() {\n\t/**\n\t * @class OCA.SystemTags.FileList\n\t * @augments OCA.Files.FileList\n\t *\n\t * @classdesc SystemTags file list.\n\t * Contains a list of files filtered by system tags.\n\t *\n\t * @param {Object} $el container element with existing markup for the #controls and a table\n\t * @param {Array} [options] map of options, see other parameters\n\t * @param {Array.<string>} [options.systemTagIds] array of system tag ids to\n\t * filter by\n\t */\n\tconst FileList = function($el, options) {\n\t\tthis.initialize($el, options)\n\t}\n\tFileList.prototype = _.extend(\n\t\t{},\n\t\tOCA.Files.FileList.prototype,\n\t\t/** @lends OCA.SystemTags.FileList.prototype */ {\n\t\t\tid: 'systemtagsfilter',\n\t\t\tappName: t('systemtags', 'Tagged files'),\n\n\t\t\t/**\n\t\t\t * Array of system tag ids to filter by\n\t\t\t *\n\t\t\t * @type Array.<string>\n\t\t\t */\n\t\t\t_systemTagIds: [],\n\t\t\t_lastUsedTags: [],\n\n\t\t\t_clientSideSort: true,\n\t\t\t_allowSelection: false,\n\n\t\t\t_filterField: null,\n\n\t\t\t/**\n\t\t\t * @private\n\t\t\t * @param {Object} $el container element\n\t\t\t * @param {Object} [options] map of options, see other parameters\n\t\t\t */\n\t\t\tinitialize: function($el, options) {\n\t\t\t\tOCA.Files.FileList.prototype.initialize.apply(this, arguments)\n\t\t\t\tif (this.initialized) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (options && options.systemTagIds) {\n\t\t\t\t\tthis._systemTagIds = options.systemTagIds\n\t\t\t\t}\n\n\t\t\t\tOC.Plugins.attach('OCA.SystemTags.FileList', this)\n\n\t\t\t\tconst $controls = this.$el.find('#controls').empty()\n\n\t\t\t\t_.defer(_.bind(this._getLastUsedTags, this))\n\t\t\t\tthis._initFilterField($controls)\n\t\t\t},\n\n\t\t\tdestroy: function() {\n\t\t\t\tthis.$filterField.remove()\n\n\t\t\t\tOCA.Files.FileList.prototype.destroy.apply(this, arguments)\n\t\t\t},\n\n\t\t\t_getLastUsedTags: function() {\n\t\t\t\tconst self = this\n\t\t\t\t$.ajax({\n\t\t\t\t\ttype: 'GET',\n\t\t\t\t\turl: OC.generateUrl('/apps/systemtags/lastused'),\n\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\tself._lastUsedTags = response\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t_initFilterField: function($container) {\n\t\t\t\tconst self = this\n\t\t\t\tthis.$filterField = $('<input type=\"hidden\" name=\"tags\"/>')\n\t\t\t\t$container.append(this.$filterField)\n\t\t\t\tthis.$filterField.select2({\n\t\t\t\t\tplaceholder: t('systemtags', 'Select tags to filter by'),\n\t\t\t\t\tallowClear: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\tseparator: ',',\n\t\t\t\t\tquery: _.bind(this._queryTagsAutocomplete, this),\n\n\t\t\t\t\tid: function(tag) {\n\t\t\t\t\t\treturn tag.id\n\t\t\t\t\t},\n\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tconst val = $(element)\n\t\t\t\t\t\t\t.val()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\tconst tagIds = val.split(',')\n\t\t\t\t\t\t\tconst tags = []\n\n\t\t\t\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\t\t\t\t_.each(tagIds, function(tagId) {\n\t\t\t\t\t\t\t\t\t\tconst tag = OC.SystemTags.collection.get(\n\t\t\t\t\t\t\t\t\t\t\ttagId\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\tif (!_.isUndefined(tag)) {\n\t\t\t\t\t\t\t\t\t\t\ttags.push(tag.toJSON())\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\t\tcallback(tags)\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\t\tcallback([])\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\tformatResult: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)\n\t\t\t\t\t},\n\n\t\t\t\t\tformatSelection: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)[0]\n\t\t\t\t\t\t\t.outerHTML\n\t\t\t\t\t},\n\n\t\t\t\t\tsortResults: function(results) {\n\t\t\t\t\t\tresults.sort(function(a, b) {\n\t\t\t\t\t\t\tconst aLastUsed = self._lastUsedTags.indexOf(a.id)\n\t\t\t\t\t\t\tconst bLastUsed = self._lastUsedTags.indexOf(b.id)\n\n\t\t\t\t\t\t\tif (aLastUsed !== bLastUsed) {\n\t\t\t\t\t\t\t\tif (bLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn -1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (aLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn aLastUsed < bLastUsed ? -1 : 1\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Both not found\n\t\t\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name)\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn results\n\t\t\t\t\t},\n\n\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tformatNoMatches: function() {\n\t\t\t\t\t\treturn t('systemtags', 'No tags found')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tthis.$filterField.on(\n\t\t\t\t\t'change',\n\t\t\t\t\t_.bind(this._onTagsChanged, this)\n\t\t\t\t)\n\t\t\t\treturn this.$filterField\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Autocomplete function for dropdown results\n\t\t\t *\n\t\t\t * @param {Object} query select2 query object\n\t\t\t */\n\t\t\t_queryTagsAutocomplete: function(query) {\n\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\tconst results = OC.SystemTags.collection.filterByName(\n\t\t\t\t\t\t\tquery.term\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tquery.callback({\n\t\t\t\t\t\t\tresults: _.invoke(results, 'toJSON'),\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler for when the URL changed\n\t\t\t *\n\t\t\t * @param {Event} e the urlchanged event\n\t\t\t */\n\t\t\t_onUrlChanged: function(e) {\n\t\t\t\tif (e.dir) {\n\t\t\t\t\tconst tags = _.filter(e.dir.split('/'), function(val) {\n\t\t\t\t\t\treturn val.trim() !== ''\n\t\t\t\t\t})\n\t\t\t\t\tthis.$filterField.select2('val', tags || [])\n\t\t\t\t\tthis._systemTagIds = tags\n\t\t\t\t\tthis.reload()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onTagsChanged: function(ev) {\n\t\t\t\tconst val = $(ev.target)\n\t\t\t\t\t.val()\n\t\t\t\t\t.trim()\n\t\t\t\tif (val !== '') {\n\t\t\t\t\tthis._systemTagIds = val.split(',')\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagIds = []\n\t\t\t\t}\n\n\t\t\t\tthis.$el.trigger(\n\t\t\t\t\t$.Event('changeDirectory', {\n\t\t\t\t\t\tdir: this._systemTagIds.join('/'),\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\tthis.reload()\n\t\t\t},\n\n\t\t\tupdateEmptyContent: function() {\n\t\t\t\tconst dir = this.getCurrentDirectory()\n\t\t\t\tif (dir === '/') {\n\t\t\t\t\t// root has special permissions\n\t\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t\t// no tags selected\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'<div class=\"icon-systemtags\"></div>'\n\t\t\t\t\t\t\t\t\t+ '<h2>'\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'Please select tags to filter by'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '</h2>'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// tags selected but no results\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'<div class=\"icon-systemtags\"></div>'\n\t\t\t\t\t\t\t\t\t+ '<h2>'\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'No files found for the selected tags'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '</h2>'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t.toggleClass('hidden', !this.isEmpty)\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#filestable thead th')\n\t\t\t\t\t\t.toggleClass('hidden', this.isEmpty)\n\t\t\t\t} else {\n\t\t\t\t\tOCA.Files.FileList.prototype.updateEmptyContent.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetDirectoryPermissions: function() {\n\t\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE\n\t\t\t},\n\n\t\t\tupdateStorageStatistics: function() {\n\t\t\t\t// no op because it doesn't have\n\t\t\t\t// storage info like free space / used space\n\t\t\t},\n\n\t\t\treload: function() {\n\t\t\t\t// there is only root\n\t\t\t\tthis._setCurrentDir('/', false)\n\n\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t// don't reload\n\t\t\t\t\tthis.updateEmptyContent()\n\t\t\t\t\tthis.setFiles([])\n\t\t\t\t\treturn $.Deferred().resolve()\n\t\t\t\t}\n\n\t\t\t\tthis._selectedFiles = {}\n\t\t\t\tthis._selectionSummary.clear()\n\t\t\t\tif (this._currentFileModel) {\n\t\t\t\t\tthis._currentFileModel.off()\n\t\t\t\t}\n\t\t\t\tthis._currentFileModel = null\n\t\t\t\tthis.$el.find('.select-all').prop('checked', false)\n\t\t\t\tthis.showMask()\n\t\t\t\tthis._reloadCall = this.filesClient.getFilteredFiles(\n\t\t\t\t\t{\n\t\t\t\t\t\tsystemTagIds: this._systemTagIds,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tproperties: this._getWebdavProperties(),\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\tif (this._detailsView) {\n\t\t\t\t\t// close sidebar\n\t\t\t\t\tthis._updateDetailsView(null)\n\t\t\t\t}\n\t\t\t\tconst callBack = this.reloadCallback.bind(this)\n\t\t\t\treturn this._reloadCall.then(callBack, callBack)\n\t\t\t},\n\n\t\t\treloadCallback: function(status, result) {\n\t\t\t\tif (result) {\n\t\t\t\t\t// prepend empty dir info because original handler\n\t\t\t\t\tresult.unshift({})\n\t\t\t\t}\n\n\t\t\t\treturn OCA.Files.FileList.prototype.reloadCallback.call(\n\t\t\t\t\tthis,\n\t\t\t\t\tstatus,\n\t\t\t\t\tresult\n\t\t\t\t)\n\t\t\t},\n\t\t}\n\t)\n\n\tOCA.SystemTags.FileList = FileList\n})()\n","/*\n * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tOCA.SystemTags = _.extend({}, OCA.SystemTags)\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.SystemTags.FilesPlugin = {\n\t\tignoreLists: [\n\t\t\t'trashbin',\n\t\t\t'files.public',\n\t\t],\n\n\t\tattach: function(fileList) {\n\t\t\tif (this.ignoreLists.indexOf(fileList.id) >= 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst systemTagsInfoView = new OCA.SystemTags.SystemTagsInfoView()\n\t\t\tfileList.registerDetailView(systemTagsInfoView)\n\n\t\t\t_.each(fileList.getRegisteredDetailViews(), function(detailView) {\n\t\t\t\tif (detailView instanceof OCA.Files.MainFileInfoDetailView) {\n\t\t\t\t\tconst systemTagsInfoViewToggleView\n\t\t\t\t\t\t= new OCA.SystemTags.SystemTagsInfoViewToggleView({\n\t\t\t\t\t\t\tsystemTagsInfoView: systemTagsInfoView,\n\t\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.render()\n\n\t\t\t\t\t// The toggle view element is detached before the\n\t\t\t\t\t// MainFileInfoDetailView is rendered to prevent its event\n\t\t\t\t\t// handlers from being removed.\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'pre-render', function() {\n\t\t\t\t\t\tsystemTagsInfoViewToggleView.$el.detach()\n\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'post-render', function() {\n\t\t\t\t\t\tdetailView.$el.find('.file-details').append(systemTagsInfoViewToggleView.$el)\n\t\t\t\t\t})\n\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t}\n\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.SystemTags.FilesPlugin)\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OCA) {\n\n\tfunction modelToSelection(model) {\n\t\tconst data = model.toJSON()\n\t\tif (!OC.isUserAdmin() && !data.canAssign) {\n\t\t\tdata.locked = true\n\t\t}\n\t\treturn data\n\t}\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoView\n\t * @classdesc\n\t *\n\t * Displays a file's system tags\n\t *\n\t */\n\tconst SystemTagsInfoView = OCA.Files.DetailFileInfoView.extend(\n\t\t/** @lends OCA.SystemTags.SystemTagsInfoView.prototype */ {\n\n\t\t\t_rendered: false,\n\n\t\t\tclassName: 'systemTagsInfoView',\n\t\t\tname: 'systemTags',\n\n\t\t\t/**\n\t\t\t * @type OC.SystemTags.SystemTagsInputField\n\t\t\t */\n\t\t\t_inputView: null,\n\n\t\t\tinitialize: function(options) {\n\t\t\t\tconst self = this\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._inputView = new OC.SystemTags.SystemTagsInputField({\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\tallowActions: true,\n\t\t\t\t\tallowCreate: true,\n\t\t\t\t\tisAdmin: OC.isUserAdmin(),\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tcallback(self.selectedTagsCollection.map(modelToSelection))\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tthis.selectedTagsCollection = new OC.SystemTags.SystemTagsMappingCollection([], { objectType: 'files' })\n\n\t\t\t\tthis._inputView.collection.on('change:name', this._onTagRenamedGlobally, this)\n\t\t\t\tthis._inputView.collection.on('remove', this._onTagDeletedGlobally, this)\n\n\t\t\t\tthis._inputView.on('select', this._onSelectTag, this)\n\t\t\t\tthis._inputView.on('deselect', this._onDeselectTag, this)\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was selected\n\t\t\t * @param {Object} tag the tag to create\n\t\t\t */\n\t\t\t_onSelectTag: function(tag) {\n\t\t\t// create a mapping entry for this tag\n\t\t\t\tthis.selectedTagsCollection.create(tag.toJSON())\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag gets deselected.\n\t\t\t * Removes the selected tag from the mapping collection.\n\t\t\t *\n\t\t\t * @param {string} tagId tag id\n\t\t\t */\n\t\t\t_onDeselectTag: function(tagId) {\n\t\t\t\tthis.selectedTagsCollection.get(tagId).destroy()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was renamed globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} changedTag tag model that has changed\n\t\t\t */\n\t\t\t_onTagRenamedGlobally: function(changedTag) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tconst selectedTagMapping = this.selectedTagsCollection.get(changedTag.id)\n\t\t\t\tif (selectedTagMapping) {\n\t\t\t\t\tselectedTagMapping.set(changedTag.toJSON())\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was deleted globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} tagId tag model that has changed\n\t\t\t */\n\t\t\t_onTagDeletedGlobally: function(tagId) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tthis.selectedTagsCollection.remove(tagId)\n\t\t\t},\n\n\t\t\tsetFileInfo: function(fileInfo) {\n\t\t\t\tconst self = this\n\t\t\t\tif (!this._rendered) {\n\t\t\t\t\tthis.render()\n\t\t\t\t}\n\n\t\t\t\tif (fileInfo) {\n\t\t\t\t\tthis.selectedTagsCollection.setObjectId(fileInfo.id)\n\t\t\t\t\tthis.selectedTagsCollection.fetch({\n\t\t\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\t\t\tcollection.fetched = true\n\n\t\t\t\t\t\t\tconst appliedTags = collection.map(modelToSelection)\n\t\t\t\t\t\t\tself._inputView.setData(appliedTags)\n\n\t\t\t\t\t\t\tself.show()\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis.hide()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this details view\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.append(this._inputView.$el)\n\t\t\t\tthis._inputView.render()\n\t\t\t},\n\n\t\t\tisVisible: function() {\n\t\t\t\treturn !this.$el.hasClass('hidden')\n\t\t\t},\n\n\t\t\tshow: function() {\n\t\t\t\tthis.$el.removeClass('hidden')\n\t\t\t},\n\n\t\t\thide: function() {\n\t\t\t\tthis.$el.addClass('hidden')\n\t\t\t},\n\n\t\t\topenDropdown: function() {\n\t\t\t\tthis.$el.find('.systemTagsInputField').select2('open')\n\t\t\t},\n\n\t\t\tremove: function() {\n\t\t\t\tthis._inputView.remove()\n\t\t\t},\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoView = SystemTagsInfoView\n\n})(OCA)\n","/**\n *\n * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.com)\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(function(OCA) {\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoViewToggleView\n\t * @classdesc\n\t *\n\t * View to toggle the visibility of a SystemTagsInfoView.\n\t *\n\t * This toggle view must be explicitly rendered before it is used.\n\t */\n\tconst SystemTagsInfoViewToggleView = OC.Backbone.View.extend(\n\t\t/** @lends OC.Backbone.View.prototype */ {\n\n\t\t\ttagName: 'span',\n\n\t\t\tclassName: 'tag-label',\n\n\t\t\tevents: {\n\t\t\t\t'click': 'click',\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * @type OCA.SystemTags.SystemTagsInfoView\n\t\t\t */\n\t\t\t_systemTagsInfoView: null,\n\n\t\t\ttemplate: function(data) {\n\t\t\t\treturn '<span class=\"icon icon-tag\"/>' + t('systemtags', 'Tags')\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initialize this toggle view.\n\t\t\t *\n\t\t\t * The options must provide a systemTagsInfoView parameter that\n\t\t\t * references the SystemTagsInfoView to associate to this toggle view.\n\t\t\t * @param {Object} options options\n\t\t\t */\n\t\t\tinitialize: function(options) {\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._systemTagsInfoView = options.systemTagsInfoView\n\t\t\t\tif (!this._systemTagsInfoView) {\n\t\t\t\t\tthrow new Error('Missing required parameter \"systemTagsInfoView\"')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t * Toggles the visibility of the associated SystemTagsInfoView.\n\t\t *\n\t\t * When the systemTagsInfoView is shown its dropdown is also opened.\n\t\t */\n\t\t\tclick: function() {\n\t\t\t\tif (this._systemTagsInfoView.isVisible()) {\n\t\t\t\t\tthis._systemTagsInfoView.hide()\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagsInfoView.show()\n\t\t\t\t\tthis._systemTagsInfoView.openDropdown()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this toggle view.\n\t\t\t *\n\t\t\t * @returns {OCA.SystemTags.SystemTagsInfoViewToggleView} this object.\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.html(this.template())\n\n\t\t\t\treturn this\n\t\t\t},\n\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoViewToggleView = SystemTagsInfoViewToggleView\n\n})(OCA)\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./systemtagsfilelist.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4b13cbab\", content, true, {});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = module.exports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"#app-content-systemtagsfilter .select2-container{width:30%;margin-left:10px}#app-sidebar .mainFileInfoView .tag-label{cursor:pointer;padding:13px}#app-sidebar .mainFileInfoView .icon-tag{opacity:.5;vertical-align:middle}\\n\", \"\"]);\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n for (var i = 0; i < modules.length; i++) {\n var item = [].concat(modules[i]);\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./apps/systemtags/src/systemtags.js","webpack:///./apps/systemtags/src/app.js","webpack:///./apps/systemtags/src/systemtagsfilelist.js","webpack:///./apps/systemtags/src/filesplugin.js","webpack:///./apps/systemtags/src/systemtagsinfoview.js","webpack:///./apps/systemtags/src/systemtagsinfoviewtoggleview.js","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss?de55","webpack:///./apps/systemtags/src/css/systemtagsfilelist.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","OCA","SystemTags","App","initFileList","$el","this","_fileList","FileList","id","fileActions","_createFileActions","config","Files","getFilesConfig","shown","appName","removeFileList","$fileList","empty","FileActions","registerDefaultActions","merge","_globalActionsInitialized","_onActionsUpdated","_","on","register","OC","PERMISSION_READ","filename","context","setActiveView","silent","fileList","changeDirectory","joinPaths","$file","attr","setDefault","ev","action","registerAction","defaultAction","mime","destroy","off","$","document","ready","e","target","options","initialize","extend","_systemTagIds","_lastUsedTags","_clientSideSort","_allowSelection","_filterField","apply","arguments","initialized","systemTagIds","Plugins","attach","$controls","find","defer","_getLastUsedTags","_initFilterField","$filterField","remove","self","ajax","type","url","generateUrl","success","response","$container","append","select2","placeholder","allowClear","multiple","toggleSelect","separator","query","_queryTagsAutocomplete","tag","initSelection","element","callback","val","trim","tagIds","split","tags","collection","fetch","each","tagId","isUndefined","push","toJSON","formatResult","getDescriptiveTag","formatSelection","outerHTML","sortResults","results","sort","a","b","aLastUsed","indexOf","bLastUsed","Util","naturalSortCompare","escapeMarkup","formatNoMatches","_onTagsChanged","filterByName","term","invoke","_onUrlChanged","dir","filter","reload","trigger","Event","join","updateEmptyContent","getCurrentDirectory","length","html","toggleClass","isEmpty","getDirectoryPermissions","PERMISSION_DELETE","updateStorageStatistics","_setCurrentDir","setFiles","Deferred","resolve","_selectedFiles","_selectionSummary","clear","_currentFileModel","prop","showMask","_reloadCall","filesClient","getFilteredFiles","properties","_getWebdavProperties","_detailsView","_updateDetailsView","callBack","reloadCallback","then","status","result","unshift","FilesPlugin","ignoreLists","systemTagsInfoView","SystemTagsInfoView","registerDetailView","getRegisteredDetailViews","detailView","MainFileInfoDetailView","systemTagsInfoViewToggleView","SystemTagsInfoViewToggleView","render","listenTo","detach","modelToSelection","model","data","isUserAdmin","canAssign","locked","DetailFileInfoView","_rendered","className","_inputView","SystemTagsInputField","allowActions","allowCreate","isAdmin","selectedTagsCollection","map","SystemTagsMappingCollection","objectType","_onTagRenamedGlobally","_onTagDeletedGlobally","_onSelectTag","_onDeselectTag","changedTag","selectedTagMapping","set","setFileInfo","fileInfo","setObjectId","fetched","appliedTags","setData","show","hide","isVisible","hasClass","removeClass","addClass","openDropdown","Backbone","View","tagName","events","_systemTagsInfoView","template","Error","click","content","locals","add","default","___CSS_LOADER_API_IMPORT___","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","concat","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","DEBUG","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","appendChild","obj","update","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","index","replacement","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild"],"mappings":"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","file":"systemtags.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import './app'\nimport './systemtagsfilelist'\nimport './filesplugin'\nimport './systemtagsinfoview'\nimport './systemtagsinfoviewtoggleview'\nimport './css/systemtagsfilelist.scss'\n\nwindow.OCA.SystemTags = OCA.SystemTags\n","/*\n * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\tOCA.SystemTags.App = {\n\n\t\tinitFileList: function($el) {\n\t\t\tif (this._fileList) {\n\t\t\t\treturn this._fileList\n\t\t\t}\n\n\t\t\tthis._fileList = new OCA.SystemTags.FileList(\n\t\t\t\t$el,\n\t\t\t\t{\n\t\t\t\t\tid: 'systemtags',\n\t\t\t\t\tfileActions: this._createFileActions(),\n\t\t\t\t\tconfig: OCA.Files.App.getFilesConfig(),\n\t\t\t\t\t// The file list is created when a \"show\" event is handled,\n\t\t\t\t\t// so it should be marked as \"shown\" like it would have been\n\t\t\t\t\t// done if handling the event with the file list already\n\t\t\t\t\t// created.\n\t\t\t\t\tshown: true,\n\t\t\t\t}\n\t\t\t)\n\n\t\t\tthis._fileList.appName = t('systemtags', 'Tags')\n\t\t\treturn this._fileList\n\t\t},\n\n\t\tremoveFileList: function() {\n\t\t\tif (this._fileList) {\n\t\t\t\tthis._fileList.$fileList.empty()\n\t\t\t}\n\t\t},\n\n\t\t_createFileActions: function() {\n\t\t\t// inherit file actions from the files app\n\t\t\tconst fileActions = new OCA.Files.FileActions()\n\t\t\t// note: not merging the legacy actions because legacy apps are not\n\t\t\t// compatible with the sharing overview and need to be adapted first\n\t\t\tfileActions.registerDefaultActions()\n\t\t\tfileActions.merge(OCA.Files.fileActions)\n\n\t\t\tif (!this._globalActionsInitialized) {\n\t\t\t\t// in case actions are registered later\n\t\t\t\tthis._onActionsUpdated = _.bind(this._onActionsUpdated, this)\n\t\t\t\tOCA.Files.fileActions.on('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\t\tOCA.Files.fileActions.on('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\t\tthis._globalActionsInitialized = true\n\t\t\t}\n\n\t\t\t// when the user clicks on a folder, redirect to the corresponding\n\t\t\t// folder in the files app instead of opening it directly\n\t\t\tfileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function(filename, context) {\n\t\t\t\tOCA.Files.App.setActiveView('files', { silent: true })\n\t\t\t\tOCA.Files.App.fileList.changeDirectory(OC.joinPaths(context.$file.attr('data-path'), filename), true, true)\n\t\t\t})\n\t\t\tfileActions.setDefault('dir', 'Open')\n\t\t\treturn fileActions\n\t\t},\n\n\t\t_onActionsUpdated: function(ev) {\n\t\t\tif (!this._fileList) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (ev.action) {\n\t\t\t\tthis._fileList.fileActions.registerAction(ev.action)\n\t\t\t} else if (ev.defaultAction) {\n\t\t\t\tthis._fileList.fileActions.setDefault(\n\t\t\t\t\tev.defaultAction.mime,\n\t\t\t\t\tev.defaultAction.name\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Destroy the app\n\t\t */\n\t\tdestroy: function() {\n\t\t\tOCA.Files.fileActions.off('setDefault.app-systemtags', this._onActionsUpdated)\n\t\t\tOCA.Files.fileActions.off('registerAction.app-systemtags', this._onActionsUpdated)\n\t\t\tthis.removeFileList()\n\t\t\tthis._fileList = null\n\t\t\tdelete this._globalActionsInitialized\n\t\t},\n\t}\n\n})()\n\n$(document).ready(function() {\n\t$('#app-content-systemtagsfilter').on('show', function(e) {\n\t\tOCA.SystemTags.App.initFileList($(e.target))\n\t})\n\t$('#app-content-systemtagsfilter').on('hide', function() {\n\t\tOCA.SystemTags.App.removeFileList()\n\t})\n})\n","/*\n * Copyright (c) 2016 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n(function() {\n\t/**\n\t * @class OCA.SystemTags.FileList\n\t * @augments OCA.Files.FileList\n\t *\n\t * @classdesc SystemTags file list.\n\t * Contains a list of files filtered by system tags.\n\t *\n\t * @param {Object} $el container element with existing markup for the #controls and a table\n\t * @param {Array} [options] map of options, see other parameters\n\t * @param {Array.<string>} [options.systemTagIds] array of system tag ids to\n\t * filter by\n\t */\n\tconst FileList = function($el, options) {\n\t\tthis.initialize($el, options)\n\t}\n\tFileList.prototype = _.extend(\n\t\t{},\n\t\tOCA.Files.FileList.prototype,\n\t\t/** @lends OCA.SystemTags.FileList.prototype */ {\n\t\t\tid: 'systemtagsfilter',\n\t\t\tappName: t('systemtags', 'Tagged files'),\n\n\t\t\t/**\n\t\t\t * Array of system tag ids to filter by\n\t\t\t *\n\t\t\t * @type Array.<string>\n\t\t\t */\n\t\t\t_systemTagIds: [],\n\t\t\t_lastUsedTags: [],\n\n\t\t\t_clientSideSort: true,\n\t\t\t_allowSelection: false,\n\n\t\t\t_filterField: null,\n\n\t\t\t/**\n\t\t\t * @private\n\t\t\t * @param {Object} $el container element\n\t\t\t * @param {Object} [options] map of options, see other parameters\n\t\t\t */\n\t\t\tinitialize: function($el, options) {\n\t\t\t\tOCA.Files.FileList.prototype.initialize.apply(this, arguments)\n\t\t\t\tif (this.initialized) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tif (options && options.systemTagIds) {\n\t\t\t\t\tthis._systemTagIds = options.systemTagIds\n\t\t\t\t}\n\n\t\t\t\tOC.Plugins.attach('OCA.SystemTags.FileList', this)\n\n\t\t\t\tconst $controls = this.$el.find('#controls').empty()\n\n\t\t\t\t_.defer(_.bind(this._getLastUsedTags, this))\n\t\t\t\tthis._initFilterField($controls)\n\t\t\t},\n\n\t\t\tdestroy: function() {\n\t\t\t\tthis.$filterField.remove()\n\n\t\t\t\tOCA.Files.FileList.prototype.destroy.apply(this, arguments)\n\t\t\t},\n\n\t\t\t_getLastUsedTags: function() {\n\t\t\t\tconst self = this\n\t\t\t\t$.ajax({\n\t\t\t\t\ttype: 'GET',\n\t\t\t\t\turl: OC.generateUrl('/apps/systemtags/lastused'),\n\t\t\t\t\tsuccess: function(response) {\n\t\t\t\t\t\tself._lastUsedTags = response\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t_initFilterField: function($container) {\n\t\t\t\tconst self = this\n\t\t\t\tthis.$filterField = $('<input type=\"hidden\" name=\"tags\"/>')\n\t\t\t\t$container.append(this.$filterField)\n\t\t\t\tthis.$filterField.select2({\n\t\t\t\t\tplaceholder: t('systemtags', 'Select tags to filter by'),\n\t\t\t\t\tallowClear: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\ttoggleSelect: true,\n\t\t\t\t\tseparator: ',',\n\t\t\t\t\tquery: _.bind(this._queryTagsAutocomplete, this),\n\n\t\t\t\t\tid: function(tag) {\n\t\t\t\t\t\treturn tag.id\n\t\t\t\t\t},\n\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tconst val = $(element)\n\t\t\t\t\t\t\t.val()\n\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\tif (val) {\n\t\t\t\t\t\t\tconst tagIds = val.split(',')\n\t\t\t\t\t\t\tconst tags = []\n\n\t\t\t\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\t\t\t\t_.each(tagIds, function(tagId) {\n\t\t\t\t\t\t\t\t\t\tconst tag = OC.SystemTags.collection.get(\n\t\t\t\t\t\t\t\t\t\t\ttagId\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\tif (!_.isUndefined(tag)) {\n\t\t\t\t\t\t\t\t\t\t\ttags.push(tag.toJSON())\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t\t\tcallback(tags)\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// eslint-disable-next-line standard/no-callback-literal\n\t\t\t\t\t\t\tcallback([])\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\tformatResult: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)\n\t\t\t\t\t},\n\n\t\t\t\t\tformatSelection: function(tag) {\n\t\t\t\t\t\treturn OC.SystemTags.getDescriptiveTag(tag)[0]\n\t\t\t\t\t\t\t.outerHTML\n\t\t\t\t\t},\n\n\t\t\t\t\tsortResults: function(results) {\n\t\t\t\t\t\tresults.sort(function(a, b) {\n\t\t\t\t\t\t\tconst aLastUsed = self._lastUsedTags.indexOf(a.id)\n\t\t\t\t\t\t\tconst bLastUsed = self._lastUsedTags.indexOf(b.id)\n\n\t\t\t\t\t\t\tif (aLastUsed !== bLastUsed) {\n\t\t\t\t\t\t\t\tif (bLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn -1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (aLastUsed === -1) {\n\t\t\t\t\t\t\t\t\treturn 1\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn aLastUsed < bLastUsed ? -1 : 1\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Both not found\n\t\t\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name)\n\t\t\t\t\t\t})\n\t\t\t\t\t\treturn results\n\t\t\t\t\t},\n\n\t\t\t\t\tescapeMarkup: function(m) {\n\t\t\t\t\t\t// prevent double markup escape\n\t\t\t\t\t\treturn m\n\t\t\t\t\t},\n\t\t\t\t\tformatNoMatches: function() {\n\t\t\t\t\t\treturn t('systemtags', 'No tags found')\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tthis.$filterField.on(\n\t\t\t\t\t'change',\n\t\t\t\t\t_.bind(this._onTagsChanged, this)\n\t\t\t\t)\n\t\t\t\treturn this.$filterField\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Autocomplete function for dropdown results\n\t\t\t *\n\t\t\t * @param {Object} query select2 query object\n\t\t\t */\n\t\t\t_queryTagsAutocomplete: function(query) {\n\t\t\t\tOC.SystemTags.collection.fetch({\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\tconst results = OC.SystemTags.collection.filterByName(\n\t\t\t\t\t\t\tquery.term\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\tquery.callback({\n\t\t\t\t\t\t\tresults: _.invoke(results, 'toJSON'),\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler for when the URL changed\n\t\t\t *\n\t\t\t * @param {Event} e the urlchanged event\n\t\t\t */\n\t\t\t_onUrlChanged: function(e) {\n\t\t\t\tif (e.dir) {\n\t\t\t\t\tconst tags = _.filter(e.dir.split('/'), function(val) {\n\t\t\t\t\t\treturn val.trim() !== ''\n\t\t\t\t\t})\n\t\t\t\t\tthis.$filterField.select2('val', tags || [])\n\t\t\t\t\tthis._systemTagIds = tags\n\t\t\t\t\tthis.reload()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onTagsChanged: function(ev) {\n\t\t\t\tconst val = $(ev.target)\n\t\t\t\t\t.val()\n\t\t\t\t\t.trim()\n\t\t\t\tif (val !== '') {\n\t\t\t\t\tthis._systemTagIds = val.split(',')\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagIds = []\n\t\t\t\t}\n\n\t\t\t\tthis.$el.trigger(\n\t\t\t\t\t$.Event('changeDirectory', {\n\t\t\t\t\t\tdir: this._systemTagIds.join('/'),\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t\tthis.reload()\n\t\t\t},\n\n\t\t\tupdateEmptyContent: function() {\n\t\t\t\tconst dir = this.getCurrentDirectory()\n\t\t\t\tif (dir === '/') {\n\t\t\t\t\t// root has special permissions\n\t\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t\t// no tags selected\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'<div class=\"icon-systemtags\"></div>'\n\t\t\t\t\t\t\t\t\t+ '<h2>'\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'Please select tags to filter by'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '</h2>'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// tags selected but no results\n\t\t\t\t\t\tthis.$el\n\t\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t\t.html(\n\t\t\t\t\t\t\t\t'<div class=\"icon-systemtags\"></div>'\n\t\t\t\t\t\t\t\t\t+ '<h2>'\n\t\t\t\t\t\t\t\t\t+ t(\n\t\t\t\t\t\t\t\t\t\t'systemtags',\n\t\t\t\t\t\t\t\t\t\t'No files found for the selected tags'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t+ '</h2>'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#emptycontent')\n\t\t\t\t\t\t.toggleClass('hidden', !this.isEmpty)\n\t\t\t\t\tthis.$el\n\t\t\t\t\t\t.find('#filestable thead th')\n\t\t\t\t\t\t.toggleClass('hidden', this.isEmpty)\n\t\t\t\t} else {\n\t\t\t\t\tOCA.Files.FileList.prototype.updateEmptyContent.apply(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\targuments\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetDirectoryPermissions: function() {\n\t\t\t\treturn OC.PERMISSION_READ | OC.PERMISSION_DELETE\n\t\t\t},\n\n\t\t\tupdateStorageStatistics: function() {\n\t\t\t\t// no op because it doesn't have\n\t\t\t\t// storage info like free space / used space\n\t\t\t},\n\n\t\t\treload: function() {\n\t\t\t\t// there is only root\n\t\t\t\tthis._setCurrentDir('/', false)\n\n\t\t\t\tif (!this._systemTagIds.length) {\n\t\t\t\t\t// don't reload\n\t\t\t\t\tthis.updateEmptyContent()\n\t\t\t\t\tthis.setFiles([])\n\t\t\t\t\treturn $.Deferred().resolve()\n\t\t\t\t}\n\n\t\t\t\tthis._selectedFiles = {}\n\t\t\t\tthis._selectionSummary.clear()\n\t\t\t\tif (this._currentFileModel) {\n\t\t\t\t\tthis._currentFileModel.off()\n\t\t\t\t}\n\t\t\t\tthis._currentFileModel = null\n\t\t\t\tthis.$el.find('.select-all').prop('checked', false)\n\t\t\t\tthis.showMask()\n\t\t\t\tthis._reloadCall = this.filesClient.getFilteredFiles(\n\t\t\t\t\t{\n\t\t\t\t\t\tsystemTagIds: this._systemTagIds,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tproperties: this._getWebdavProperties(),\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t\tif (this._detailsView) {\n\t\t\t\t\t// close sidebar\n\t\t\t\t\tthis._updateDetailsView(null)\n\t\t\t\t}\n\t\t\t\tconst callBack = this.reloadCallback.bind(this)\n\t\t\t\treturn this._reloadCall.then(callBack, callBack)\n\t\t\t},\n\n\t\t\treloadCallback: function(status, result) {\n\t\t\t\tif (result) {\n\t\t\t\t\t// prepend empty dir info because original handler\n\t\t\t\t\tresult.unshift({})\n\t\t\t\t}\n\n\t\t\t\treturn OCA.Files.FileList.prototype.reloadCallback.call(\n\t\t\t\t\tthis,\n\t\t\t\t\tstatus,\n\t\t\t\t\tresult\n\t\t\t\t)\n\t\t\t},\n\t\t}\n\t)\n\n\tOCA.SystemTags.FileList = FileList\n})()\n","/*\n * Copyright (c) 2015 Vincent Petry <pvince81@owncloud.com>\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function() {\n\tOCA.SystemTags = _.extend({}, OCA.SystemTags)\n\tif (!OCA.SystemTags) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.SystemTags = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.SystemTags.FilesPlugin = {\n\t\tignoreLists: [\n\t\t\t'trashbin',\n\t\t\t'files.public',\n\t\t],\n\n\t\tattach: function(fileList) {\n\t\t\tif (this.ignoreLists.indexOf(fileList.id) >= 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst systemTagsInfoView = new OCA.SystemTags.SystemTagsInfoView()\n\t\t\tfileList.registerDetailView(systemTagsInfoView)\n\n\t\t\t_.each(fileList.getRegisteredDetailViews(), function(detailView) {\n\t\t\t\tif (detailView instanceof OCA.Files.MainFileInfoDetailView) {\n\t\t\t\t\tconst systemTagsInfoViewToggleView\n\t\t\t\t\t\t= new OCA.SystemTags.SystemTagsInfoViewToggleView({\n\t\t\t\t\t\t\tsystemTagsInfoView: systemTagsInfoView,\n\t\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.render()\n\n\t\t\t\t\t// The toggle view element is detached before the\n\t\t\t\t\t// MainFileInfoDetailView is rendered to prevent its event\n\t\t\t\t\t// handlers from being removed.\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'pre-render', function() {\n\t\t\t\t\t\tsystemTagsInfoViewToggleView.$el.detach()\n\t\t\t\t\t})\n\t\t\t\t\tsystemTagsInfoViewToggleView.listenTo(detailView, 'post-render', function() {\n\t\t\t\t\t\tdetailView.$el.find('.file-details').append(systemTagsInfoViewToggleView.$el)\n\t\t\t\t\t})\n\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t}\n\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.SystemTags.FilesPlugin)\n","/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n(function(OCA) {\n\n\tfunction modelToSelection(model) {\n\t\tconst data = model.toJSON()\n\t\tif (!OC.isUserAdmin() && !data.canAssign) {\n\t\t\tdata.locked = true\n\t\t}\n\t\treturn data\n\t}\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoView\n\t * @classdesc\n\t *\n\t * Displays a file's system tags\n\t *\n\t */\n\tconst SystemTagsInfoView = OCA.Files.DetailFileInfoView.extend(\n\t\t/** @lends OCA.SystemTags.SystemTagsInfoView.prototype */ {\n\n\t\t\t_rendered: false,\n\n\t\t\tclassName: 'systemTagsInfoView',\n\t\t\tname: 'systemTags',\n\n\t\t\t/**\n\t\t\t * @type OC.SystemTags.SystemTagsInputField\n\t\t\t */\n\t\t\t_inputView: null,\n\n\t\t\tinitialize: function(options) {\n\t\t\t\tconst self = this\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._inputView = new OC.SystemTags.SystemTagsInputField({\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\tallowActions: true,\n\t\t\t\t\tallowCreate: true,\n\t\t\t\t\tisAdmin: OC.isUserAdmin(),\n\t\t\t\t\tinitSelection: function(element, callback) {\n\t\t\t\t\t\tcallback(self.selectedTagsCollection.map(modelToSelection))\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\tthis.selectedTagsCollection = new OC.SystemTags.SystemTagsMappingCollection([], { objectType: 'files' })\n\n\t\t\t\tthis._inputView.collection.on('change:name', this._onTagRenamedGlobally, this)\n\t\t\t\tthis._inputView.collection.on('remove', this._onTagDeletedGlobally, this)\n\n\t\t\t\tthis._inputView.on('select', this._onSelectTag, this)\n\t\t\t\tthis._inputView.on('deselect', this._onDeselectTag, this)\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was selected\n\t\t\t * @param {Object} tag the tag to create\n\t\t\t */\n\t\t\t_onSelectTag: function(tag) {\n\t\t\t// create a mapping entry for this tag\n\t\t\t\tthis.selectedTagsCollection.create(tag.toJSON())\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag gets deselected.\n\t\t\t * Removes the selected tag from the mapping collection.\n\t\t\t *\n\t\t\t * @param {string} tagId tag id\n\t\t\t */\n\t\t\t_onDeselectTag: function(tagId) {\n\t\t\t\tthis.selectedTagsCollection.get(tagId).destroy()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was renamed globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} changedTag tag model that has changed\n\t\t\t */\n\t\t\t_onTagRenamedGlobally: function(changedTag) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tconst selectedTagMapping = this.selectedTagsCollection.get(changedTag.id)\n\t\t\t\tif (selectedTagMapping) {\n\t\t\t\t\tselectedTagMapping.set(changedTag.toJSON())\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Event handler whenever a tag was deleted globally.\n\t\t\t *\n\t\t\t * This will automatically adjust the tag mapping collection to\n\t\t\t * container the new name.\n\t\t\t *\n\t\t\t * @param {OC.Backbone.Model} tagId tag model that has changed\n\t\t\t */\n\t\t\t_onTagDeletedGlobally: function(tagId) {\n\t\t\t// also rename it in the selection, if applicable\n\t\t\t\tthis.selectedTagsCollection.remove(tagId)\n\t\t\t},\n\n\t\t\tsetFileInfo: function(fileInfo) {\n\t\t\t\tconst self = this\n\t\t\t\tif (!this._rendered) {\n\t\t\t\t\tthis.render()\n\t\t\t\t}\n\n\t\t\t\tif (fileInfo) {\n\t\t\t\t\tthis.selectedTagsCollection.setObjectId(fileInfo.id)\n\t\t\t\t\tthis.selectedTagsCollection.fetch({\n\t\t\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\t\t\tcollection.fetched = true\n\n\t\t\t\t\t\t\tconst appliedTags = collection.map(modelToSelection)\n\t\t\t\t\t\t\tself._inputView.setData(appliedTags)\n\n\t\t\t\t\t\t\tself.show()\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis.hide()\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this details view\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.append(this._inputView.$el)\n\t\t\t\tthis._inputView.render()\n\t\t\t},\n\n\t\t\tisVisible: function() {\n\t\t\t\treturn !this.$el.hasClass('hidden')\n\t\t\t},\n\n\t\t\tshow: function() {\n\t\t\t\tthis.$el.removeClass('hidden')\n\t\t\t},\n\n\t\t\thide: function() {\n\t\t\t\tthis.$el.addClass('hidden')\n\t\t\t},\n\n\t\t\topenDropdown: function() {\n\t\t\t\tthis.$el.find('.systemTagsInputField').select2('open')\n\t\t\t},\n\n\t\t\tremove: function() {\n\t\t\t\tthis._inputView.remove()\n\t\t\t},\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoView = SystemTagsInfoView\n\n})(OCA)\n","/**\n *\n * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.com)\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(function(OCA) {\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsInfoViewToggleView\n\t * @classdesc\n\t *\n\t * View to toggle the visibility of a SystemTagsInfoView.\n\t *\n\t * This toggle view must be explicitly rendered before it is used.\n\t */\n\tconst SystemTagsInfoViewToggleView = OC.Backbone.View.extend(\n\t\t/** @lends OC.Backbone.View.prototype */ {\n\n\t\t\ttagName: 'span',\n\n\t\t\tclassName: 'tag-label',\n\n\t\t\tevents: {\n\t\t\t\t'click': 'click',\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * @type OCA.SystemTags.SystemTagsInfoView\n\t\t\t */\n\t\t\t_systemTagsInfoView: null,\n\n\t\t\ttemplate: function(data) {\n\t\t\t\treturn '<span class=\"icon icon-tag\"/>' + t('systemtags', 'Tags')\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initialize this toggle view.\n\t\t\t *\n\t\t\t * The options must provide a systemTagsInfoView parameter that\n\t\t\t * references the SystemTagsInfoView to associate to this toggle view.\n\t\t\t * @param {Object} options options\n\t\t\t */\n\t\t\tinitialize: function(options) {\n\t\t\t\toptions = options || {}\n\n\t\t\t\tthis._systemTagsInfoView = options.systemTagsInfoView\n\t\t\t\tif (!this._systemTagsInfoView) {\n\t\t\t\t\tthrow new Error('Missing required parameter \"systemTagsInfoView\"')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t * Toggles the visibility of the associated SystemTagsInfoView.\n\t\t *\n\t\t * When the systemTagsInfoView is shown its dropdown is also opened.\n\t\t */\n\t\t\tclick: function() {\n\t\t\t\tif (this._systemTagsInfoView.isVisible()) {\n\t\t\t\t\tthis._systemTagsInfoView.hide()\n\t\t\t\t} else {\n\t\t\t\t\tthis._systemTagsInfoView.show()\n\t\t\t\t\tthis._systemTagsInfoView.openDropdown()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Renders this toggle view.\n\t\t\t *\n\t\t\t * @returns {OCA.SystemTags.SystemTagsInfoViewToggleView} this object.\n\t\t\t */\n\t\t\trender: function() {\n\t\t\t\tthis.$el.html(this.template())\n\n\t\t\t\treturn this\n\t\t\t},\n\n\t\t})\n\n\tOCA.SystemTags.SystemTagsInfoViewToggleView = SystemTagsInfoViewToggleView\n\n})(OCA)\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./systemtagsfilelist.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4b13cbab\", content, true, {});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"#app-content-systemtagsfilter .select2-container{width:30%;margin-left:10px}#app-sidebar .mainFileInfoView .tag-label{cursor:pointer;padding:13px}#app-sidebar .mainFileInfoView .icon-tag{opacity:.5;vertical-align:middle}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n for (var i = 0; i < modules.length; i++) {\n var item = [].concat(modules[i]);\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n"],"sourceRoot":""}
\ No newline at end of file |