nextcloud/core/js/dist/systemtags.js.map

1 line
77 KiB
Plaintext

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./core/js/systemtags/merged-systemtags.js","webpack:///./core/js/systemtags/systemtags.js","webpack:///./core/js/systemtags/templates.js","webpack:///./core/js/systemtags/systemtagmodel.js","webpack:///./core/js/systemtags/systemtagsmappingcollection.js","webpack:///./core/js/systemtags/systemtagscollection.js","webpack:///./core/js/systemtags/systemtagsinputfield.js","webpack:///./core/css/systemtags.scss?50be","webpack:///./core/css/systemtags.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.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","__webpack_exports__","OC","SystemTags","getDescriptiveTag","tag","_","isUndefined","toJSON","$","addClass","text","scope","$span","append","escapeHTML","userAssignable","userVisible","$tag","template","templates","Handlebars","Templates","1","container","depth0","helpers","partials","data","3","stack1","helper","tagMarkup","helperMissing","nullContext","hash","5","escapeExpression","7","renameTooltip","compiler","main","options","alias1","alias2","buffer","isNew","fn","program","inverse","noop","_typeof","id","isAdmin","allowActions","blockHelperMissing","useData","deleteTooltip","alias4","cid","renameLabel","extend","Files","Client","PROPERTY_FILEID","NS_OWNCLOUD","PROPERTY_CAN_ASSIGN","PROPERTY_DISPLAYNAME","PROPERTY_USERVISIBLE","PROPERTY_USERASSIGNABLE","SystemTagModel","Backbone","Model","sync","davSync","defaults","canAssign","davProperties","parse","SystemTagsMappingCollection","Collection","usePUT","_objectId","_objectType","model","url","linkToRemote","this","setObjectId","objectId","setObjectType","objectType","initialize","models","getTagIds","map","SystemTagsCollection","filterByName","filter","term","substr","length","toLowerCase","filterFunction","reset","fetched","apply","arguments","fetch","self","force","success","trigger","Promise","resolve","collection","SystemTagsInputField","View","_rendered","_newTag","_lastUsedTags","className","_multiple","multiple","_allowActions","_allowCreate","allowCreate","_isAdmin","isFunction","initSelection","_initSelection","on","defer","_refreshSelection","_getLastUsedTags","bindAll","ajax","type","generateUrl","response","$tagsField","select2","val","_onClickRenameTag","ev","$item","target","closest","tagId","attr","oldName","$renameForm","find","after","tooltip","placement","focus","selectRange","_onSubmitRenameTag","preventDefault","$form","tagModel","newName","trim","save","removeClass","remove","_onClickDeleteTag","destroy","_addToSelect2Selection","selection","push","_onSelectTag","e","unshift","error","xhr","status","where","_onDeselectTag","choice","_queryTagsAutocomplete","query","tagModels","callback","results","invoke","_preventDefault","stopPropagation","_formatDropDownResult","innerHTML","_formatSelection","_createSearchChoice","entry","element","ids","split","modelToSelection","locked","selectedModels","indexOf","findSelectedObjects","render","$el","html","placeholder","containerCssClass","dropdownCssClass","closeOnSelect","allowClear","toggleSelect","formatResult","formatSelection","createSearchChoice","undefined","sortResults","selectedItems","pluck","sort","a","b","aSelected","bSelected","aLastUsed","bLastUsed","Util","naturalSortCompare","formatNoMatches","$dropDown","delegateEvents","getValues","setValues","values","setData","content","hmr","transform","insertInto","locals","useSourceMap","list","toString","item","cssMapping","btoa","sourceMapping","sourceMap","unescape","encodeURIComponent","JSON","stringify","sourceURLs","sources","source","sourceRoot","concat","join","cssWithMappingToString","mediaQuery","alreadyImportedModules","memo","stylesInDom","isOldIE","window","document","all","atob","getElement","parent","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","singleton","singletonCounter","stylesInsertedAtTop","fixUrls","addStylesToDom","styles","domStyle","refs","j","parts","addStyle","listToStyles","newStyles","base","part","css","media","insertStyleElement","style","Error","lastStyleElementInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","splice","createStyleElement","createElement","attrs","nonce","nc","getNonce","addAttrs","el","keys","forEach","setAttribute","obj","update","result","default","styleIndex","applyToSingletonTag","URL","createObjectURL","revokeObjectURL","Blob","link","rel","createLinkElement","autoFixUrls","convertToAbsoluteUrls","blob","oldSrc","href","styleSheet","cssText","createTextNode","newObj","DEBUG","newList","mayRemove","textStore","replaceText","index","replacement","Boolean","cssNode","childNodes","location","baseUrl","protocol","host","currentDir","pathname","replace","fullMatch","origUrl","newUrl","unquotedOrigUrl","$1","test"],"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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n","import './systemtags.js'\nimport './templates.js'\nimport './systemtagmodel.js'\nimport './systemtagsmappingcollection.js'\nimport './systemtagscollection.js'\nimport './systemtagsinputfield.js'\n\nimport '../../css/systemtags.scss'\n","/*\n * Copyright (c) 2016\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(OC) {\n\t/**\n\t * @namespace\n\t */\n\tOC.SystemTags = {\n\t\t/**\n\t\t *\n\t\t * @param {OC.SystemTags.SystemTagModel|Object|String} tag\n\t\t * @return {jQuery}\n\t\t */\n\t\tgetDescriptiveTag: function(tag) {\n\t\t\tif (_.isUndefined(tag.name) && !_.isUndefined(tag.toJSON)) {\n\t\t\t\ttag = tag.toJSON();\n\t\t\t}\n\n\t\t\tif (_.isUndefined(tag.name)) {\n\t\t\t\treturn $('<span>').addClass('non-existing-tag').text(\n\t\t\t\t\tt('core', 'Non-existing tag #{tag}', {\n\t\t\t\t\t\ttag: tag\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tvar $span = $('<span>');\n\t\t\t$span.append(escapeHTML(tag.name));\n\n\t\t\tvar scope;\n\t\t\tif (!tag.userAssignable) {\n\t\t\t\tscope = t('core', 'restricted');\n\t\t\t}\n\t\t\tif (!tag.userVisible) {\n\t\t\t\t// invisible also implicitly means not assignable\n\t\t\t\tscope = t('core', 'invisible');\n\t\t\t}\n\t\t\tif (scope) {\n\t\t\t\tvar $tag = $('<em>').text(' ' +\n\t\t\t\t\tt('core', '({scope})', {\n\t\t\t\t\t\tscope: scope\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t\t$span.append($tag);\n\t\t\t}\n\t\t\treturn $span;\n\t\t}\n\t};\n})(OC);\n\n","(function() {\n var template = Handlebars.template, templates = OC.SystemTags.Templates = OC.SystemTags.Templates || {};\ntemplates['result'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" new-item\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t\t<span class=\\\"label\\\">\"\n + ((stack1 = ((helper = (helper = helpers.tagMarkup || (depth0 != null ? depth0.tagMarkup : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"tagMarkup\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"</span>\\n\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<span class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</span>\\n\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<span class=\\\"systemtags-actions\\\">\\n\t\t\t<a href=\\\"#\\\" class=\\\"rename icon icon-rename\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.renameTooltip || (depth0 != null ? depth0.renameTooltip : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"renameTooltip\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></a>\\n\t\t</span>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, options, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", buffer = \n \"<span class=\\\"systemtags-item\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isNew : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-id=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"id\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n<span class=\\\"checkmark icon icon-checkmark\\\"></span>\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.program(5, data, 0),\"data\":data})) != null ? stack1 : \"\");\n stack1 = ((helper = (helper = helpers.allowActions || (depth0 != null ? depth0.allowActions : depth0)) != null ? helper : alias2),(options={\"name\":\"allowActions\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data}),(typeof helper === alias3 ? helper.call(alias1,options) : helper));\n if (!helpers.allowActions) { stack1 = helpers.blockHelperMissing.call(depth0,stack1,options)}\n if (stack1 != null) { buffer += stack1; }\n return buffer + \"</span>\\n\";\n},\"useData\":true});\ntemplates['result_form'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t<a href=\\\"#\\\" class=\\\"delete icon icon-delete\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.deleteTooltip || (depth0 != null ? depth0.deleteTooltip : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"deleteTooltip\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></a>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", alias4=container.escapeExpression;\n\n return \"<form class=\\\"systemtags-rename-form\\\">\\n\t <label class=\\\"hidden-visually\\\" for=\\\"\"\n + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"cid\",\"hash\":{},\"data\":data}) : helper)))\n + \"-rename-input\\\">\"\n + alias4(((helper = (helper = helpers.renameLabel || (depth0 != null ? depth0.renameLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"renameLabel\",\"hash\":{},\"data\":data}) : helper)))\n + \"</label>\\n\t<input id=\\\"\"\n + alias4(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"cid\",\"hash\":{},\"data\":data}) : helper)))\n + \"-rename-input\\\" type=\\\"text\\\" value=\\\"\"\n + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</form>\\n\";\n},\"useData\":true});\ntemplates['selection'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n var stack1, helper;\n\n return \"\t<span class=\\\"label\\\">\"\n + ((stack1 = ((helper = (helper = helpers.tagMarkup || (depth0 != null ? depth0.tagMarkup : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"tagMarkup\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"</span>\\n\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t<span class=\\\"label\\\">\"\n + container.escapeExpression(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"name\",\"hash\":{},\"data\":data}) : helper)))\n + \"</span>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return ((stack1 = helpers[\"if\"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.isAdmin : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.program(3, data, 0),\"data\":data})) != null ? stack1 : \"\");\n},\"useData\":true});\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(OC) {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_FILEID:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}id',\n\t\tPROPERTY_CAN_ASSIGN:'{' + OC.Files.Client.NS_OWNCLOUD + '}can-assign',\n\t\tPROPERTY_DISPLAYNAME:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}display-name',\n\t\tPROPERTY_USERVISIBLE:\t'{' + OC.Files.Client.NS_OWNCLOUD + '}user-visible',\n\t\tPROPERTY_USERASSIGNABLE:'{' + OC.Files.Client.NS_OWNCLOUD + '}user-assignable',\n\t});\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsCollection\n\t * @classdesc\n\t *\n\t * System tag\n\t *\n\t */\n\tvar SystemTagModel = OC.Backbone.Model.extend(\n\t\t/** @lends OCA.SystemTags.SystemTagModel.prototype */ {\n\t\tsync: OC.Backbone.davSync,\n\n\t\tdefaults: {\n\t\t\tuserVisible: true,\n\t\t\tuserAssignable: true,\n\t\t\tcanAssign: true\n\t\t},\n\n\t\tdavProperties: {\n\t\t\t'id':\tOC.Files.Client.PROPERTY_FILEID,\n\t\t\t'name': OC.Files.Client.PROPERTY_DISPLAYNAME,\n\t\t\t'userVisible': \tOC.Files.Client.PROPERTY_USERVISIBLE,\n\t\t\t'userAssignable': \tOC.Files.Client.PROPERTY_USERASSIGNABLE,\n\t\t\t// read-only, effective permissions computed by the server,\n\t\t\t'canAssign': OC.Files.Client.PROPERTY_CAN_ASSIGN\n\t\t},\n\n\t\tparse: function(data) {\n\t\t\treturn {\n\t\t\t\tid: data.id,\n\t\t\t\tname: data.name,\n\t\t\t\tuserVisible: data.userVisible === true || data.userVisible === 'true',\n\t\t\t\tuserAssignable: data.userAssignable === true || data.userAssignable === 'true',\n\t\t\t\tcanAssign: data.canAssign === true || data.canAssign === 'true'\n\t\t\t};\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagModel = SystemTagModel;\n})(OC);\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(OC) {\n\t/**\n\t * @class OC.SystemTags.SystemTagsMappingCollection\n\t * @classdesc\n\t *\n\t * Collection of tags assigned to a an object\n\t *\n\t */\n\tvar SystemTagsMappingCollection = OC.Backbone.Collection.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsMappingCollection.prototype */ {\n\n\t\tsync: OC.Backbone.davSync,\n\n\t\t/**\n\t\t * Use PUT instead of PROPPATCH\n\t\t */\n\t\tusePUT: true,\n\n\t\t/**\n\t\t * Id of the file for which to filter activities by\n\t\t *\n\t\t * @var int\n\t\t */\n\t\t_objectId: null,\n\n\t\t/**\n\t\t * Type of the object to filter by\n\t\t *\n\t\t * @var string\n\t\t */\n\t\t_objectType: 'files',\n\n\t\tmodel: OC.SystemTags.SystemTagModel,\n\n\t\turl: function() {\n\t\t\treturn OC.linkToRemote('dav') + '/systemtags-relations/' + this._objectType + '/' + this._objectId;\n\t\t},\n\n\t\t/**\n\t\t * Sets the object id to filter by or null for all.\n\t\t *\n\t\t * @param {int} objectId file id or null\n\t\t */\n\t\tsetObjectId: function(objectId) {\n\t\t\tthis._objectId = objectId;\n\t\t},\n\n\t\t/**\n\t\t * Sets the object type to filter by or null for all.\n\t\t *\n\t\t * @param {int} objectType file id or null\n\t\t */\n\t\tsetObjectType: function(objectType) {\n\t\t\tthis._objectType = objectType;\n\t\t},\n\n\t\tinitialize: function(models, options) {\n\t\t\toptions = options || {};\n\t\t\tif (!_.isUndefined(options.objectId)) {\n\t\t\t\tthis._objectId = options.objectId;\n\t\t\t}\n\t\t\tif (!_.isUndefined(options.objectType)) {\n\t\t\t\tthis._objectType = options.objectType;\n\t\t\t}\n\t\t},\n\n\t\tgetTagIds: function() {\n\t\t\treturn this.map(function(model) {\n\t\t\t\treturn model.id;\n\t\t\t});\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsMappingCollection = SystemTagsMappingCollection;\n})(OC);\n\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(OC) {\n\n\tfunction filterFunction(model, term) {\n\t\treturn model.get('name').substr(0, term.length).toLowerCase() === term.toLowerCase();\n\t}\n\n\t/**\n\t * @class OCA.SystemTags.SystemTagsCollection\n\t * @classdesc\n\t *\n\t * Collection of tags assigned to a file\n\t *\n\t */\n\tvar SystemTagsCollection = OC.Backbone.Collection.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsCollection.prototype */ {\n\n\t\tsync: OC.Backbone.davSync,\n\n\t\tmodel: OC.SystemTags.SystemTagModel,\n\n\t\turl: function() {\n\t\t\treturn OC.linkToRemote('dav') + '/systemtags/';\n\t\t},\n\n\t\tfilterByName: function(name) {\n\t\t\treturn this.filter(function(model) {\n\t\t\t\treturn filterFunction(model, name);\n\t\t\t});\n\t\t},\n\n\t\treset: function() {\n\t\t\tthis.fetched = false;\n\t\t\treturn OC.Backbone.Collection.prototype.reset.apply(this, arguments);\n\t\t},\n\n\t\t/**\n\t\t * Lazy fetch.\n\t\t * Only fetches once, subsequent calls will directly call the success handler.\n\t\t *\n\t\t * @param options\n\t\t * @param [options.force] true to force fetch even if cached entries exist\n\t\t *\n\t\t * @see Backbone.Collection#fetch\n\t\t */\n\t\tfetch: function(options) {\n\t\t\tvar self = this;\n\t\t\toptions = options || {};\n\t\t\tif (this.fetched || options.force) {\n\t\t\t\t// directly call handler\n\t\t\t\tif (options.success) {\n\t\t\t\t\toptions.success(this, null, options);\n\t\t\t\t}\n\t\t\t\t// trigger sync event\n\t\t\t\tthis.trigger('sync', this, null, options);\n\t\t\t\treturn Promise.resolve();\n\t\t\t}\n\n\t\t\tvar success = options.success;\n\t\t\toptions = _.extend({}, options);\n\t\t\toptions.success = function() {\n\t\t\t\tself.fetched = true;\n\t\t\t\tif (success) {\n\t\t\t\t\treturn success.apply(this, arguments);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn OC.Backbone.Collection.prototype.fetch.call(this, options);\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsCollection = SystemTagsCollection;\n\n\t/**\n\t * @type OC.SystemTags.SystemTagsCollection\n\t */\n\tOC.SystemTags.collection = new OC.SystemTags.SystemTagsCollection();\n})(OC);\n\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/* global Handlebars */\n\n(function(OC) {\n\n\t/**\n\t * @class OC.SystemTags.SystemTagsInputField\n\t * @classdesc\n\t *\n\t * Displays a file's system tags\n\t *\n\t */\n\tvar SystemTagsInputField = OC.Backbone.View.extend(\n\t\t/** @lends OC.SystemTags.SystemTagsInputField.prototype */ {\n\n\t\t_rendered: false,\n\n\t\t_newTag: null,\n\n\t\t_lastUsedTags: [],\n\n\t\tclassName: 'systemTagsInputFieldContainer',\n\n\t\ttemplate: function(data) {\n\t\t\treturn '<input class=\"systemTagsInputField\" type=\"hidden\" name=\"tags\" value=\"\"/>';\n\t\t},\n\n\t\t/**\n\t\t * Creates a new SystemTagsInputField\n\t\t *\n\t\t * @param {Object} [options]\n\t\t * @param {string} [options.objectType=files] object type for which tags are assigned to\n\t\t * @param {bool} [options.multiple=false] whether to allow selecting multiple tags\n\t\t * @param {bool} [options.allowActions=true] whether tags can be renamed/delete within the dropdown\n\t\t * @param {bool} [options.allowCreate=true] whether new tags can be created\n\t\t * @param {bool} [options.isAdmin=true] whether the user is an administrator\n\t\t * @param {Function} options.initSelection function to convert selection to data\n\t\t */\n\t\tinitialize: function(options) {\n\t\t\toptions = options || {};\n\n\t\t\tthis._multiple = !!options.multiple;\n\t\t\tthis._allowActions = _.isUndefined(options.allowActions) || !!options.allowActions;\n\t\t\tthis._allowCreate = _.isUndefined(options.allowCreate) || !!options.allowCreate;\n\t\t\tthis._isAdmin = !!options.isAdmin;\n\n\t\t\tif (_.isFunction(options.initSelection)) {\n\t\t\t\tthis._initSelection = options.initSelection;\n\t\t\t}\n\n\t\t\tthis.collection = options.collection || OC.SystemTags.collection;\n\n\t\t\tvar self = this;\n\t\t\tthis.collection.on('change:name remove', function() {\n\t\t\t\t// refresh selection\n\t\t\t\t_.defer(self._refreshSelection);\n\t\t\t});\n\n\t\t\t_.defer(_.bind(this._getLastUsedTags, this));\n\n\t\t\t_.bindAll(\n\t\t\t\tthis,\n\t\t\t\t'_refreshSelection',\n\t\t\t\t'_onClickRenameTag',\n\t\t\t\t'_onClickDeleteTag',\n\t\t\t\t'_onSelectTag',\n\t\t\t\t'_onDeselectTag',\n\t\t\t\t'_onSubmitRenameTag'\n\t\t\t);\n\t\t},\n\n\t\t_getLastUsedTags: function() {\n\t\t\tvar self = this;\n\t\t\t$.ajax({\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: OC.generateUrl('/apps/systemtags/lastused'),\n\t\t\t\tsuccess: function (response) {\n\t\t\t\t\tself._lastUsedTags = response;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Refreshes the selection, triggering a call to\n\t\t * select2's initSelection\n\t\t */\n\t\t_refreshSelection: function() {\n\t\t\tthis.$tagsField.select2('val', this.$tagsField.val());\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever the user clicked the \"rename\" action.\n\t\t * This will display the rename field.\n\t\t */\n\t\t_onClickRenameTag: function(ev) {\n\t\t\tvar $item = $(ev.target).closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tvar tagModel = this.collection.get(tagId);\n\n\t\t\tvar oldName = tagModel.get('name');\n\t\t\tvar $renameForm = $(OC.SystemTags.Templates['result_form']({\n\t\t\t\tcid: this.cid,\n\t\t\t\tname: oldName,\n\t\t\t\tdeleteTooltip: t('core', 'Delete'),\n\t\t\t\trenameLabel: t('core', 'Rename'),\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}));\n\t\t\t$item.find('.label').after($renameForm);\n\t\t\t$item.find('.label, .systemtags-actions').addClass('hidden');\n\t\t\t$item.closest('.select2-result').addClass('has-form');\n\n\t\t\t$renameForm.find('[title]').tooltip({\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tcontainer: 'body'\n\t\t\t});\n\t\t\t$renameForm.find('input').focus().selectRange(0, oldName.length);\n\t\t\treturn false;\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever the rename form has been submitted after\n\t\t * the user entered a new tag name.\n\t\t * This will submit the change to the server. \n\t\t *\n\t\t * @param {Object} ev event\n\t\t */\n\t\t_onSubmitRenameTag: function(ev) {\n\t\t\tev.preventDefault();\n\t\t\tvar $form = $(ev.target);\n\t\t\tvar $item = $form.closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tvar tagModel = this.collection.get(tagId);\n\t\t\tvar newName = $(ev.target).find('input').val().trim();\n\t\t\tif (newName && newName !== tagModel.get('name')) {\n\t\t\t\ttagModel.save({'name': newName});\n\t\t\t\t// TODO: spinner, and only change text after finished saving\n\t\t\t\t$item.find('.label').text(newName);\n\t\t\t}\n\t\t\t$item.find('.label, .systemtags-actions').removeClass('hidden');\n\t\t\t$form.remove();\n\t\t\t$item.closest('.select2-result').removeClass('has-form');\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag must be deleted\n\t\t *\n\t\t * @param {Object} ev event\n\t\t */\n\t\t_onClickDeleteTag: function(ev) {\n\t\t\tvar $item = $(ev.target).closest('.systemtags-item');\n\t\t\tvar tagId = $item.attr('data-id');\n\t\t\tthis.collection.get(tagId).destroy();\n\t\t\t$(ev.target).tooltip('hide');\n\t\t\t$item.closest('.select2-result').remove();\n\t\t\t// TODO: spinner\n\t\t\treturn false;\n\t\t},\n\n\t\t_addToSelect2Selection: function(selection) {\n\t\t\tvar data = this.$tagsField.select2('data');\n\t\t\tdata.push(selection);\n\t\t\tthis.$tagsField.select2('data', data);\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag is selected.\n\t\t * Also called whenever tag creation is requested through the dummy tag object.\n\t\t *\n\t\t * @param {Object} e event\n\t\t */\n\t\t_onSelectTag: function(e) {\n\t\t\tvar self = this;\n\t\t\tvar tag;\n\t\t\tif (e.object && e.object.isNew) {\n\t\t\t\t// newly created tag, check if existing\n\t\t\t\t// create a new tag\n\t\t\t\ttag = this.collection.create({\n\t\t\t\t\tname: e.object.name.trim(),\n\t\t\t\t\tuserVisible: true,\n\t\t\t\t\tuserAssignable: true,\n\t\t\t\t\tcanAssign: true\n\t\t\t\t}, {\n\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\tself._addToSelect2Selection(model.toJSON());\n\t\t\t\t\t\tself._lastUsedTags.unshift(model.id);\n\t\t\t\t\t\tself.trigger('select', model);\n\t\t\t\t\t},\n\t\t\t\t\terror: function(model, xhr) {\n\t\t\t\t\t\tif (xhr.status === 409) {\n\t\t\t\t\t\t\t// re-fetch collection to get the missing tag\n\t\t\t\t\t\t\tself.collection.reset();\n\t\t\t\t\t\t\tself.collection.fetch({\n\t\t\t\t\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\t\t\t\t\t// find the tag in the collection\n\t\t\t\t\t\t\t\t\tvar model = collection.where({\n\t\t\t\t\t\t\t\t\t\tname: e.object.name.trim(),\n\t\t\t\t\t\t\t\t\t\tuserVisible: true,\n\t\t\t\t\t\t\t\t\t\tuserAssignable: true\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif (model.length) {\n\t\t\t\t\t\t\t\t\t\tmodel = model[0];\n\t\t\t\t\t\t\t\t\t\t// the tag already exists or was already assigned,\n\t\t\t\t\t\t\t\t\t\t// add it to the list anyway\n\t\t\t\t\t\t\t\t\t\tself._addToSelect2Selection(model.toJSON());\n\t\t\t\t\t\t\t\t\t\tself.trigger('select', model);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tthis.$tagsField.select2('close');\n\t\t\t\te.preventDefault();\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\ttag = this.collection.get(e.object.id);\n\t\t\t\tthis._lastUsedTags.unshift(tag.id);\n\t\t\t}\n\t\t\tthis._newTag = null;\n\t\t\tthis.trigger('select', tag);\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever a tag gets deselected.\n\t\t *\n\t\t * @param {Object} e event\n\t\t */\n\t\t_onDeselectTag: function(e) {\n\t\t\tthis.trigger('deselect', e.choice.id);\n\t\t},\n\n\t\t/**\n\t\t * Autocomplete function for dropdown results\n\t\t *\n\t\t * @param {Object} query select2 query object\n\t\t */\n\t\t_queryTagsAutocomplete: function(query) {\n\t\t\tvar self = this;\n\t\t\tthis.collection.fetch({\n\t\t\t\tsuccess: function(collection) {\n\t\t\t\t\tvar tagModels = collection.filterByName(query.term.trim());\n\t\t\t\t\tif (!self._isAdmin) {\n\t\t\t\t\t\ttagModels = _.filter(tagModels, function(tagModel) {\n\t\t\t\t\t\t\treturn tagModel.get('canAssign');\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tquery.callback({\n\t\t\t\t\t\tresults: _.invoke(tagModels, 'toJSON')\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t_preventDefault: function(e) {\n\t\t\te.stopPropagation();\n\t\t},\n\n\t\t/**\n\t\t * Formats a single dropdown result\n\t\t *\n\t\t * @param {Object} data data to format\n\t\t * @return {string} HTML markup\n\t\t */\n\t\t_formatDropDownResult: function(data) {\n\t\t\treturn OC.SystemTags.Templates['result'](_.extend({\n\t\t\t\trenameTooltip: t('core', 'Rename'),\n\t\t\t\tallowActions: this._allowActions,\n\t\t\t\ttagMarkup: this._isAdmin ? OC.SystemTags.getDescriptiveTag(data)[0].innerHTML : null,\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}, data));\n\t\t},\n\n\t\t/**\n\t\t * Formats a single selection item\n\t\t *\n\t\t * @param {Object} data data to format\n\t\t * @return {string} HTML markup\n\t\t */\n\t\t_formatSelection: function(data) {\n\t\t\treturn OC.SystemTags.Templates['selection'](_.extend({\n\t\t\t\ttagMarkup: this._isAdmin ? OC.SystemTags.getDescriptiveTag(data)[0].innerHTML : null,\n\t\t\t\tisAdmin: this._isAdmin\n\t\t\t}, data));\n\t\t},\n\n\t\t/**\n\t\t * Create new dummy choice for select2 when the user\n\t\t * types an arbitrary string\n\t\t *\n\t\t * @param {string} term entered term\n\t\t * @return {Object} dummy tag\n\t\t */\n\t\t_createSearchChoice: function(term) {\n\t\t\tterm = term.trim();\n\t\t\tif (this.collection.filter(function(entry) {\n\t\t\t\t\treturn entry.get('name') === term;\n\t\t\t\t}).length) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this._newTag) {\n\t\t\t\tthis._newTag = {\n\t\t\t\t\tid: -1,\n\t\t\t\t\tname: term,\n\t\t\t\t\tuserAssignable: true,\n\t\t\t\t\tuserVisible: true,\n\t\t\t\t\tcanAssign: true,\n\t\t\t\t\tisNew: true\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tthis._newTag.name = term;\n\t\t\t}\n\n\t\t\treturn this._newTag;\n\t\t},\n\n\t\t_initSelection: function(element, callback) {\n\t\t\tvar self = this;\n\t\t\tvar ids = $(element).val().split(',');\n\n\t\t\tfunction modelToSelection(model) {\n\t\t\t\tvar data = model.toJSON();\n\t\t\t\tif (!self._isAdmin && !data.canAssign) {\n\t\t\t\t\t// lock static tags for non-admins\n\t\t\t\t\tdata.locked = true;\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tfunction findSelectedObjects(ids) {\n\t\t\t\tvar selectedModels = self.collection.filter(function(model) {\n\t\t\t\t\treturn ids.indexOf(model.id) >= 0 && (self._isAdmin || model.get('userVisible'));\n\t\t\t\t});\n\t\t\t\treturn _.map(selectedModels, modelToSelection);\n\t\t\t}\n\n\t\t\tthis.collection.fetch({\n\t\t\t\tsuccess: function() {\n\t\t\t\t\tcallback(findSelectedObjects(ids));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t/**\n\t\t * Renders this details view\n\t\t */\n\t\trender: function() {\n\t\t\tvar self = this;\n\t\t\tthis.$el.html(this.template());\n\n\t\t\tthis.$el.find('[title]').tooltip({placement: 'bottom'});\n\t\t\tthis.$tagsField = this.$el.find('[name=tags]');\n\t\t\tthis.$tagsField.select2({\n\t\t\t\tplaceholder: t('core', 'Collaborative tags'),\n\t\t\t\tcontainerCssClass: 'systemtags-select2-container',\n\t\t\t\tdropdownCssClass: 'systemtags-select2-dropdown',\n\t\t\t\tcloseOnSelect: false,\n\t\t\t\tallowClear: false,\n\t\t\t\tmultiple: this._multiple,\n\t\t\t\ttoggleSelect: this._multiple,\n\t\t\t\tquery: _.bind(this._queryTagsAutocomplete, this),\n\t\t\t\tid: function(tag) {\n\t\t\t\t\treturn tag.id;\n\t\t\t\t},\n\t\t\t\tinitSelection: _.bind(this._initSelection, this),\n\t\t\t\tformatResult: _.bind(this._formatDropDownResult, this),\n\t\t\t\tformatSelection: _.bind(this._formatSelection, this),\n\t\t\t\tcreateSearchChoice: this._allowCreate ? _.bind(this._createSearchChoice, this) : undefined,\n\t\t\t\tsortResults: function(results) {\n\t\t\t\t\tvar selectedItems = _.pluck(self.$tagsField.select2('data'), 'id');\n\t\t\t\t\tresults.sort(function(a, b) {\n\t\t\t\t\t\tvar aSelected = selectedItems.indexOf(a.id) >= 0;\n\t\t\t\t\t\tvar bSelected = selectedItems.indexOf(b.id) >= 0;\n\t\t\t\t\t\tif (aSelected === bSelected) {\n\t\t\t\t\t\t\tvar aLastUsed = self._lastUsedTags.indexOf(a.id);\n\t\t\t\t\t\t\tvar 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\tif (aSelected && !bSelected) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t});\n\t\t\t\t\treturn results;\n\t\t\t\t},\n\t\t\t\tformatNoMatches: function() {\n\t\t\t\t\treturn t('core', 'No tags found');\n\t\t\t\t}\n\t\t\t})\n\t\t\t\t.on('select2-selecting', this._onSelectTag)\n\t\t\t\t.on('select2-removing', this._onDeselectTag);\n\n\t\t\tvar $dropDown = this.$tagsField.select2('dropdown');\n\t\t\t// register events for inside the dropdown\n\t\t\t$dropDown.on('mouseup', '.rename', this._onClickRenameTag);\n\t\t\t$dropDown.on('mouseup', '.delete', this._onClickDeleteTag);\n\t\t\t$dropDown.on('mouseup', '.select2-result-selectable.has-form', this._preventDefault);\n\t\t\t$dropDown.on('submit', '.systemtags-rename-form', this._onSubmitRenameTag);\n\n\t\t\tthis.delegateEvents();\n\t\t},\n\n\t\tremove: function() {\n\t\t\tif (this.$tagsField) {\n\t\t\t\tthis.$tagsField.select2('destroy');\n\t\t\t}\n\t\t},\n\n\t\tgetValues: function() {\n\t\t\tthis.$tagsField.select2('val');\n\t\t},\n\n\t\tsetValues: function(values) {\n\t\t\tthis.$tagsField.select2('val', values);\n\t\t},\n\n\t\tsetData: function(data) {\n\t\t\tthis.$tagsField.select2('data', data);\n\t\t}\n\t});\n\n\tOC.SystemTags = OC.SystemTags || {};\n\tOC.SystemTags.SystemTagsInputField = SystemTagsInputField;\n\n})(OC);\n\n","\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/sass-loader/lib/loader.js!./systemtags.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n * @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n * @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n * @copyright Copyright (c) 2016, Vincent Petry <pvince81@owncloud.com>\\n * @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n * @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n */\\n.systemtags-select2-dropdown .select2-result-label .checkmark {\\n visibility: hidden;\\n margin-left: -5px;\\n margin-right: 5px;\\n padding: 4px; }\\n\\n.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions {\\n display: none; }\\n\\n.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark {\\n visibility: visible; }\\n\\n.systemtags-select2-dropdown .select2-result-label .icon {\\n display: inline-block;\\n opacity: .5; }\\n .systemtags-select2-dropdown .select2-result-label .icon.rename {\\n padding: 4px; }\\n\\n.systemtags-select2-dropdown .systemtags-actions {\\n position: absolute;\\n right: 5px; }\\n\\n.systemtags-select2-dropdown .systemtags-rename-form {\\n display: inline-block;\\n width: calc(100% - 20px);\\n top: -6px;\\n position: relative; }\\n .systemtags-select2-dropdown .systemtags-rename-form input {\\n display: inline-block;\\n height: 30px;\\n width: calc(100% - 40px); }\\n\\n.systemtags-select2-dropdown .label {\\n width: 85%;\\n display: inline-block;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n .systemtags-select2-dropdown .label.hidden {\\n display: none; }\\n\\n.systemtags-select2-dropdown span {\\n line-height: 25px; }\\n\\n.systemtags-select2-dropdown .systemtags-item {\\n display: inline-block;\\n height: 25px;\\n width: 100%; }\\n\\n.systemtags-select2-dropdown .select2-result-label {\\n height: 25px; }\\n\\n.systemtags-select2-container {\\n width: 100%; }\\n .systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label {\\n opacity: 0.5; }\\n\\n#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {\\n padding: 5px; }\\n\", \"\"]);\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\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 ' + item[2] + '{' + content + '}';\n } else {\n return content;\n }\n }).join('');\n }; // import a list of modules into the list\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (i = 0; i < modules.length; i++) {\n var item = modules[i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = '(' + item[2] + ') and (' + mediaQuery + ')';\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || '';\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=' + cssMapping.sourceRoot + 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,' + base64;\n return '/*# ' + data + ' */';\n}","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getTarget = function (target, parent) {\n if (parent){\n return parent.querySelector(target);\n }\n return document.querySelector(target);\n};\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(target, parent) {\n // If passing function in options, then use it for resolve \"head\" element.\n // Useful for Shadow Root style i.e\n // {\n // insertInto: function () { return document.querySelector(\"#foo\").shadowRoot }\n // }\n if (typeof target === 'function') {\n return target();\n }\n if (typeof memo[target] === \"undefined\") {\n\t\t\tvar styleTarget = getTarget.call(this, target, parent);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[target] = styleTarget;\n\t\t}\n\t\treturn memo[target]\n\t};\n})();\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n if (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertAt.before, target);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\n\tif(options.attrs.nonce === undefined) {\n\t\tvar nonce = getNonce();\n\t\tif (nonce) {\n\t\t\toptions.attrs.nonce = nonce;\n\t\t}\n\t}\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\tif(options.attrs.type === undefined) {\n\t\toptions.attrs.type = \"text/css\";\n\t}\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction getNonce() {\n\tif (typeof __webpack_nonce__ === 'undefined') {\n\t\treturn null;\n\t}\n\n\treturn __webpack_nonce__;\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = typeof options.transform === 'function'\n\t\t ? options.transform(obj.css) \n\t\t : options.transform.default(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n"],"sourceRoot":""}