1 line
175 KiB
XML
1 line
175 KiB
XML
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/escape-html/index.js","webpack:///external \"jQuery\"","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","webpack:///./apps/comments/src/app.js","webpack:///./apps/comments/src/templates.js","webpack:///./apps/comments/src/commentmodel.js","webpack:///./apps/comments/src/commentcollection.js","webpack:///./apps/comments/src/commentsummarymodel.js","webpack:///./apps/comments/src/commentsmodifymenu.js","webpack:///./apps/comments/src/filesplugin.js","webpack:///./apps/comments/src/activitytabviewplugin.js","webpack:///./apps/comments/src/vendor/Caret.js/dist/jquery.caret.min.js","webpack:///./apps/comments/src/vendor/At.js/dist/js/jquery.atwho.min.js","webpack:///./apps/comments/src/style/autocomplete.scss?75bd","webpack:///./apps/comments/src/style/autocomplete.scss","webpack:///./apps/comments/src/style/comments.scss?fd56","webpack:///./apps/comments/src/style/comments.scss","webpack:///./apps/comments/src/commentstabview.js","webpack:///./apps/comments/src/comments.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","matchHtmlRegExp","string","escape","str","match","exec","html","index","lastIndex","length","charCodeAt","substring","jQuery","useSourceMap","list","toString","this","map","item","content","cssMapping","btoa","sourceMapping","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceURLs","sources","source","sourceRoot","join","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","id","_i","push","listToStyles","parentId","styles","newStyles","part","css","media","parts","hasDocument","document","DEBUG","Error","stylesInDom","head","getElementsByTagName","singletonElement","singletonCounter","isProduction","noop","options","isOldIE","navigator","test","userAgent","toLowerCase","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","createElement","type","appendChild","obj","update","remove","querySelector","parentNode","removeChild","styleIndex","applyToSingletonTag","applyToTag","newObj","textStore","replaceText","replacement","filter","Boolean","styleSheet","cssText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","ssrId","firstChild","OCA","Comments","template","templates","Handlebars","Templates","container","depth0","helpers","partials","helper","escapeExpression","actorId","helperMissing","nullContext","stack1","alias1","alias2","alias3","alias4","isUnread","program","isLong","isUserAuthor","actorDisplayName","timestamp","altDate","date","formattedMessage","iconClass","displayName","each","items","cancelText","tag","isEditMode","newMessagePlaceholder","message","submitText","countMessage","iconUrl","emptyResultLabel","moreLabel","OC","_","extend","Files","Client","PROPERTY_FILEID","NS_OWNCLOUD","PROPERTY_MESSAGE","PROPERTY_ACTORTYPE","PROPERTY_ACTORID","PROPERTY_ISUNREAD","PROPERTY_OBJECTID","PROPERTY_OBJECTTYPE","PROPERTY_ACTORDISPLAYNAME","PROPERTY_CREATIONDATETIME","PROPERTY_MENTIONS","CommentModel","Backbone","Model","sync","davSync","defaults","actorType","objectType","davProperties","creationDateTime","objectId","mentions","parse","_parseMentions","isUndefined","result","mention","localName","child","nextSibling","startsWith","textContent","CommentCollection","Collection","model","_objectType","_objectId","_endReached","_limit","initialize","models","url","linkToRemote","setObjectId","hasMoreResults","reset","_summaryModel","apply","arguments","fetchNext","self","body","success","resp","initial","set","trigger","getSummaryModel","CommentSummaryModel","updateReadMarker","save","readMarker","Date","toUTCString","PROPERTY_READMARKER","attrs","CommentsModifyMenu","View","tagName","className","_scopes","events","_onClickAction","event","$target","$","currentTarget","hasClass","closest","hideMenus","render","$el","commentsmodifymenu","show","context","_context","active","target","offsetIcon","offset","offsetContainer","position","top","left","right","find","width","removeClass","addClass","showMenu","PROPERTY_COMMENTS_UNREAD","FilesPlugin","ignoreLists","_formatCommentCount","count","filesplugin","imagePath","attach","fileList","indexOf","registerTabView","CommentsTabView","oldGetWebdavProperties","_getWebdavProperties","props","filesClient","addFileInfoParser","response","commentsUnread","propStat","properties","parseInt","oldCreateRow","_createRow","fileData","$tr","attr","fileActions","registerAction","$file","unread","mime","order","permissions","PERMISSION_READ","FileActions","TYPE_INLINE","actionSpec","isDefault","unreadComments","$actionLink","append","actionHandler","fileName","tooltip","showDetailsView","oldElementToFile","elementToFile","fileInfo","Plugins","register","ActivityTabViewPlugin","prepareModelForDisplay","view","_isLong","$overlay","after","on","_onClickCollapsedComment","ev","$row","is","a","define","returnExportsGlobal","b","e","g","h","$inputor","domInputor","setPos","getIEPosition","getPosition","getOffset","getOldIEPos","selection","createRange","createTextRange","moveToElementText","setEndPoint","text","getPos","range","cloneRange","selectNodeContents","setEnd","endContainer","endOffset","detach","getOldIEOffset","duplicate","moveStart","height","getBoundingClientRect","bottom","f","getSelection","setStart","insertNode","selectNode","scrollTop","scrollLeft","rangeCount","getRangeAt","getIEPos","parentElement","replace","moveToBookmark","getBookmark","collapse","compareEndPoints","selectionStart","move","select","setSelectionRange","getIEOffset","boundingLeft","boundingTop","boundingHeight","val","slice","rect","css_attr","mirrorCss","zIndex","prop","$mirror","contentEditable","pos","iframe","contentWindow","contentDocument","window","fn","caret","isPlainObject","error","EditableCaret","InputCaret","Utils","apis","ESC","TAB","ENTER","CTRL","A","P","N","LEFT","UP","RIGHT","DOWN","BACKSPACE","SPACE","beforeSave","arrayToDefaultHash","matcher","decodeURI","RegExp","String","remoteFilter","sorter","atwho_order","sort","tplEval","highlighter","beforeInsert","beforeReposition","afterMatchFailed","currentFlag","controllers","aliasMaps","setupRootElement","listen","createContainer","ownerDocument","defaultView","parentWindow","frameElement","atwho","debug","iframeAsRoot","controller","setContextFor","reg","alias","init","hide","isComposing","setTimeout","dispatch","onKeyup","onKeydown","expectedQueryCBId","getOpt","shutdown","destroy","off","lookUp","keyCode","preventDefault","ctrlKey","visible","prev","next","highlighted","choose","app","at","uid","setting","query","u","Math","random","substr","getTime","reload","callDefault","callbacks","insertContentFor","renderView","isArray","catchQuery","_delayLookUp","_lookUp","now","previousCallTime","_stopDelayedCall","delayedCallTimeout","clearTimeout","_generateQueryCBId","constructor","proxy","__super__","headPos","endPos","insert","max","focus","change","_getRange","_setRange","setEndAfter","setStartAfter","setEndBefore","setStartBefore","_clearRange","ctrl_a_pressed","removeAllRanges","addRange","_movingEvent","which","_unwrap","unwrap","nodeValue","collapsed","startContainer","contents","last","nodeType","ELEMENT_NODE","startOffset","cloneContents","TEXT_NODE","previousSibling","siblings","empty","surroundContents","el","first","getClientRects","storage","saved","fetch","load","_load","ajax","dataType","done","$elUl","children","timeoutID","bindEvent","prepend","clientX","clientY","expr","filters","stopShowing","reposition","offsetTop","offsetHeight","animate","isNaN","isSelecting","setIframe","run","Array","displayTpl","insertTpl","headerTpl","functionOverrides","searchKey","suffix","hideWithoutSuffix","startWithSpace","acceptSpaceBar","highlightFirst","limit","maxLen","minLen","displayTimeout","delay","spaceSelectsMatch","tabSelectsMatch","editableAtwhoQueryAttrs","scrollDuration","suspendOnComposing","lookUpOnClick","locals","add","default","___CSS_LOADER_API_IMPORT___","DetailTabView","_autoCompleteData","undefined","_commentsModifyMenu","_commentMaxLength","collection","_onRequest","_onEndRequest","_onAddModel","_onChangeModel","_commentMaxThreshold","bindAll","params","currentUser","getCurrentUser","editCommentTemplate","commentTemplate","editTooltip","getLabel","getIcon","setFileInfo","_initAutoComplete","silent","nextPage","before","$container","avatar","delegateEvents","_onTypeComment","autosize","appConfig","comments","maxAutoCompleteResults","_onAutoComplete","li","$li","q","escapeHTML","label","je","_postRenderItem","parent","callback","_autoCompleteRequestTimer","_autoCompleteRequestCall","abort","linkToOCS","search","itemType","itemId","beforeSend","request","setRequestHeader","ocs","_formatItem","commentModel","Util","relativeModifiedDate","formatDate","_formatMessage","attributes","_toggleLoading","state","_loading","toggleClass","fileInfoModel","findWhere","$comment","eq","oldMentions","isEqual","$updated","trim","previous","$message","editionMode","inlineAvatars","$this","username","contactsMenu","modifyCommentMenu","listenTo","action","_onClickEditComment","_onClickDeleteComment","_postRenderMessage","user","editMode","mentionId","regex","_composeHTMLMention","mentionDisplayName","p1","OCP","plainToRich","commentId","commentToEdit","$formRow","replaceWith","clone","$field","len","$submitButton","limitExceeded","shiftKey","click","_onClickComment","_onClickCloseComment","$loading","$moreIcon","Notification","showTemporary","_onClickShowMore","_onSubmitSuccess","$form","$submit","_commentBodyHTML2Plain","oldHtml","$inserted","userId","richToPlain","_onSubmitComment","$commentField","_onSubmitError","verb","wait","_onTextChange","_onPaste","originalEvent","clipboardData","getData","execCommand"],"mappings":"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","file":"comments.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 = 18);\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '"';\n break;\n case 38: // &\n escape = '&';\n break;\n case 39: // '\n escape = ''';\n break;\n case 60: // <\n escape = '<';\n break;\n case 62: // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","module.exports = jQuery;","\"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, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\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","/*\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\n(function() {\n\tif (!OCA.Comments) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.Comments = {}\n\t}\n\n})()\n","(function() {\n var template = Handlebars.template, templates = OCA.Comments.Templates = OCA.Comments.Templates || {};\ntemplates['comment'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n return \" unread\";\n},\"3\":function(container,depth0,helpers,partials,data) {\n return \" collapsed\";\n},\"5\":function(container,depth0,helpers,partials,data) {\n return \" currentUser\";\n},\"7\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"data-username=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"actorId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"\";\n},\"9\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t<a href=\\\"#\\\" class=\\\"action more icon icon-more has-tooltip\\\"></a>\\n\t\t\t<div class=\\\"deleteLoading icon-loading-small hidden\\\"></div>\\n\";\n},\"11\":function(container,depth0,helpers,partials,data) {\n return \"\t\t<div class=\\\"message-overlay\\\"></div>\\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 \"<li class=\\\"comment\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isUnread : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(3, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" data-id=\\\"\"\n + alias4(((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\t<div class=\\\"authorRow\\\">\\n\t\t<div class=\\\"avatar\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\" \"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.actorId : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(7, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"> </div>\\n\t\t<div class=\\\"author\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(5, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\\\">\"\n + alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"actorDisplayName\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(9, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t<div class=\\\"date has-tooltip live-relative-timestamp\\\" data-timestamp=\\\"\"\n + alias4(((helper = (helper = helpers.timestamp || (depth0 != null ? depth0.timestamp : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"timestamp\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" title=\\\"\"\n + alias4(((helper = (helper = helpers.altDate || (depth0 != null ? depth0.altDate : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"altDate\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + alias4(((helper = (helper = helpers.date || (depth0 != null ? depth0.date : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"date\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\\n\t</div>\\n\t<div class=\\\"message\\\">\"\n + ((stack1 = ((helper = (helper = helpers.formattedMessage || (depth0 != null ? depth0.formattedMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"formattedMessage\",\"hash\":{},\"data\":data}) : helper))) != null ? stack1 : \"\")\n + \"</div>\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(11, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</li>\\n\";\n},\"useData\":true});\ntemplates['commentsmodifymenu'] = template({\"1\":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 \"\t\t<li>\\n\t\t\t<a href=\\\"#\\\" class=\\\"menuitem action \"\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 + \" permanent\\\" data-action=\\\"\"\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.iconClass : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(2, data, 0),\"inverse\":container.program(4, data, 0),\"data\":data})) != null ? stack1 : \"\")\n + \"\t\t\t\t<span>\"\n + alias4(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"displayName\",\"hash\":{},\"data\":data}) : helper)))\n + \"</span>\\n\t\t\t</a>\\n\t\t</li>\\n\";\n},\"2\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t\t\t<span class=\\\"icon \"\n + container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"iconClass\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></span>\\n\";\n},\"4\":function(container,depth0,helpers,partials,data) {\n return \"\t\t\t\t\t<span class=\\\"no-icon\\\"></span>\\n\";\n},\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1;\n\n return \"<ul>\\n\"\n + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{\"name\":\"each\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"</ul>\\n\";\n},\"useData\":true});\ntemplates['edit_comment'] = template({\"1\":function(container,depth0,helpers,partials,data) {\n var helper;\n\n return \"\t\t\t<div class=\\\"action-container\\\">\\n\t\t\t\t<a href=\\\"#\\\" class=\\\"action cancel icon icon-close has-tooltip\\\" title=\\\"\"\n + container.escapeExpression(((helper = (helper = helpers.cancelText || (depth0 != null ? depth0.cancelText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === \"function\" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{\"name\":\"cancelText\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></a>\\n\t\t\t</div>\\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 \"<\"\n + alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"tag\",\"hash\":{},\"data\":data}) : helper)))\n + \" class=\\\"newCommentRow comment\\\" data-id=\\\"\"\n + alias4(((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\t<div class=\\\"authorRow\\\">\\n\t\t<div class=\\\"avatar currentUser\\\" data-username=\\\"\"\n + alias4(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"actorId\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"></div>\\n\t\t<div class=\\\"author currentUser\\\">\"\n + alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"actorDisplayName\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\\n\"\n + ((stack1 = helpers[\"if\"].call(alias1,(depth0 != null ? depth0.isEditMode : depth0),{\"name\":\"if\",\"hash\":{},\"fn\":container.program(1, data, 0),\"inverse\":container.noop,\"data\":data})) != null ? stack1 : \"\")\n + \"\t</div>\\n\t<form class=\\\"newCommentForm\\\">\\n\t\t<div contentEditable=\\\"true\\\" class=\\\"message\\\" data-placeholder=\\\"\"\n + alias4(((helper = (helper = helpers.newMessagePlaceholder || (depth0 != null ? depth0.newMessagePlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"newMessagePlaceholder\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\">\"\n + alias4(((helper = (helper = helpers.message || (depth0 != null ? depth0.message : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"message\",\"hash\":{},\"data\":data}) : helper)))\n + \"</div>\\n\t\t<input class=\\\"submit icon-confirm has-tooltip\\\" type=\\\"submit\\\" value=\\\"\\\" title=\\\"\"\n + alias4(((helper = (helper = helpers.submitText || (depth0 != null ? depth0.submitText : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"submitText\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"/>\\n\t\t<div class=\\\"submitLoading icon-loading-small hidden\\\"></div>\\n\t</form>\\n</\"\n + alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"tag\",\"hash\":{},\"data\":data}) : helper)))\n + \">\\n\";\n},\"useData\":true});\ntemplates['filesplugin'] = template({\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", alias4=container.escapeExpression;\n\n return \"<a class=\\\"action action-comment permanent\\\" title=\\\"\"\n + alias4(((helper = (helper = helpers.countMessage || (depth0 != null ? depth0.countMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"countMessage\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" href=\\\"#\\\">\\n\t<img class=\\\"svg\\\" src=\\\"\"\n + alias4(((helper = (helper = helpers.iconUrl || (depth0 != null ? depth0.iconUrl : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"iconUrl\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\"/>\\n</a>\\n\";\n},\"useData\":true});\ntemplates['view'] = template({\"compiler\":[7,\">= 4.0.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3=\"function\", alias4=container.escapeExpression;\n\n return \"<ul class=\\\"comments\\\">\\n</ul>\\n<div class=\\\"emptycontent hidden\\\"><div class=\\\"icon-comment\\\"></div>\\n\t<p>\"\n + alias4(((helper = (helper = helpers.emptyResultLabel || (depth0 != null ? depth0.emptyResultLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"emptyResultLabel\",\"hash\":{},\"data\":data}) : helper)))\n + \"</p></div>\\n<input type=\\\"button\\\" class=\\\"showMore hidden\\\" value=\\\"\"\n + alias4(((helper = (helper = helpers.moreLabel || (depth0 != null ? depth0.moreLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{\"name\":\"moreLabel\",\"hash\":{},\"data\":data}) : helper)))\n + \"\\\" name=\\\"show-more\\\" id=\\\"show-more\\\" />\\n<div class=\\\"loading hidden\\\" style=\\\"height: 50px\\\"></div>\\n\";\n},\"useData\":true});\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, OCA) {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_FILEID: '{' + OC.Files.Client.NS_OWNCLOUD + '}id',\n\t\tPROPERTY_MESSAGE: '{' + OC.Files.Client.NS_OWNCLOUD + '}message',\n\t\tPROPERTY_ACTORTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorType',\n\t\tPROPERTY_ACTORID: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorId',\n\t\tPROPERTY_ISUNREAD: '{' + OC.Files.Client.NS_OWNCLOUD + '}isUnread',\n\t\tPROPERTY_OBJECTID: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectId',\n\t\tPROPERTY_OBJECTTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectType',\n\t\tPROPERTY_ACTORDISPLAYNAME: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorDisplayName',\n\t\tPROPERTY_CREATIONDATETIME: '{' + OC.Files.Client.NS_OWNCLOUD + '}creationDateTime',\n\t\tPROPERTY_MENTIONS: '{' + OC.Files.Client.NS_OWNCLOUD + '}mentions',\n\t})\n\n\t/**\n\t * @class OCA.Comments.CommentModel\n\t * @classdesc\n\t *\n\t * Comment\n\t *\n\t */\n\tconst CommentModel = OC.Backbone.Model.extend(\n\t\t/** @lends OCA.Comments.CommentModel.prototype */ {\n\t\t\tsync: OC.Backbone.davSync,\n\n\t\t\tdefaults: {\n\t\t\t\tactorType: 'users',\n\t\t\t\tobjectType: 'files',\n\t\t\t},\n\n\t\t\tdavProperties: {\n\t\t\t\tid: OC.Files.Client.PROPERTY_FILEID,\n\t\t\t\tmessage: OC.Files.Client.PROPERTY_MESSAGE,\n\t\t\t\tactorType: OC.Files.Client.PROPERTY_ACTORTYPE,\n\t\t\t\tactorId: OC.Files.Client.PROPERTY_ACTORID,\n\t\t\t\tactorDisplayName: OC.Files.Client.PROPERTY_ACTORDISPLAYNAME,\n\t\t\t\tcreationDateTime: OC.Files.Client.PROPERTY_CREATIONDATETIME,\n\t\t\t\tobjectType: OC.Files.Client.PROPERTY_OBJECTTYPE,\n\t\t\t\tobjectId: OC.Files.Client.PROPERTY_OBJECTID,\n\t\t\t\tisUnread: OC.Files.Client.PROPERTY_ISUNREAD,\n\t\t\t\tmentions: OC.Files.Client.PROPERTY_MENTIONS,\n\t\t\t},\n\n\t\t\tparse(data) {\n\t\t\t\treturn {\n\t\t\t\t\tid: data.id,\n\t\t\t\t\tmessage: data.message,\n\t\t\t\t\tactorType: data.actorType,\n\t\t\t\t\tactorId: data.actorId,\n\t\t\t\t\tactorDisplayName: data.actorDisplayName,\n\t\t\t\t\tcreationDateTime: data.creationDateTime,\n\t\t\t\t\tobjectType: data.objectType,\n\t\t\t\t\tobjectId: data.objectId,\n\t\t\t\t\tisUnread: (data.isUnread === 'true'),\n\t\t\t\t\tmentions: this._parseMentions(data.mentions),\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_parseMentions(mentions) {\n\t\t\t\tif (_.isUndefined(mentions)) {\n\t\t\t\t\treturn {}\n\t\t\t\t}\n\t\t\t\tconst result = {}\n\t\t\t\tfor (const i in mentions) {\n\t\t\t\t\tconst mention = mentions[i]\n\t\t\t\t\tif (_.isUndefined(mention.localName) || mention.localName !== 'mention') {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tresult[i] = {}\n\t\t\t\t\tfor (let child = mention.firstChild; child; child = child.nextSibling) {\n\t\t\t\t\t\tif (_.isUndefined(child.localName) || !child.localName.startsWith('mention')) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresult[i][child.localName] = child.textContent\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn result\n\t\t\t},\n\t\t})\n\n\tOCA.Comments.CommentModel = CommentModel\n})(OC, OCA)\n","/* eslint-disable */\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, OCA) {\n\n\t/**\n\t * @class OCA.Comments.CommentCollection\n\t * @classdesc\n\t *\n\t * Collection of comments assigned to a file\n\t *\n\t */\n\tvar CommentCollection = OC.Backbone.Collection.extend(\n\t\t/** @lends OCA.Comments.CommentCollection.prototype */ {\n\n\t\t\tsync: OC.Backbone.davSync,\n\n\t\t\tmodel: OCA.Comments.CommentModel,\n\n\t\t\t/**\n\t\t * Object type\n\t\t *\n\t\t * @type string\n\t\t */\n\t\t\t_objectType: 'files',\n\n\t\t\t/**\n\t\t * Object id\n\t\t *\n\t\t * @type string\n\t\t */\n\t\t\t_objectId: null,\n\n\t\t\t/**\n\t\t * True if there are no more page results left to fetch\n\t\t *\n\t\t * @type bool\n\t\t */\n\t\t\t_endReached: false,\n\n\t\t\t/**\n\t\t * Number of comments to fetch per page\n\t\t *\n\t\t * @type int\n\t\t */\n\t\t\t_limit: 20,\n\n\t\t\t/**\n\t\t * Initializes the collection\n\t\t *\n\t\t * @param {string} [options.objectType] object type\n\t\t * @param {string} [options.objectId] object id\n\t\t */\n\t\t\tinitialize: function(models, options) {\n\t\t\t\toptions = options || {}\n\t\t\t\tif (options.objectType) {\n\t\t\t\t\tthis._objectType = options.objectType\n\t\t\t\t}\n\t\t\t\tif (options.objectId) {\n\t\t\t\t\tthis._objectId = options.objectId\n\t\t\t\t}\n\t\t\t},\n\n\t\t\turl: function() {\n\t\t\t\treturn OC.linkToRemote('dav') + '/comments/'\n\t\t\t\t+ encodeURIComponent(this._objectType) + '/'\n\t\t\t\t+ encodeURIComponent(this._objectId) + '/'\n\t\t\t},\n\n\t\t\tsetObjectId: function(objectId) {\n\t\t\t\tthis._objectId = objectId\n\t\t\t},\n\n\t\t\thasMoreResults: function() {\n\t\t\t\treturn !this._endReached\n\t\t\t},\n\n\t\t\treset: function() {\n\t\t\t\tthis._endReached = false\n\t\t\t\tthis._summaryModel = null\n\t\t\t\treturn OC.Backbone.Collection.prototype.reset.apply(this, arguments)\n\t\t\t},\n\n\t\t\t/**\n\t\t * Fetch the next set of results\n\t\t */\n\t\t\tfetchNext: function(options) {\n\t\t\t\tvar self = this\n\t\t\t\tif (!this.hasMoreResults()) {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\n\t\t\t\tvar body = '<?xml version=\"1.0\" encoding=\"utf-8\" ?>\\n'\n\t\t\t\t+ '<oc:filter-comments xmlns:D=\"DAV:\" xmlns:oc=\"http://owncloud.org/ns\">\\n'\n\t\t\t\t// load one more so we know there is more\n\t\t\t\t+ ' <oc:limit>' + (this._limit + 1) + '</oc:limit>\\n'\n\t\t\t\t+ ' <oc:offset>' + this.length + '</oc:offset>\\n'\n\t\t\t\t+ '</oc:filter-comments>\\n'\n\n\t\t\t\toptions = options || {}\n\t\t\t\tvar success = options.success\n\t\t\t\toptions = _.extend({\n\t\t\t\t\tremove: false,\n\t\t\t\t\tparse: true,\n\t\t\t\t\tdata: body,\n\t\t\t\t\tdavProperties: CommentCollection.prototype.model.prototype.davProperties,\n\t\t\t\t\tsuccess: function(resp) {\n\t\t\t\t\t\tif (resp.length <= self._limit) {\n\t\t\t\t\t\t// no new entries, end reached\n\t\t\t\t\t\t\tself._endReached = true\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t// remove last entry, for next page load\n\t\t\t\t\t\t\tresp = _.initial(resp)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!self.set(resp, options)) {\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (success) {\n\t\t\t\t\t\t\tsuccess.apply(null, arguments)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tself.trigger('sync', 'REPORT', self, options)\n\t\t\t\t\t}\n\t\t\t\t}, options)\n\n\t\t\t\treturn this.sync('REPORT', this, options)\n\t\t\t},\n\n\t\t\t/**\n\t\t * Returns the matching summary model\n\t\t *\n\t\t * @returns {OCA.Comments.CommentSummaryModel} summary model\n\t\t */\n\t\t\tgetSummaryModel: function() {\n\t\t\t\tif (!this._summaryModel) {\n\t\t\t\t\tthis._summaryModel = new OCA.Comments.CommentSummaryModel({\n\t\t\t\t\t\tid: this._objectId,\n\t\t\t\t\t\tobjectType: this._objectType\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn this._summaryModel\n\t\t\t},\n\n\t\t\t/**\n\t\t * Updates the read marker for this comment thread\n\t\t *\n\t\t * @param {Date} [date] optional date, defaults to now\n\t\t * @param {Object} [options] backbone options\n\t\t */\n\t\t\tupdateReadMarker: function(date, options) {\n\t\t\t\toptions = options || {}\n\n\t\t\t\treturn this.getSummaryModel().save({\n\t\t\t\t\treadMarker: (date || new Date()).toUTCString()\n\t\t\t\t}, options)\n\t\t\t}\n\t\t})\n\n\tOCA.Comments.CommentCollection = CommentCollection\n})(OC, OCA)\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, OCA) {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_READMARKER: '{' + OC.Files.Client.NS_OWNCLOUD + '}readMarker',\n\t})\n\n\t/**\n\t * @class OCA.Comments.CommentSummaryModel\n\t * @classdesc\n\t *\n\t * Model containing summary information related to comments\n\t * like the read marker.\n\t *\n\t */\n\tconst CommentSummaryModel = OC.Backbone.Model.extend(\n\t\t/** @lends OCA.Comments.CommentSummaryModel.prototype */ {\n\t\t\tsync: OC.Backbone.davSync,\n\n\t\t\t/**\n\t\t * Object type\n\t\t *\n\t\t * @type string\n\t\t */\n\t\t\t_objectType: 'files',\n\n\t\t\t/**\n\t\t * Object id\n\t\t *\n\t\t * @type string\n\t\t */\n\t\t\t_objectId: null,\n\n\t\t\tdavProperties: {\n\t\t\t\treadMarker: OC.Files.Client.PROPERTY_READMARKER,\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initializes the summary model\n\t\t\t *\n\t\t\t * @param {any} [attrs] ignored\n\t\t\t * @param {Object} [options] destructuring object\n\t\t\t * @param {string} [options.objectType] object type\n\t\t\t * @param {string} [options.objectId] object id\n\t\t\t */\n\t\t\tinitialize(attrs, options) {\n\t\t\t\toptions = options || {}\n\t\t\t\tif (options.objectType) {\n\t\t\t\t\tthis._objectType = options.objectType\n\t\t\t\t}\n\t\t\t},\n\n\t\t\turl() {\n\t\t\t\treturn OC.linkToRemote('dav') + '/comments/'\n\t\t\t\t+ encodeURIComponent(this._objectType) + '/'\n\t\t\t\t+ encodeURIComponent(this.id) + '/'\n\t\t\t},\n\t\t})\n\n\tOCA.Comments.CommentSummaryModel = CommentSummaryModel\n})(OC, OCA)\n","/*\n * Copyright (c) 2018\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\n\t/**\n\t * Construct a new CommentsModifyMenuinstance\n\t * @constructs CommentsModifyMenu\n\t * @memberof OC.Comments\n\t * @private\n\t */\n\tconst CommentsModifyMenu = OC.Backbone.View.extend({\n\t\ttagName: 'div',\n\t\tclassName: 'commentsModifyMenu popovermenu bubble menu',\n\t\t_scopes: [\n\t\t\t{\n\t\t\t\tname: 'edit',\n\t\t\t\tdisplayName: t('comments', 'Edit comment'),\n\t\t\t\ticonClass: 'icon-rename',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'delete',\n\t\t\t\tdisplayName: t('comments', 'Delete comment'),\n\t\t\t\ticonClass: 'icon-delete',\n\t\t\t},\n\t\t],\n\t\tinitialize() {\n\n\t\t},\n\t\tevents: {\n\t\t\t'click a.action': '_onClickAction',\n\t\t},\n\n\t\t/**\n\t\t * Event handler whenever an action has been clicked within the menu\n\t\t *\n\t\t * @param {Object} event event object\n\t\t */\n\t\t_onClickAction(event) {\n\t\t\tlet $target = $(event.currentTarget)\n\t\t\tif (!$target.hasClass('menuitem')) {\n\t\t\t\t$target = $target.closest('.menuitem')\n\t\t\t}\n\n\t\t\tOC.hideMenus()\n\n\t\t\tthis.trigger('select:menu-item-clicked', event, $target.data('action'))\n\t\t},\n\n\t\t/**\n\t\t * Renders the menu with the currently set items\n\t\t */\n\t\trender() {\n\t\t\tthis.$el.html(OCA.Comments.Templates.commentsmodifymenu({\n\t\t\t\titems: this._scopes,\n\t\t\t}))\n\t\t},\n\n\t\t/**\n\t\t * Displays the menu\n\t\t * @param {Event} context the click event\n\t\t */\n\t\tshow(context) {\n\t\t\tthis._context = context\n\n\t\t\tfor (const i in this._scopes) {\n\t\t\t\tthis._scopes[i].active = false\n\t\t\t}\n\n\t\t\tconst $el = $(context.target)\n\t\t\tconst offsetIcon = $el.offset()\n\t\t\tconst offsetContainer = $el.closest('.authorRow').offset()\n\n\t\t\t// adding some extra top offset to push the menu below the button.\n\t\t\tconst position = {\n\t\t\t\ttop: offsetIcon.top - offsetContainer.top + 48,\n\t\t\t\tleft: '',\n\t\t\t\tright: '',\n\t\t\t}\n\n\t\t\tposition.left = offsetIcon.left - offsetContainer.left\n\n\t\t\tif (position.left > 200) {\n\t\t\t\t// we need to position the menu to the right.\n\t\t\t\tposition.left = ''\n\t\t\t\tposition.right = this.$el.closest('.comment').find('.date').width()\n\t\t\t\tthis.$el.removeClass('menu-left').addClass('menu-right')\n\t\t\t} else {\n\t\t\t\tthis.$el.removeClass('menu-right').addClass('menu-left')\n\t\t\t}\n\t\t\tthis.$el.css(position)\n\t\t\tthis.render()\n\t\t\tthis.$el.removeClass('hidden')\n\n\t\t\tOC.showMenu(null, this.$el)\n\t\t},\n\t})\n\n\tOCA.Comments = OCA.Comments || {}\n\tOCA.Comments.CommentsModifyMenu = CommentsModifyMenu\n})(OC, OCA)\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\n(function() {\n\n\t_.extend(OC.Files.Client, {\n\t\tPROPERTY_COMMENTS_UNREAD: '{' + OC.Files.Client.NS_OWNCLOUD + '}comments-unread',\n\t})\n\n\tOCA.Comments = _.extend({}, OCA.Comments)\n\tif (!OCA.Comments) {\n\t\t/**\n\t\t * @namespace\n\t\t */\n\t\tOCA.Comments = {}\n\t}\n\n\t/**\n\t * @namespace\n\t */\n\tOCA.Comments.FilesPlugin = {\n\t\tignoreLists: [\n\t\t\t'trashbin',\n\t\t\t'files.public',\n\t\t],\n\n\t\t_formatCommentCount(count) {\n\t\t\treturn OCA.Comments.Templates.filesplugin({\n\t\t\t\tcount,\n\t\t\t\tcountMessage: n('comments', '%n unread comment', '%n unread comments', count),\n\t\t\t\ticonUrl: OC.imagePath('core', 'actions/comment'),\n\t\t\t})\n\t\t},\n\n\t\tattach(fileList) {\n\t\t\tconst self = this\n\t\t\tif (this.ignoreLists.indexOf(fileList.id) >= 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tfileList.registerTabView(new OCA.Comments.CommentsTabView('commentsTabView'))\n\n\t\t\tconst oldGetWebdavProperties = fileList._getWebdavProperties\n\t\t\tfileList._getWebdavProperties = function() {\n\t\t\t\tconst props = oldGetWebdavProperties.apply(this, arguments)\n\t\t\t\tprops.push(OC.Files.Client.PROPERTY_COMMENTS_UNREAD)\n\t\t\t\treturn props\n\t\t\t}\n\n\t\t\tfileList.filesClient.addFileInfoParser(function(response) {\n\t\t\t\tconst data = {}\n\t\t\t\tconst props = response.propStat[0].properties\n\t\t\t\tconst commentsUnread = props[OC.Files.Client.PROPERTY_COMMENTS_UNREAD]\n\t\t\t\tif (!_.isUndefined(commentsUnread) && commentsUnread !== '') {\n\t\t\t\t\tdata.commentsUnread = parseInt(commentsUnread, 10)\n\t\t\t\t}\n\t\t\t\treturn data\n\t\t\t})\n\n\t\t\tfileList.$el.addClass('has-comments')\n\t\t\tconst oldCreateRow = fileList._createRow\n\t\t\tfileList._createRow = function(fileData) {\n\t\t\t\tconst $tr = oldCreateRow.apply(this, arguments)\n\t\t\t\tif (fileData.commentsUnread) {\n\t\t\t\t\t$tr.attr('data-comments-unread', fileData.commentsUnread)\n\t\t\t\t}\n\t\t\t\treturn $tr\n\t\t\t}\n\n\t\t\t// register \"comment\" action for reading comments\n\t\t\tfileList.fileActions.registerAction({\n\t\t\t\tname: 'Comment',\n\t\t\t\tdisplayName(context) {\n\t\t\t\t\tif (context && context.$file) {\n\t\t\t\t\t\tconst unread = parseInt(context.$file.data('comments-unread'), 10)\n\t\t\t\t\t\tif (unread >= 0) {\n\t\t\t\t\t\t\treturn n('comments', '1 new comment', '{unread} new comments', unread, { unread })\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn t('comments', 'Comment')\n\t\t\t\t},\n\t\t\t\tmime: 'all',\n\t\t\t\torder: -140,\n\t\t\t\ticonClass: 'icon-comment',\n\t\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\t\ttype: OCA.Files.FileActions.TYPE_INLINE,\n\t\t\t\trender(actionSpec, isDefault, context) {\n\t\t\t\t\tconst $file = context.$file\n\t\t\t\t\tconst unreadComments = $file.data('comments-unread')\n\t\t\t\t\tif (unreadComments) {\n\t\t\t\t\t\tconst $actionLink = $(self._formatCommentCount(unreadComments))\n\t\t\t\t\t\tcontext.$file.find('a.name>span.fileactions').append($actionLink)\n\t\t\t\t\t\treturn $actionLink\n\t\t\t\t\t}\n\t\t\t\t\treturn ''\n\t\t\t\t},\n\t\t\t\tactionHandler(fileName, context) {\n\t\t\t\t\tcontext.$file.find('.action-comment').tooltip('hide')\n\t\t\t\t\t// open sidebar in comments section\n\t\t\t\t\tcontext.fileList.showDetailsView(fileName, 'comments')\n\t\t\t\t},\n\t\t\t})\n\n\t\t\t// add attribute to \"elementToFile\"\n\t\t\tconst oldElementToFile = fileList.elementToFile\n\t\t\tfileList.elementToFile = function($el) {\n\t\t\t\tconst fileInfo = oldElementToFile.apply(this, arguments)\n\t\t\t\tconst commentsUnread = $el.data('comments-unread')\n\t\t\t\tif (commentsUnread) {\n\t\t\t\t\tfileInfo.commentsUnread = commentsUnread\n\t\t\t\t}\n\t\t\t\treturn fileInfo\n\t\t\t}\n\t\t},\n\t}\n\n})()\n\nOC.Plugins.register('OCA.Files.FileList', OCA.Comments.FilesPlugin)\n","/**\n * @author Joas Schilling <coding@schilljs.com>\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(function() {\n\tOCA.Comments.ActivityTabViewPlugin = {\n\n\t\t/**\n\t\t * Prepare activity for display\n\t\t *\n\t\t * @param {OCA.Activity.ActivityModel} model for this activity\n\t\t * @param {jQuery} $el jQuery handle for this activity\n\t\t * @param {string} view The view that displayes this activity\n\t\t */\n\t\tprepareModelForDisplay(model, $el, view) {\n\t\t\tif (model.get('app') !== 'comments' || model.get('type') !== 'comments') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (view === 'ActivityTabView') {\n\t\t\t\t$el.addClass('comment')\n\t\t\t\tif (model.get('message') && this._isLong(model.get('message'))) {\n\t\t\t\t\t$el.addClass('collapsed')\n\t\t\t\t\tconst $overlay = $('<div>').addClass('message-overlay')\n\t\t\t\t\t$el.find('.activitymessage').after($overlay)\n\t\t\t\t\t$el.on('click', this._onClickCollapsedComment)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\t * Copy of CommentsTabView._onClickComment()\n\t\t */\n\t\t_onClickCollapsedComment(ev) {\n\t\t\tlet $row = $(ev.target)\n\t\t\tif (!$row.is('.comment')) {\n\t\t\t\t$row = $row.closest('.comment')\n\t\t\t}\n\t\t\t$row.removeClass('collapsed')\n\t\t},\n\n\t\t/*\n\t\t * Copy of CommentsTabView._isLong()\n\t\t */\n\t\t_isLong(message) {\n\t\t\treturn message.length > 250 || (message.match(/\\n/g) || []).length > 1\n\t\t},\n\t}\n\n})()\n\nOC.Plugins.register('OCA.Activity.RenderingPlugins', OCA.Comments.ActivityTabViewPlugin)\n","/*! jquery.caret 2015-02-01 */\n!function(a,b){\"function\"==typeof define&&define.amd?define([\"jquery\"],function(c){return a.returnExportsGlobal=b(c)}):\"object\"==typeof exports?module.exports=b(require(\"jquery\")):b(jQuery)}(this,function(a){\"use strict\";var b,c,d,e,f,g,h,i,j,k,l;k=\"caret\",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(){return this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint(\"EndToEnd\",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart(\"character\",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(){var b,c,d,e,f;return j.getSelection&&(d=this.range())?(d.endOffset-1>0&&d.endContainer===!this.domInputor&&(b=d.cloneRange(),b.setStart(d.endContainer,d.endOffset-1),b.setEnd(d.endContainer,d.endOffset),e=b.getBoundingClientRect(),c={height:e.height,left:e.left+e.width,top:e.top},b.detach()),c&&0!==(null!=c?c.height:void 0)||(b=d.cloneRange(),f=a(h.createTextNode(\"|\")),b.insertNode(f[0]),b.selectNode(f[0]),e=b.getBoundingClientRect(),c={height:e.height,left:e.left,top:e.top},f.remove(),b.detach())):h.selection&&(c=this.getOldIEOffset()),c&&(c.top+=a(j).scrollTop(),c.left+=a(j).scrollLeft()),c},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\\r\\n/g,\"\\n\"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints(\"StartToEnd\",a)>-1?c:-g.moveStart(\"character\",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move(\"character\",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move(\"character\",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(a){var b,c,e,f,g,h,i;return b=this.$inputor,f=function(a){return a=a.replace(/<|>|`|\"|&/g,\"?\").replace(/\\r\\n|\\r|\\n/g,\"<br/>\"),/firefox/i.test(navigator.userAgent)&&(a=a.replace(/\\s/g,\" \")),a},void 0===a&&(a=this.getPos()),i=b.val().slice(0,a),e=b.val().slice(a),g=\"<span style='position: relative; display: inline;'>\"+f(i)+\"</span>\",g+=\"<span id='caret' style='position: relative; display: inline;'>|</span>\",g+=\"<span style='position: relative; display: inline;'>\"+f(e)+\"</span>\",h=new d(b),c=h.create(g).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=[\"borderBottomWidth\",\"borderLeftWidth\",\"borderRightWidth\",\"borderTopStyle\",\"borderRightStyle\",\"borderBottomStyle\",\"borderLeftStyle\",\"borderTopWidth\",\"boxSizing\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"height\",\"letterSpacing\",\"lineHeight\",\"marginBottom\",\"marginLeft\",\"marginRight\",\"marginTop\",\"outlineWidth\",\"overflow\",\"overflowX\",\"overflowY\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"textAlign\",\"textOverflow\",\"textTransform\",\"whiteSpace\",\"wordBreak\",\"wordWrap\"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:\"absolute\",left:-9999,top:0,zIndex:-2e4},\"TEXTAREA\"===this.$inputor.prop(\"tagName\")&&this.css_attr.push(\"width\"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a(\"<div></div>\"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find(\"#caret\"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||\"true\"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error(\"Method \"+d+\" does not exist on jQuery.caret\")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g});","!function(t,e){\"function\"==typeof define&&define.amd?define([\"jquery\"],function(t){return e(t)}):\"object\"==typeof exports?module.exports=e(require(\"jquery\")):e(jQuery)}(this,function(t){var e,i;i={ESC:27,TAB:9,ENTER:13,CTRL:17,A:65,P:80,N:78,LEFT:37,UP:38,RIGHT:39,DOWN:40,BACKSPACE:8,SPACE:32},e={beforeSave:function(t){return r.arrayToDefaultHash(t)},matcher:function(t,e,i,n){var r,o,s,a,h;return t=t.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\"),i&&(t=\"(?:^|\\\\s)\"+t),r=decodeURI(\"%C3%80\"),o=decodeURI(\"%C3%BF\"),h=n?\" \":\"\",a=new RegExp(t+\"([A-Za-z\"+r+\"-\"+o+\"0-9_\"+h+\"'.+-]*)$|\"+t+\"([^\\\\x00-\\\\xff]*)$\",\"gi\"),s=a.exec(e),s?s[2]||s[1]:null},filter:function(t,e,i){var n,r,o,s;for(n=[],r=0,s=e.length;s>r;r++)o=e[r],~new String(o[i]).toLowerCase().indexOf(t.toLowerCase())&&n.push(o);return n},remoteFilter:null,sorter:function(t,e,i){var n,r,o,s;if(!t)return e;for(n=[],r=0,s=e.length;s>r;r++)o=e[r],o.atwho_order=new String(o[i]).toLowerCase().indexOf(t.toLowerCase()),o.atwho_order>-1&&n.push(o);return n.sort(function(t,e){return t.atwho_order-e.atwho_order})},tplEval:function(t,e){var i,n,r;r=t;try{return\"string\"!=typeof t&&(r=t(e)),r.replace(/\\$\\{([^\\}]*)\\}/g,function(t,i,n){return e[i]})}catch(n){return i=n,\"\"}},highlighter:function(t,e){var i;return e?(i=new RegExp(\">\\\\s*([^<]*?)(\"+e.replace(\"+\",\"\\\\+\")+\")([^<]*)\\\\s*<\",\"ig\"),t.replace(i,function(t,e,i,n){return\"> \"+e+\"<strong>\"+i+\"</strong>\"+n+\" <\"})):t},beforeInsert:function(t,e,i){return t},beforeReposition:function(t){return t},afterMatchFailed:function(t,e){}};var n;n=function(){function e(e){this.currentFlag=null,this.controllers={},this.aliasMaps={},this.$inputor=t(e),this.setupRootElement(),this.listen()}return e.prototype.createContainer=function(e){var i;return null!=(i=this.$el)&&i.remove(),t(e.body).append(this.$el=t(\"<div class='atwho-container'></div>\"))},e.prototype.setupRootElement=function(e,i){var n,r;if(null==i&&(i=!1),e)this.window=e.contentWindow,this.document=e.contentDocument||this.window.document,this.iframe=e;else{this.document=this.$inputor[0].ownerDocument,this.window=this.document.defaultView||this.document.parentWindow;try{this.iframe=this.window.frameElement}catch(r){if(n=r,this.iframe=null,t.fn.atwho.debug)throw new Error(\"iframe auto-discovery is failed.\\nPlease use `setIframe` to set the target iframe manually.\\n\"+n)}}return this.createContainer((this.iframeAsRoot=i)?this.document:document)},e.prototype.controller=function(t){var e,i,n,r;if(this.aliasMaps[t])i=this.controllers[this.aliasMaps[t]];else{r=this.controllers;for(n in r)if(e=r[n],n===t){i=e;break}}return i?i:this.controllers[this.currentFlag]},e.prototype.setContextFor=function(t){return this.currentFlag=t,this},e.prototype.reg=function(t,e){var i,n;return n=(i=this.controllers)[t]||(i[t]=this.$inputor.is(\"[contentEditable]\")?new l(this,t):new s(this,t)),e.alias&&(this.aliasMaps[e.alias]=t),n.init(e),this},e.prototype.listen=function(){return this.$inputor.on(\"compositionstart\",function(t){return function(e){var i;return null!=(i=t.controller())&&i.view.hide(),t.isComposing=!0,null}}(this)).on(\"compositionend\",function(t){return function(e){return t.isComposing=!1,setTimeout(function(e){return t.dispatch(e)}),null}}(this)).on(\"keyup.atwhoInner\",function(t){return function(e){return t.onKeyup(e)}}(this)).on(\"keydown.atwhoInner\",function(t){return function(e){return t.onKeydown(e)}}(this)).on(\"blur.atwhoInner\",function(t){return function(e){var i;return(i=t.controller())?(i.expectedQueryCBId=null,i.view.hide(e,i.getOpt(\"displayTimeout\"))):void 0}}(this)).on(\"click.atwhoInner\",function(t){return function(e){return t.dispatch(e)}}(this)).on(\"scroll.atwhoInner\",function(t){return function(){var e;return e=t.$inputor.scrollTop(),function(i){var n,r;return n=i.target.scrollTop,e!==n&&null!=(r=t.controller())&&r.view.hide(i),e=n,!0}}}(this)())},e.prototype.shutdown=function(){var t,e,i;i=this.controllers;for(t in i)e=i[t],e.destroy(),delete this.controllers[t];return this.$inputor.off(\".atwhoInner\"),this.$el.remove()},e.prototype.dispatch=function(t){var e,i,n,r;n=this.controllers,r=[];for(e in n)i=n[e],r.push(i.lookUp(t));return r},e.prototype.onKeyup=function(e){var n;switch(e.keyCode){case i.ESC:e.preventDefault(),null!=(n=this.controller())&&n.view.hide();break;case i.DOWN:case i.UP:case i.CTRL:case i.ENTER:t.noop();break;case i.P:case i.N:e.ctrlKey||this.dispatch(e);break;default:this.dispatch(e)}},e.prototype.onKeydown=function(e){var n,r;if(r=null!=(n=this.controller())?n.view:void 0,r&&r.visible())switch(e.keyCode){case i.ESC:e.preventDefault(),r.hide(e);break;case i.UP:e.preventDefault(),r.prev();break;case i.DOWN:e.preventDefault(),r.next();break;case i.P:if(!e.ctrlKey)return;e.preventDefault(),r.prev();break;case i.N:if(!e.ctrlKey)return;e.preventDefault(),r.next();break;case i.TAB:case i.ENTER:case i.SPACE:if(!r.visible())return;if(!this.controller().getOpt(\"spaceSelectsMatch\")&&e.keyCode===i.SPACE)return;if(!this.controller().getOpt(\"tabSelectsMatch\")&&e.keyCode===i.TAB)return;r.highlighted()?(e.preventDefault(),r.choose(e)):r.hide(e);break;default:t.noop()}},e}();var r,o=[].slice;r=function(){function i(e,i){this.app=e,this.at=i,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.expectedQueryCBId=null,this.setting=null,this.query=null,this.pos=0,this.range=null,0===(this.$el=t(\"#atwho-ground-\"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=t(\"<div id='atwho-ground-\"+this.id+\"'></div>\")),this.model=new u(this),this.view=new c(this)}return i.prototype.uid=function(){return(Math.random().toString(16)+\"000000000\").substr(2,8)+(new Date).getTime()},i.prototype.init=function(e){return this.setting=t.extend({},this.setting||t.fn.atwho[\"default\"],e),this.view.init(),this.model.reload(this.setting.data)},i.prototype.destroy=function(){return this.trigger(\"beforeDestroy\"),this.model.destroy(),this.view.destroy(),this.$el.remove()},i.prototype.callDefault=function(){var i,n,r,s;s=arguments[0],i=2<=arguments.length?o.call(arguments,1):[];try{return e[s].apply(this,i)}catch(r){return n=r,t.error(n+\" Or maybe At.js doesn't have function \"+s)}},i.prototype.trigger=function(t,e){var i,n;return null==e&&(e=[]),e.push(this),i=this.getOpt(\"alias\"),n=i?t+\"-\"+i+\".atwho\":t+\".atwho\",this.$inputor.trigger(n,e)},i.prototype.callbacks=function(t){return this.getOpt(\"callbacks\")[t]||e[t]},i.prototype.getOpt=function(t,e){var i,n;try{return this.setting[t]}catch(n){return i=n,null}},i.prototype.insertContentFor=function(e){var i,n;return n=this.getOpt(\"insertTpl\"),i=t.extend({},e.data(\"item-data\"),{\"atwho-at\":this.at}),this.callbacks(\"tplEval\").call(this,n,i,\"onInsert\")},i.prototype.renderView=function(t){var e;return e=this.getOpt(\"searchKey\"),t=this.callbacks(\"sorter\").call(this,this.query.text,t.slice(0,1001),e),this.view.render(t.slice(0,this.getOpt(\"limit\")))},i.arrayToDefaultHash=function(e){var i,n,r,o;if(!t.isArray(e))return e;for(o=[],i=0,r=e.length;r>i;i++)n=e[i],t.isPlainObject(n)?o.push(n):o.push({name:n});return o},i.prototype.lookUp=function(t){var e,i;if((!t||\"click\"!==t.type||this.getOpt(\"lookUpOnClick\"))&&(!this.getOpt(\"suspendOnComposing\")||!this.app.isComposing))return(e=this.catchQuery(t))?(this.app.setContextFor(this.at),(i=this.getOpt(\"delay\"))?this._delayLookUp(e,i):this._lookUp(e),e):(this.expectedQueryCBId=null,e)},i.prototype._delayLookUp=function(t,e){var i,n;return i=Date.now?Date.now():(new Date).getTime(),this.previousCallTime||(this.previousCallTime=i),n=e-(i-this.previousCallTime),n>0&&e>n?(this.previousCallTime=i,this._stopDelayedCall(),this.delayedCallTimeout=setTimeout(function(e){return function(){return e.previousCallTime=0,e.delayedCallTimeout=null,e._lookUp(t)}}(this),e)):(this._stopDelayedCall(),this.previousCallTime!==i&&(this.previousCallTime=0),this._lookUp(t))},i.prototype._stopDelayedCall=function(){return this.delayedCallTimeout?(clearTimeout(this.delayedCallTimeout),this.delayedCallTimeout=null):void 0},i.prototype._generateQueryCBId=function(){return{}},i.prototype._lookUp=function(e){var i;return i=function(t,e){return t===this.expectedQueryCBId?e&&e.length>0?this.renderView(this.constructor.arrayToDefaultHash(e)):this.view.hide():void 0},this.expectedQueryCBId=this._generateQueryCBId(),this.model.query(e.text,t.proxy(i,this,this.expectedQueryCBId))},i}();var s,a=function(t,e){function i(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},h={}.hasOwnProperty;s=function(e){function i(){return i.__super__.constructor.apply(this,arguments)}return a(i,e),i.prototype.catchQuery=function(){var t,e,i,n,r,o,s;return e=this.$inputor.val(),t=this.$inputor.caret(\"pos\",{iframe:this.app.iframe}),s=e.slice(0,t),r=this.callbacks(\"matcher\").call(this,this.at,s,this.getOpt(\"startWithSpace\"),this.getOpt(\"acceptSpaceBar\")),n=\"string\"==typeof r,n&&r.length<this.getOpt(\"minLen\",0)?void 0:(n&&r.length<=this.getOpt(\"maxLen\",20)?(o=t-r.length,i=o+r.length,this.pos=o,r={text:r,headPos:o,endPos:i},this.trigger(\"matched\",[this.at,r.text])):(r=null,this.view.hide()),this.query=r)},i.prototype.rect=function(){var e,i,n;if(e=this.$inputor.caret(\"offset\",this.pos-1,{iframe:this.app.iframe}))return this.app.iframe&&!this.app.iframeAsRoot&&(i=t(this.app.iframe).offset(),e.left+=i.left,e.top+=i.top),n=this.app.document.selection?0:2,{left:e.left,top:e.top,bottom:e.top+e.height+n}},i.prototype.insert=function(t,e){var i,n,r,o,s;return i=this.$inputor,n=i.val(),r=n.slice(0,Math.max(this.query.headPos-this.at.length,0)),o=\"\"===(o=this.getOpt(\"suffix\"))?o:o||\" \",t+=o,s=\"\"+r+t+n.slice(this.query.endPos||0),i.val(s),i.caret(\"pos\",r.length+t.length,{iframe:this.app.iframe}),i.is(\":focus\")||i.focus(),i.change()},i}(r);var l,a=function(t,e){function i(){this.constructor=t}for(var n in e)h.call(e,n)&&(t[n]=e[n]);return i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype,t},h={}.hasOwnProperty;l=function(e){function n(){return n.__super__.constructor.apply(this,arguments)}return a(n,e),n.prototype._getRange=function(){var t;return t=this.app.window.getSelection(),t.rangeCount>0?t.getRangeAt(0):void 0},n.prototype._setRange=function(e,i,n){return null==n&&(n=this._getRange()),n&&i?(i=t(i)[0],\"after\"===e?(n.setEndAfter(i),n.setStartAfter(i)):(n.setEndBefore(i),n.setStartBefore(i)),n.collapse(!1),this._clearRange(n)):void 0},n.prototype._clearRange=function(t){var e;return null==t&&(t=this._getRange()),e=this.app.window.getSelection(),null==this.ctrl_a_pressed?(e.removeAllRanges(),e.addRange(t)):void 0},n.prototype._movingEvent=function(t){var e;return\"click\"===t.type||(e=t.which)===i.RIGHT||e===i.LEFT||e===i.UP||e===i.DOWN},n.prototype._unwrap=function(e){var i;return e=t(e).unwrap().get(0),(i=e.nextSibling)&&i.nodeValue&&(e.nodeValue+=i.nodeValue,t(i).remove()),e},n.prototype.catchQuery=function(e){var n,r,o,s,a,h,l,u,c,p,f,d;if((d=this._getRange())&&d.collapsed){if(e.which===i.ENTER)return(r=t(d.startContainer).closest(\".atwho-query\")).contents().unwrap(),r.is(\":empty\")&&r.remove(),(r=t(\".atwho-query\",this.app.document)).text(r.text()).contents().last().unwrap(),void this._clearRange();if(/firefox/i.test(navigator.userAgent)){if(t(d.startContainer).is(this.$inputor))return void this._clearRange();e.which===i.BACKSPACE&&d.startContainer.nodeType===document.ELEMENT_NODE&&(c=d.startOffset-1)>=0?(o=d.cloneRange(),o.setStart(d.startContainer,c),t(o.cloneContents()).contents().last().is(\".atwho-inserted\")&&(a=t(d.startContainer).contents().get(c),this._setRange(\"after\",t(a).contents().last()))):e.which===i.LEFT&&d.startContainer.nodeType===document.TEXT_NODE&&(n=t(d.startContainer.previousSibling),n.is(\".atwho-inserted\")&&0===d.startOffset&&this._setRange(\"after\",n.contents().last()))}if(t(d.startContainer).closest(\".atwho-inserted\").addClass(\"atwho-query\").siblings().removeClass(\"atwho-query\"),(r=t(\".atwho-query\",this.app.document)).length>0&&r.is(\":empty\")&&0===r.text().length&&r.remove(),this._movingEvent(e)||r.removeClass(\"atwho-inserted\"),r.length>0)switch(e.which){case i.LEFT:return this._setRange(\"before\",r.get(0),d),void r.removeClass(\"atwho-query\");case i.RIGHT:return this._setRange(\"after\",r.get(0).nextSibling,d),void r.removeClass(\"atwho-query\")}if(r.length>0&&(f=r.attr(\"data-atwho-at-query\"))&&(r.empty().html(f).attr(\"data-atwho-at-query\",null),this._setRange(\"after\",r.get(0),d)),o=d.cloneRange(),o.setStart(d.startContainer,0),u=this.callbacks(\"matcher\").call(this,this.at,o.toString(),this.getOpt(\"startWithSpace\"),this.getOpt(\"acceptSpaceBar\")),h=\"string\"==typeof u,0===r.length&&h&&(s=d.startOffset-this.at.length-u.length)>=0&&(d.setStart(d.startContainer,s),r=t(\"<span/>\",this.app.document).attr(this.getOpt(\"editableAtwhoQueryAttrs\")).addClass(\"atwho-query\"),d.surroundContents(r.get(0)),l=r.contents().last().get(0),l&&(/firefox/i.test(navigator.userAgent)?(d.setStart(l,l.length),d.setEnd(l,l.length),this._clearRange(d)):this._setRange(\"after\",l,d))),!(h&&u.length<this.getOpt(\"minLen\",0)))return h&&u.length<=this.getOpt(\"maxLen\",20)?(p={text:u,el:r},this.trigger(\"matched\",[this.at,p.text]),this.query=p):(this.view.hide(),this.query={el:r},r.text().indexOf(this.at)>=0&&(this._movingEvent(e)&&r.hasClass(\"atwho-inserted\")?r.removeClass(\"atwho-query\"):!1!==this.callbacks(\"afterMatchFailed\").call(this,this.at,r)&&this._setRange(\"after\",this._unwrap(r.text(r.text()).contents().first()))),null)}},n.prototype.rect=function(){var e,i,n;return n=this.query.el.offset(),n&&this.query.el[0].getClientRects().length?(this.app.iframe&&!this.app.iframeAsRoot&&(i=(e=t(this.app.iframe)).offset(),n.left+=i.left-this.$inputor.scrollLeft(),n.top+=i.top-this.$inputor.scrollTop()),n.bottom=n.top+this.query.el.height(),n):void 0},n.prototype.insert=function(t,e){var i,n,r,o,s;return this.$inputor.is(\":focus\")||this.$inputor.focus(),n=this.getOpt(\"functionOverrides\"),n.insert?n.insert.call(this,t,e):(o=\"\"===(o=this.getOpt(\"suffix\"))?o:o||\" \",i=e.data(\"item-data\"),this.query.el.removeClass(\"atwho-query\").addClass(\"atwho-inserted\").html(t).attr(\"data-atwho-at-query\",\"\"+i[\"atwho-at\"]+this.query.text).attr(\"contenteditable\",\"false\"),(r=this._getRange())&&(this.query.el.length&&r.setEndAfter(this.query.el[0]),r.collapse(!1),r.insertNode(s=this.app.document.createTextNode(\"\"+o)),this._setRange(\"after\",s,r)),this.$inputor.is(\":focus\")||this.$inputor.focus(),this.$inputor.change())},n}(r);var u;u=function(){function e(t){this.context=t,this.at=this.context.at,this.storage=this.context.$inputor}return e.prototype.destroy=function(){return this.storage.data(this.at,null)},e.prototype.saved=function(){return this.fetch()>0},e.prototype.query=function(t,e){var i,n,r;return n=this.fetch(),r=this.context.getOpt(\"searchKey\"),n=this.context.callbacks(\"filter\").call(this.context,t,n,r)||[],i=this.context.callbacks(\"remoteFilter\"),n.length>0||!i&&0===n.length?e(n):i.call(this.context,t,e)},e.prototype.fetch=function(){return this.storage.data(this.at)||[]},e.prototype.save=function(t){return this.storage.data(this.at,this.context.callbacks(\"beforeSave\").call(this.context,t||[]))},e.prototype.load=function(t){return!this.saved()&&t?this._load(t):void 0},e.prototype.reload=function(t){return this._load(t)},e.prototype._load=function(e){return\"string\"==typeof e?t.ajax(e,{dataType:\"json\"}).done(function(t){return function(e){return t.save(e)}}(this)):this.save(e)},e}();var c;c=function(){function e(e){this.context=e,this.$el=t(\"<div class='atwho-view'><ul class='atwho-view-ul'></ul></div>\"),this.$elUl=this.$el.children(),this.timeoutID=null,this.context.$el.append(this.$el),this.bindEvent()}return e.prototype.init=function(){var t,e;return e=this.context.getOpt(\"alias\")||this.context.at.charCodeAt(0),t=this.context.getOpt(\"headerTpl\"),t&&1===this.$el.children().length&&this.$el.prepend(t),this.$el.attr({id:\"at-view-\"+e})},e.prototype.destroy=function(){return this.$el.remove()},e.prototype.bindEvent=function(){var e,i,n;return e=this.$el.find(\"ul\"),i=0,n=0,e.on(\"mousemove.atwho-view\",\"li\",function(r){return function(r){var o;if((i!==r.clientX||n!==r.clientY)&&(i=r.clientX,n=r.clientY,o=t(r.currentTarget),!o.hasClass(\"cur\")))return e.find(\".cur\").removeClass(\"cur\"),o.addClass(\"cur\")}}(this)).on(\"click.atwho-view\",\"li\",function(i){return function(n){return e.find(\".cur\").removeClass(\"cur\"),t(n.currentTarget).addClass(\"cur\"),i.choose(n),n.preventDefault()}}(this))},e.prototype.visible=function(){return t.expr.filters.visible(this.$el[0])},e.prototype.highlighted=function(){return this.$el.find(\".cur\").length>0},e.prototype.choose=function(t){var e,i;return(e=this.$el.find(\".cur\")).length&&(i=this.context.insertContentFor(e),this.context._stopDelayedCall(),this.context.insert(this.context.callbacks(\"beforeInsert\").call(this.context,i,e,t),e),this.context.trigger(\"inserted\",[e,t]),this.hide(t)),this.context.getOpt(\"hideWithoutSuffix\")?this.stopShowing=!0:void 0},e.prototype.reposition=function(e){var i,n,r,o;return i=this.context.app.iframeAsRoot?this.context.app.window:window,e.bottom+this.$el.height()-t(i).scrollTop()>t(i).height()&&(e.bottom=e.top-this.$el.height()),e.left>(r=t(i).width()-this.$el.width()-5)&&(e.left=r),n={left:e.left,top:e.bottom},null!=(o=this.context.callbacks(\"beforeReposition\"))&&o.call(this.context,n),this.$el.offset(n),this.context.trigger(\"reposition\",[n])},e.prototype.next=function(){var t,e,i,n;return t=this.$el.find(\".cur\").removeClass(\"cur\"),e=t.next(),e.length||(e=this.$el.find(\"li:first\")),e.addClass(\"cur\"),i=e[0],n=i.offsetTop+i.offsetHeight+(i.nextSibling?i.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,n-this.$el.height()))},e.prototype.prev=function(){var t,e,i,n;return t=this.$el.find(\".cur\").removeClass(\"cur\"),i=t.prev(),i.length||(i=this.$el.find(\"li:last\")),i.addClass(\"cur\"),n=i[0],e=n.offsetTop+n.offsetHeight+(n.nextSibling?n.nextSibling.offsetHeight:0),this.scrollTop(Math.max(0,e-this.$el.height()))},e.prototype.scrollTop=function(t){var e;return e=this.context.getOpt(\"scrollDuration\"),e?this.$elUl.animate({scrollTop:t},e):this.$elUl.scrollTop(t)},e.prototype.show=function(){var t;return this.stopShowing?void(this.stopShowing=!1):(this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger(\"shown\")),(t=this.context.rect())?this.reposition(t):void 0)},e.prototype.hide=function(t,e){var i;if(this.visible())return isNaN(e)?(this.$el.hide(),this.context.trigger(\"hidden\",[t])):(i=function(t){return function(){return t.hide()}}(this),clearTimeout(this.timeoutID),this.timeoutID=setTimeout(i,e))},e.prototype.render=function(e){var i,n,r,o,s,a,h;if(!(t.isArray(e)&&e.length>0))return void this.hide();for(this.$el.find(\"ul\").empty(),n=this.$el.find(\"ul\"),h=this.context.getOpt(\"displayTpl\"),r=0,s=e.length;s>r;r++)o=e[r],o=t.extend({},o,{\"atwho-at\":this.context.at}),a=this.context.callbacks(\"tplEval\").call(this.context,h,o,\"onDisplay\"),i=t(this.context.callbacks(\"highlighter\").call(this.context,a,this.context.query.text)),i.data(\"item-data\",o),n.append(i);return this.show(),this.context.getOpt(\"highlightFirst\")?n.find(\"li:first\").addClass(\"cur\"):void 0},e}();var p;p={load:function(t,e){var i;return(i=this.controller(t))?i.model.load(e):void 0},isSelecting:function(){var t;return!!(null!=(t=this.controller())?t.view.visible():void 0)},hide:function(){var t;return null!=(t=this.controller())?t.view.hide():void 0},reposition:function(){var t;return(t=this.controller())?t.view.reposition(t.rect()):void 0},setIframe:function(t,e){return this.setupRootElement(t,e),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data(\"atwho\",null)}},t.fn.atwho=function(e){var i,r;return i=arguments,r=null,this.filter('textarea, input, [contenteditable=\"\"], [contenteditable=true]').each(function(){var o,s;return(s=(o=t(this)).data(\"atwho\"))||o.data(\"atwho\",s=new n(this)),\"object\"!=typeof e&&e?p[e]&&s?r=p[e].apply(s,Array.prototype.slice.call(i,1)):t.error(\"Method \"+e+\" does not exist on jQuery.atwho\"):s.reg(e.at,e)}),null!=r?r:this},t.fn.atwho[\"default\"]={at:void 0,alias:void 0,data:null,displayTpl:\"<li>${name}</li>\",insertTpl:\"${atwho-at}${name}\",headerTpl:null,callbacks:e,functionOverrides:{},searchKey:\"name\",suffix:void 0,hideWithoutSuffix:!1,startWithSpace:!0,acceptSpaceBar:!1,highlightFirst:!0,limit:5,maxLen:20,minLen:0,displayTimeout:300,delay:null,spaceSelectsMatch:!1,tabSelectsMatch:!0,editableAtwhoQueryAttrs:{},scrollDuration:150,suspendOnComposing:!0,lookUpOnClick:!0},t.fn.atwho.debug=!1});","// 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!./autocomplete.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(\"8e87fa8e\", 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, \".atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:var(--color-main-background);color:var(--color-main-text);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 0 5px var(--color-box-shadow);min-width:120px;z-index:11110 !important}.atwho-view .atwho-header{padding:5px;margin:5px;cursor:pointer;border-bottom:solid 1px var(--color-border);color:var(--color-main-text);font-size:11px;font-weight:bold}.atwho-view .atwho-header .small{color:var(--color-main-text);float:right;padding-top:2px;margin-right:-5px;font-size:12px;font-weight:normal}.atwho-view .atwho-header:hover{cursor:default}.atwho-view .cur{background:var(--color-primary);color:var(--color-primary-text)}.atwho-view .cur small{color:var(--color-primary-text)}.atwho-view strong{color:var(--color-main-text);font-weight:normal}.atwho-view .cur strong{color:var(--color-primary-text);font-weight:normal}.atwho-view ul{list-style:none;padding:0;margin:auto;max-height:200px;overflow-y:auto}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid var(--color-border);cursor:pointer}.atwho-view small{font-size:smaller;color:var(--color-main-text);font-weight:normal}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\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!./comments.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(\"477a5c21\", 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, \"#commentsTabView .emptycontent{margin-top:0}#commentsTabView .newCommentForm{margin-left:36px;position:relative}#commentsTabView .newCommentForm .message{width:100%;padding:10px;min-height:44px;margin:0;padding-right:30px}#commentsTabView .newCommentForm .submit,#commentsTabView .newCommentForm .submitLoading{width:44px;height:44px;margin:0;padding:13px;background-color:transparent;border:none;opacity:.3;position:absolute;bottom:0;right:0}#commentsTabView .deleteLoading{padding:14px;vertical-align:middle}#commentsTabView .newCommentForm .submit:not(:disabled):hover,#commentsTabView .newCommentForm .submit:not(:disabled):focus{opacity:1}#commentsTabView .newCommentForm div.message{resize:none}#commentsTabView .newCommentForm div.message:empty:before{content:attr(data-placeholder);color:grey}#commentsTabView .comment{position:relative;padding:10px 0 15px}#commentsTabView .comments .comment{border-top:1px solid var(--color-border)}#commentsTabView .comment .avatar,.atwho-view-ul * .avatar{width:32px;height:32px;line-height:32px;margin-right:5px}#commentsTabView .comment .message .avatar,.atwho-view-ul * .avatar{display:inline-block}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{white-space:pre-wrap}#activityTabView li.comment.collapsed .activitymessage,#commentsTabView .comment.collapsed .message{max-height:70px;overflow:hidden}#activityTabView li.comment .message-overlay,#commentsTabView .comment .message-overlay{display:none}#activityTabView li.comment.collapsed .message-overlay,#commentsTabView .comment.collapsed .message-overlay{display:block;position:absolute;z-index:2;height:50px;pointer-events:none;left:0;right:0;bottom:0;background:-moz-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-webkit-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-o-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:-ms-linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background:linear-gradient(rgba(var(--color-main-background), 0), var(--color-main-background));background-repeat:no-repeat}#commentsTabView .hidden{display:none !important}#commentsTabView .comment .authorRow{min-height:44px}#commentsTabView .comment .authorRow .tooltip{margin-top:5px}.atwho-view-ul * .avatar-name-wrapper,#commentsTabView .comment .authorRow{position:relative;display:inline-flex;align-items:center;width:100%}#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser),#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar,#commentsTabView .comment:not(.newCommentRow) .message .avatar-name-wrapper:not(.currentUser) .avatar img,#commentsTabView .comment .authorRow .avatar:not(.currentUser),#commentsTabView .comment .authorRow .author:not(.currentUser){cursor:pointer}.atwho-view-ul .avatar-name-wrapper,.atwho-view-ul .avatar-name-wrapper .avatar,.atwho-view-ul .avatar-name-wrapper .avatar img{cursor:pointer}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper{position:relative;display:inline;vertical-align:top;background-color:var(--color-background-dark);border-radius:50vh;padding:1px 7px 1px 1px;white-space:nowrap}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar{height:16px;width:16px;vertical-align:middle;padding:1px;margin-top:-3px;margin-left:0;margin-right:2px}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper .avatar img,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper .avatar img{vertical-align:top}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper strong,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper strong{font-weight:bold}#commentsTabView .comments li .message .atwho-inserted .avatar-name-wrapper.currentUser,#commentsTabView .newCommentForm .atwho-inserted .avatar-name-wrapper.currentUser{background-color:var(--color-primary);color:var(--color-primary-text)}.atwho-view-ul * .avatar-name-wrapper{white-space:nowrap}#commentsTabView .comment .author,#commentsTabView .comment .date{opacity:.5}#commentsTabView .comment .author{max-width:210px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#commentsTabView .comment .date{margin-left:auto;padding:10px 0px}#commentsTabView .comments>li:not(.newCommentRow) .message{padding-left:40px;word-wrap:break-word;overflow-wrap:break-word}#commentsTabView .comment .action{opacity:0.3;padding:14px;display:block}#commentsTabView .comment .action:hover,#commentsTabView .comment .action:focus{opacity:1}#commentsTabView .newCommentRow .action-container{margin-left:auto}#commentsTabView .comment.disabled .message{opacity:0.3}#commentsTabView .comment.disabled .action{display:none}#commentsTabView .message.error{color:#e9322d;border-color:#e9322d;box-shadow:0 0 6px #f8b9b7}.app-files .action-comment{padding:16px 14px}#commentsTabView .comment .message .contactsmenu-popover{left:-6px;top:24px}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/* eslint-disable */\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/* global Handlebars */\n\nimport escapeHTML from 'escape-html'\n\n(function(OC, OCA) {\n\n\t/**\n\t * @memberof OCA.Comments\n\t */\n\tvar CommentsTabView = OCA.Files.DetailTabView.extend(\n\t\t/** @lends OCA.Comments.CommentsTabView.prototype */ {\n\t\t\tid: 'commentsTabView',\n\t\t\tclassName: 'tab commentsTabView',\n\t\t\t_autoCompleteData: undefined,\n\t\t\t_commentsModifyMenu: undefined,\n\n\t\t\tevents: {\n\t\t\t\t'submit .newCommentForm': '_onSubmitComment',\n\t\t\t\t'click .showMore': '_onClickShowMore',\n\t\t\t\t'click .cancel': '_onClickCloseComment',\n\t\t\t\t'click .comment': '_onClickComment',\n\t\t\t\t'keyup div.message': '_onTextChange',\n\t\t\t\t'change div.message': '_onTextChange',\n\t\t\t\t'input div.message': '_onTextChange',\n\t\t\t\t'paste div.message': '_onPaste'\n\t\t\t},\n\n\t\t\t_commentMaxLength: 1000,\n\n\t\t\tinitialize: function() {\n\t\t\t\tOCA.Files.DetailTabView.prototype.initialize.apply(this, arguments)\n\t\t\t\tthis.collection = new OCA.Comments.CommentCollection()\n\t\t\t\tthis.collection.on('request', this._onRequest, this)\n\t\t\t\tthis.collection.on('sync', this._onEndRequest, this)\n\t\t\t\tthis.collection.on('add', this._onAddModel, this)\n\t\t\t\tthis.collection.on('change:message', this._onChangeModel, this)\n\n\t\t\t\tthis._commentMaxThreshold = this._commentMaxLength * 0.9\n\n\t\t\t\t// TODO: error handling\n\t\t\t\t_.bindAll(this, '_onTypeComment', '_initAutoComplete', '_onAutoComplete')\n\t\t\t},\n\n\t\t\ttemplate: function(params) {\n\t\t\t\tvar currentUser = OC.getCurrentUser()\n\t\t\t\treturn OCA.Comments.Templates['view'](_.extend({\n\t\t\t\t\tactorId: currentUser.uid,\n\t\t\t\t\tactorDisplayName: currentUser.displayName\n\t\t\t\t}, params))\n\t\t\t},\n\n\t\t\teditCommentTemplate: function(params) {\n\t\t\t\tvar currentUser = OC.getCurrentUser()\n\t\t\t\treturn OCA.Comments.Templates['edit_comment'](_.extend({\n\t\t\t\t\tactorId: currentUser.uid,\n\t\t\t\t\tactorDisplayName: currentUser.displayName,\n\t\t\t\t\tnewMessagePlaceholder: t('comments', 'New comment …'),\n\t\t\t\t\tsubmitText: t('comments', 'Post'),\n\t\t\t\t\tcancelText: t('comments', 'Cancel'),\n\t\t\t\t\ttag: 'li'\n\t\t\t\t}, params))\n\t\t\t},\n\n\t\t\tcommentTemplate: function(params) {\n\t\t\t\tparams = _.extend({\n\t\t\t\t\teditTooltip: t('comments', 'Edit comment'),\n\t\t\t\t\tisUserAuthor: OC.getCurrentUser().uid === params.actorId,\n\t\t\t\t\tisLong: this._isLong(params.message)\n\t\t\t\t}, params)\n\n\t\t\t\tif (params.actorType === 'deleted_users') {\n\t\t\t\t// makes the avatar a X\n\t\t\t\t\tparams.actorId = null\n\t\t\t\t\tparams.actorDisplayName = t('comments', '[Deleted user]')\n\t\t\t\t}\n\n\t\t\t\treturn OCA.Comments.Templates['comment'](params)\n\t\t\t},\n\n\t\t\tgetLabel: function() {\n\t\t\t\treturn t('comments', 'Comments')\n\t\t\t},\n\n\t\t\tgetIcon: function() {\n\t\t\t\treturn 'icon-comment'\n\t\t\t},\n\n\t\t\tsetFileInfo: function(fileInfo) {\n\t\t\t\tif (fileInfo) {\n\t\t\t\t\tthis.model = fileInfo\n\n\t\t\t\t\tthis.render()\n\t\t\t\t\tthis._initAutoComplete($('#commentsTabView').find('.newCommentForm .message'))\n\t\t\t\t\tthis.collection.setObjectId(this.model.id)\n\t\t\t\t\t// reset to first page\n\t\t\t\t\tthis.collection.reset([], { silent: true })\n\t\t\t\t\tthis.nextPage()\n\t\t\t\t} else {\n\t\t\t\t\tthis.model = null\n\t\t\t\t\tthis.render()\n\t\t\t\t\tthis.collection.reset()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\trender: function() {\n\t\t\t\tthis.$el.html(this.template({\n\t\t\t\t\temptyResultLabel: t('comments', 'No comments yet, start the conversation!'),\n\t\t\t\t\tmoreLabel: t('comments', 'More comments …')\n\t\t\t\t}))\n\t\t\t\tthis.$el.find('.comments').before(this.editCommentTemplate({ tag: 'div' }))\n\t\t\t\tthis.$el.find('.has-tooltip').tooltip()\n\t\t\t\tthis.$container = this.$el.find('ul.comments')\n\t\t\t\tthis.$el.find('.avatar').avatar(OC.getCurrentUser().uid, 32)\n\t\t\t\tthis.delegateEvents()\n\t\t\t\tthis.$el.find('.message').on('keydown input change', this._onTypeComment)\n\n\t\t\t\tautosize(this.$el.find('.newCommentRow .message'))\n\t\t\t\tthis.$el.find('.newCommentForm .message').focus()\n\t\t\t},\n\n\t\t\t_initAutoComplete: function($target) {\n\t\t\t\tvar s = this\n\t\t\t\tvar limit = 10\n\t\t\t\tif (!_.isUndefined(OC.appConfig.comments)) {\n\t\t\t\t\tlimit = OC.appConfig.comments.maxAutoCompleteResults\n\t\t\t\t}\n\t\t\t\t$target.atwho({\n\t\t\t\t\tat: '@',\n\t\t\t\t\tlimit: limit,\n\t\t\t\t\tcallbacks: {\n\t\t\t\t\t\tremoteFilter: s._onAutoComplete,\n\t\t\t\t\t\thighlighter: function(li) {\n\t\t\t\t\t\t// misuse the highlighter callback to instead of\n\t\t\t\t\t\t// highlighting loads the avatars.\n\t\t\t\t\t\t\tvar $li = $(li)\n\t\t\t\t\t\t\t$li.find('.avatar').avatar(undefined, 32)\n\t\t\t\t\t\t\treturn $li\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsorter: function(q, items) { return items }\n\t\t\t\t\t},\n\t\t\t\t\tdisplayTpl: function(item) {\n\t\t\t\t\t\treturn '<li>'\n\t\t\t\t\t\t+ '<span class=\"avatar-name-wrapper\">'\n\t\t\t\t\t\t\t+ '<span class=\"avatar\" '\n\t\t\t\t\t\t\t\t\t+ 'data-username=\"' + escapeHTML(item.id) + '\" ' // for avatars\n\t\t\t\t\t\t\t\t\t+ 'data-user=\"' + escapeHTML(item.id) + '\" ' // for contactsmenu\n\t\t\t\t\t\t\t\t\t+ 'data-user-display-name=\"' + escapeHTML(item.label) + '\">'\n\t\t\t\t\t\t\t+ '</span>'\n\t\t\t\t\t\t\t+ '<strong>' + escapeHTML(item.label) + '</strong>'\n\t\t\t\t\t\t+ '</span></li>'\n\t\t\t\t\t},\n\t\t\t\t\tinsertTpl: function(item) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t+ '<span class=\"avatar-name-wrapper\">'\n\t\t\t\t\t\t\t+ '<span class=\"avatar\" '\n\t\t\t\t\t\t\t\t\t+ 'data-username=\"' + escapeHTML(item.id) + '\" ' // for avatars\n\t\t\t\t\t\t\t\t\t+ 'data-user=\"' + escapeHTML(item.id) + '\" ' // for contactsmenu\n\t\t\t\t\t\t\t\t\t+ 'data-user-display-name=\"' + escapeHTML(item.label) + '\">'\n\t\t\t\t\t\t\t+ '</span>'\n\t\t\t\t\t\t\t+ '<strong>' + escapeHTML(item.label) + '</strong>'\n\t\t\t\t\t\t+ '</span>'\n\t\t\t\t\t},\n\t\t\t\t\tsearchKey: 'label'\n\t\t\t\t})\n\t\t\t\t$target.on('inserted.atwho', function(je, $el) {\n\t\t\t\t\tvar editionMode = true\n\t\t\t\t\ts._postRenderItem(\n\t\t\t\t\t// we need to pass the parent of the inserted element\n\t\t\t\t\t// passing the whole comments form would re-apply and request\n\t\t\t\t\t// avatars from the server\n\t\t\t\t\t\t$(je.target).find(\n\t\t\t\t\t\t\t'span[data-username=\"' + $el.find('[data-username]').data('username') + '\"]'\n\t\t\t\t\t\t).parent(),\n\t\t\t\t\t\teditionMode\n\t\t\t\t\t)\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t_onAutoComplete: function(query, callback) {\n\t\t\t\tvar s = this\n\t\t\t\tif (!_.isUndefined(this._autoCompleteRequestTimer)) {\n\t\t\t\t\tclearTimeout(this._autoCompleteRequestTimer)\n\t\t\t\t}\n\t\t\t\tthis._autoCompleteRequestTimer = _.delay(function() {\n\t\t\t\t\tif (!_.isUndefined(this._autoCompleteRequestCall)) {\n\t\t\t\t\t\tthis._autoCompleteRequestCall.abort()\n\t\t\t\t\t}\n\t\t\t\t\tthis._autoCompleteRequestCall = $.ajax({\n\t\t\t\t\t\turl: OC.linkToOCS('core', 2) + 'autocomplete/get',\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\tsearch: query,\n\t\t\t\t\t\t\titemType: 'files',\n\t\t\t\t\t\t\titemId: s.model.get('id'),\n\t\t\t\t\t\t\tsorter: 'commenters|share-recipients',\n\t\t\t\t\t\t\tlimit: OC.appConfig.comments.maxAutoCompleteResults\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbeforeSend: function(request) {\n\t\t\t\t\t\t\trequest.setRequestHeader('Accept', 'application/json')\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsuccess: function(result) {\n\t\t\t\t\t\t\tcallback(result.ocs.data)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}, 400)\n\t\t\t},\n\n\t\t\t_formatItem: function(commentModel) {\n\t\t\t\tvar timestamp = new Date(commentModel.get('creationDateTime')).getTime()\n\t\t\t\tvar data = _.extend({\n\t\t\t\t\ttimestamp: timestamp,\n\t\t\t\t\tdate: OC.Util.relativeModifiedDate(timestamp),\n\t\t\t\t\taltDate: OC.Util.formatDate(timestamp),\n\t\t\t\t\tformattedMessage: this._formatMessage(commentModel.get('message'), commentModel.get('mentions'))\n\t\t\t\t}, commentModel.attributes)\n\t\t\t\treturn data\n\t\t\t},\n\n\t\t\t_toggleLoading: function(state) {\n\t\t\t\tthis._loading = state\n\t\t\t\tthis.$el.find('.loading').toggleClass('hidden', !state)\n\t\t\t},\n\n\t\t\t_onRequest: function(type) {\n\t\t\t\tif (type === 'REPORT') {\n\t\t\t\t\tthis._toggleLoading(true)\n\t\t\t\t\tthis.$el.find('.showMore').addClass('hidden')\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onEndRequest: function(type) {\n\t\t\t\tvar fileInfoModel = this.model\n\t\t\t\tthis._toggleLoading(false)\n\t\t\t\tthis.$el.find('.emptycontent').toggleClass('hidden', !!this.collection.length)\n\t\t\t\tthis.$el.find('.showMore').toggleClass('hidden', !this.collection.hasMoreResults())\n\n\t\t\t\tif (type !== 'REPORT') {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t// find first unread comment\n\t\t\t\tvar firstUnreadComment = this.collection.findWhere({ isUnread: true })\n\t\t\t\tif (firstUnreadComment) {\n\t\t\t\t// update read marker\n\t\t\t\t\tthis.collection.updateReadMarker(\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\t\t\tfileInfoModel.set('commentsUnread', 0)\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.$el.find('.newCommentForm .message').focus()\n\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * takes care of post-rendering after a new comment was added to the\n\t\t\t * collection\n\t\t\t *\n\t\t\t * @param model\n\t\t\t * @param collection\n\t\t\t * @param options\n\t\t\t * @private\n\t\t\t */\n\t\t\t_onAddModel: function(model, collection, options) {\n\t\t\t// we need to render it immediately, to ensure that the right\n\t\t\t// order of comments is kept on opening comments tab\n\t\t\t\tvar $comment = $(this.commentTemplate(this._formatItem(model)))\n\t\t\t\tif (!_.isUndefined(options.at) && collection.length > 1) {\n\t\t\t\t\tthis.$container.find('li').eq(options.at).before($comment)\n\t\t\t\t} else {\n\t\t\t\t\tthis.$container.append($comment)\n\t\t\t\t}\n\t\t\t\tthis._postRenderItem($comment)\n\t\t\t\t$('#commentsTabView').find('.newCommentForm div.message').text('').prop('contenteditable', true)\n\n\t\t\t\t// we need to update the model, because it consists of client data\n\t\t\t\t// only, but the server might add meta data, e.g. about mentions\n\t\t\t\tvar oldMentions = model.get('mentions')\n\t\t\t\tvar self = this\n\t\t\t\tmodel.fetch({\n\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\tif (_.isEqual(oldMentions, model.get('mentions'))) {\n\t\t\t\t\t\t// don't attempt to render if unnecessary, avoids flickering\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar $updated = $(self.commentTemplate(self._formatItem(model)))\n\t\t\t\t\t\t$comment.html($updated.html())\n\t\t\t\t\t\tself._postRenderItem($comment)\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * takes care of post-rendering after a new comment was edited\n\t\t\t *\n\t\t\t * @param model\n\t\t\t * @private\n\t\t\t */\n\t\t\t_onChangeModel: function(model) {\n\t\t\t\tif (model.get('message').trim() === model.previous('message').trim()) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tvar $form = this.$container.find('.comment[data-id=\"' + model.id + '\"] form')\n\t\t\t\tvar $row = $form.closest('.comment')\n\t\t\t\tvar $target = $row.data('commentEl')\n\t\t\t\tif (_.isUndefined($target)) {\n\t\t\t\t// ignore noise – this is only set after editing a comment and hitting post\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tvar self = this\n\n\t\t\t\t// we need to update the model, because it consists of client data\n\t\t\t\t// only, but the server might add meta data, e.g. about mentions\n\t\t\t\tmodel.fetch({\n\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\t$target.removeClass('hidden')\n\t\t\t\t\t\t$row.remove()\n\n\t\t\t\t\t\tvar $message = $target.find('.message')\n\t\t\t\t\t\t$message\n\t\t\t\t\t\t\t.html(self._formatMessage(model.get('message'), model.get('mentions')))\n\t\t\t\t\t\t\t.find('.avatar')\n\t\t\t\t\t\t\t.each(function() { $(this).avatar() })\n\t\t\t\t\t\tself._postRenderItem($message)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t_postRenderItem: function($el, editionMode) {\n\t\t\t\t$el.find('.has-tooltip').tooltip()\n\t\t\t\tvar inlineAvatars = $el.find('.message .avatar')\n\t\t\t\tif ($($el.context).hasClass('message')) {\n\t\t\t\t\tinlineAvatars = $el.find('.avatar')\n\t\t\t\t}\n\t\t\t\tinlineAvatars.each(function() {\n\t\t\t\t\tvar $this = $(this)\n\t\t\t\t\t$this.avatar($this.attr('data-username'), 16)\n\t\t\t\t})\n\t\t\t\t$el.find('.authorRow .avatar').each(function() {\n\t\t\t\t\tvar $this = $(this)\n\t\t\t\t\t$this.avatar($this.attr('data-username'), 32)\n\t\t\t\t})\n\n\t\t\t\tvar username = $el.find('.avatar').data('username')\n\t\t\t\tif (username !== OC.getCurrentUser().uid) {\n\t\t\t\t\t$el.find('.authorRow .avatar, .authorRow .author').contactsMenu(\n\t\t\t\t\t\tusername, 0, $el.find('.authorRow'))\n\t\t\t\t}\n\n\t\t\t\tvar $message = $el.find('.message')\n\t\t\t\tif ($message.length === 0) {\n\t\t\t\t// it is the case when writing a comment and mentioning a person\n\t\t\t\t\t$message = $el\n\t\t\t\t}\n\n\t\t\t\tif (!editionMode) {\n\t\t\t\t\tvar self = this\n\t\t\t\t\t// add the dropdown menu to display the edit and delete option\n\t\t\t\t\tvar modifyCommentMenu = new OCA.Comments.CommentsModifyMenu()\n\t\t\t\t\t$el.find('.authorRow').append(modifyCommentMenu.$el)\n\t\t\t\t\t$el.find('.more').on('click', _.bind(modifyCommentMenu.show, modifyCommentMenu))\n\n\t\t\t\t\tself.listenTo(modifyCommentMenu, 'select:menu-item-clicked', function(ev, action) {\n\t\t\t\t\t\tif (action === 'edit') {\n\t\t\t\t\t\t\tself._onClickEditComment(ev)\n\t\t\t\t\t\t} else if (action === 'delete') {\n\t\t\t\t\t\t\tself._onClickDeleteComment(ev)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tthis._postRenderMessage($message, editionMode)\n\t\t\t},\n\n\t\t\t_postRenderMessage: function($el, editionMode) {\n\t\t\t\tif (editionMode) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t$el.find('.avatar-name-wrapper').each(function() {\n\t\t\t\t\tvar $this = $(this)\n\t\t\t\t\tvar $avatar = $this.find('.avatar')\n\n\t\t\t\t\tvar user = $avatar.data('user')\n\t\t\t\t\tif (user !== OC.getCurrentUser().uid) {\n\t\t\t\t\t\t$this.contactsMenu(user, 0, $this)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Convert a message to be displayed in HTML,\n\t\t\t * converts newlines to <br> tags.\n\t\t\t */\n\t\t\t_formatMessage: function(message, mentions, editMode) {\n\t\t\t\tmessage = escapeHTML(message).replace(/\\n/g, '<br/>')\n\n\t\t\t\tfor (var i in mentions) {\n\t\t\t\t\tif (!mentions.hasOwnProperty(i)) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tvar mention = '@' + mentions[i].mentionId\n\t\t\t\t\tif (mentions[i].mentionId.indexOf(' ') !== -1) {\n\t\t\t\t\t\tmention = _.escape('@\"' + mentions[i].mentionId + '\"')\n\t\t\t\t\t}\n\n\t\t\t\t\t// escape possible regex characters in the name\n\t\t\t\t\tmention = mention.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n\t\t\t\t\tvar regex = new RegExp('(^|\\\\s)(' + mention + ')\\\\b', 'g')\n\t\t\t\t\tif (mentions[i].mentionId.indexOf(' ') !== -1) {\n\t\t\t\t\t\tregex = new RegExp('(^|\\\\s)(' + mention + ')', 'g')\n\t\t\t\t\t}\n\n\t\t\t\t\tvar displayName = this._composeHTMLMention(mentions[i].mentionId, mentions[i].mentionDisplayName)\n\n\t\t\t\t\t// replace every mention either at the start of the input or after a whitespace\n\t\t\t\t\t// followed by a non-word character.\n\t\t\t\t\tmessage = message.replace(regex,\n\t\t\t\t\t\tfunction(match, p1) {\n\t\t\t\t\t\t// to get number of whitespaces (0 vs 1) right\n\t\t\t\t\t\t\treturn p1 + displayName\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tif (editMode !== true) {\n\t\t\t\t\tmessage = OCP.Comments.plainToRich(message)\n\t\t\t\t}\n\t\t\t\treturn message\n\t\t\t},\n\n\t\t\t_composeHTMLMention: function(uid, displayName) {\n\t\t\t\tvar avatar = ''\n\t\t\t\t+ '<span class=\"avatar\" '\n\t\t\t\t\t\t+ 'data-username=\"' + _.escape(uid) + '\" '\n\t\t\t\t\t\t+ 'data-user=\"' + _.escape(uid) + '\" '\n\t\t\t\t\t\t+ 'data-user-display-name=\"' + _.escape(displayName) + '\">'\n\t\t\t\t+ '</span>'\n\n\t\t\t\tvar isCurrentUser = (uid === OC.getCurrentUser().uid)\n\n\t\t\t\treturn ''\n\t\t\t\t+ '<span class=\"atwho-inserted\" contenteditable=\"false\">'\n\t\t\t\t\t+ '<span class=\"avatar-name-wrapper' + (isCurrentUser ? ' currentUser' : '') + '\">'\n\t\t\t\t\t\t+ avatar\n\t\t\t\t\t\t+ '<strong>' + _.escape(displayName) + '</strong>'\n\t\t\t\t\t+ '</span>'\n\t\t\t\t+ '</span>'\n\t\t\t},\n\n\t\t\tnextPage: function() {\n\t\t\t\tif (this._loading || !this.collection.hasMoreResults()) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthis.collection.fetchNext()\n\t\t\t},\n\n\t\t\t_onClickEditComment: function(ev) {\n\t\t\t\tev.preventDefault()\n\t\t\t\tvar $comment = $(ev.target).closest('.comment')\n\t\t\t\tvar commentId = $comment.data('id')\n\t\t\t\tvar commentToEdit = this.collection.get(commentId)\n\t\t\t\tvar $formRow = $(this.editCommentTemplate(_.extend({\n\t\t\t\t\tisEditMode: true,\n\t\t\t\t\tsubmitText: t('comments', 'Save')\n\t\t\t\t}, commentToEdit.attributes)))\n\n\t\t\t\t$comment.addClass('hidden').removeClass('collapsed')\n\t\t\t\t// spawn form\n\t\t\t\t$comment.after($formRow)\n\t\t\t\t$formRow.data('commentEl', $comment)\n\t\t\t\t$formRow.find('.message').on('keydown input change', this._onTypeComment)\n\n\t\t\t\t// copy avatar element from original to avoid flickering\n\t\t\t\t$formRow.find('.avatar:first').replaceWith($comment.find('.avatar:first').clone())\n\t\t\t\t$formRow.find('.has-tooltip').tooltip()\n\n\t\t\t\tvar $message = $formRow.find('.message')\n\t\t\t\t$message\n\t\t\t\t\t.html(this._formatMessage(commentToEdit.get('message'), commentToEdit.get('mentions'), true))\n\t\t\t\t\t.find('.avatar')\n\t\t\t\t\t.each(function() { $(this).avatar() })\n\t\t\t\tvar editionMode = true\n\t\t\t\tthis._postRenderItem($message, editionMode)\n\n\t\t\t\t// Enable autosize\n\t\t\t\tautosize($formRow.find('.message'))\n\n\t\t\t\t// enable autocomplete\n\t\t\t\tthis._initAutoComplete($formRow.find('.message'))\n\n\t\t\t\treturn false\n\t\t\t},\n\n\t\t\t_onTypeComment: function(ev) {\n\t\t\t\tvar $field = $(ev.target)\n\t\t\t\tvar len = $field.text().length\n\t\t\t\tvar $submitButton = $field.data('submitButtonEl')\n\t\t\t\tif (!$submitButton) {\n\t\t\t\t\t$submitButton = $field.closest('form').find('.submit')\n\t\t\t\t\t$field.data('submitButtonEl', $submitButton)\n\t\t\t\t}\n\t\t\t\t$field.tooltip('hide')\n\t\t\t\tif (len > this._commentMaxThreshold) {\n\t\t\t\t\t$field.attr('data-original-title', t('comments', 'Allowed characters {count} of {max}', { count: len, max: this._commentMaxLength }))\n\t\t\t\t\t$field.tooltip({ trigger: 'manual' })\n\t\t\t\t\t$field.tooltip('show')\n\t\t\t\t\t$field.addClass('error')\n\t\t\t\t}\n\n\t\t\t\tvar limitExceeded = (len > this._commentMaxLength)\n\t\t\t\t$field.toggleClass('error', limitExceeded)\n\t\t\t\t$submitButton.prop('disabled', limitExceeded)\n\n\t\t\t\t// Submits form with Enter, but Shift+Enter is a new line. If the\n\t\t\t\t// autocomplete popover is being shown Enter does not submit the\n\t\t\t\t// form either; it will be handled by At.js which will add the\n\t\t\t\t// currently selected item to the message.\n\t\t\t\tif (ev.keyCode === 13 && !ev.shiftKey && !$field.atwho('isSelecting')) {\n\t\t\t\t\t$submitButton.click()\n\t\t\t\t\tev.preventDefault()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t_onClickComment: function(ev) {\n\t\t\t\tvar $row = $(ev.target)\n\t\t\t\tif (!$row.is('.comment')) {\n\t\t\t\t\t$row = $row.closest('.comment')\n\t\t\t\t}\n\t\t\t\t$row.removeClass('collapsed')\n\t\t\t},\n\n\t\t\t_onClickCloseComment: function(ev) {\n\t\t\t\tev.preventDefault()\n\t\t\t\tvar $row = $(ev.target).closest('.comment')\n\t\t\t\t$row.data('commentEl').removeClass('hidden')\n\t\t\t\t$row.remove()\n\t\t\t\treturn false\n\t\t\t},\n\n\t\t\t_onClickDeleteComment: function(ev) {\n\t\t\t\tev.preventDefault()\n\t\t\t\tvar $comment = $(ev.target).closest('.comment')\n\t\t\t\tvar commentId = $comment.data('id')\n\t\t\t\tvar $loading = $comment.find('.deleteLoading')\n\t\t\t\tvar $moreIcon = $comment.find('.more')\n\n\t\t\t\t$comment.addClass('disabled')\n\t\t\t\t$loading.removeClass('hidden')\n\t\t\t\t$moreIcon.addClass('hidden')\n\n\t\t\t\t$comment.data('commentEl', $comment)\n\n\t\t\t\tthis.collection.get(commentId).destroy({\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\t$comment.data('commentEl').remove()\n\t\t\t\t\t\t$comment.remove()\n\t\t\t\t\t},\n\t\t\t\t\terror: function() {\n\t\t\t\t\t\t$loading.addClass('hidden')\n\t\t\t\t\t\t$moreIcon.removeClass('hidden')\n\t\t\t\t\t\t$comment.removeClass('disabled')\n\n\t\t\t\t\t\tOC.Notification.showTemporary(t('comments', 'Error occurred while retrieving comment with ID {id}', { id: commentId }))\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\treturn false\n\t\t\t},\n\n\t\t\t_onClickShowMore: function(ev) {\n\t\t\t\tev.preventDefault()\n\t\t\t\tthis.nextPage()\n\t\t\t},\n\n\t\t\t/**\n\t\t * takes care of updating comment element states after submit (either new\n\t\t * comment or edit).\n\t\t *\n\t\t * @param {OC.Backbone.Model} model\n\t\t * @param {jQuery} $form\n\t\t * @private\n\t\t */\n\t\t\t_onSubmitSuccess: function(model, $form) {\n\t\t\t\tvar $submit = $form.find('.submit')\n\t\t\t\tvar $loading = $form.find('.submitLoading')\n\t\t\t\tvar $message = $form.find('.message')\n\n\t\t\t\t$submit.removeClass('hidden')\n\t\t\t\t$loading.addClass('hidden')\n\t\t\t\t$message.prop('contenteditable', true)\n\t\t\t\t$message.text('')\n\t\t\t},\n\n\t\t\t_commentBodyHTML2Plain: function($el) {\n\t\t\t\tvar $comment = $el.clone()\n\n\t\t\t\t$comment.find('.avatar-name-wrapper').each(function() {\n\t\t\t\t\tvar $this = $(this)\n\t\t\t\t\tvar $inserted = $this.parent()\n\t\t\t\t\tvar userId = $this.find('.avatar').data('username').toString()\n\t\t\t\t\tif (userId.indexOf(' ') !== -1) {\n\t\t\t\t\t\t$inserted.html('@\"' + userId + '\"')\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$inserted.html('@' + userId)\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t\t\t$comment.html(OCP.Comments.richToPlain($comment.html()))\n\n\t\t\t\tvar oldHtml\n\t\t\t\tvar html = $comment.html()\n\t\t\t\tdo {\n\t\t\t\t// replace works one by one\n\t\t\t\t\toldHtml = html\n\t\t\t\t\thtml = oldHtml.replace('<br>', '\\n')\t// preserve line breaks\n\t\t\t\t} while (oldHtml !== html)\n\t\t\t\t$comment.html(html)\n\n\t\t\t\treturn $comment.text()\n\t\t\t},\n\n\t\t\t_onSubmitComment: function(e) {\n\t\t\t\tvar self = this\n\t\t\t\tvar $form = $(e.target)\n\t\t\t\tvar commentId = $form.closest('.comment').data('id')\n\t\t\t\tvar currentUser = OC.getCurrentUser()\n\t\t\t\tvar $submit = $form.find('.submit')\n\t\t\t\tvar $loading = $form.find('.submitLoading')\n\t\t\t\tvar $commentField = $form.find('.message')\n\t\t\t\tvar message = $commentField.text().trim()\n\t\t\t\te.preventDefault()\n\n\t\t\t\tif (!message.length || message.length > this._commentMaxLength) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\t$commentField.prop('contenteditable', false)\n\t\t\t\t$submit.addClass('hidden')\n\t\t\t\t$loading.removeClass('hidden')\n\n\t\t\t\tmessage = this._commentBodyHTML2Plain($commentField)\n\t\t\t\tif (commentId) {\n\t\t\t\t\t// edit mode\n\t\t\t\t\tvar comment = this.collection.get(commentId)\n\t\t\t\t\tcomment.save({\n\t\t\t\t\t\tmessage: message\n\t\t\t\t\t}, {\n\t\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\t\tself._onSubmitSuccess(model, $form)\n\t\t\t\t\t\t\tif (model.get('message').trim() === model.previous('message').trim()) {\n\t\t\t\t\t\t\t\t// model change event doesn't trigger, manually remove the row.\n\t\t\t\t\t\t\t\tvar $row = $form.closest('.comment')\n\t\t\t\t\t\t\t\t$row.data('commentEl').removeClass('hidden')\n\t\t\t\t\t\t\t\t$row.remove()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror: function() {\n\t\t\t\t\t\t\tself._onSubmitError($form, commentId)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.collection.create({\n\t\t\t\t\t\tactorId: currentUser.uid,\n\t\t\t\t\t\tactorDisplayName: currentUser.displayName,\n\t\t\t\t\t\tactorType: 'users',\n\t\t\t\t\t\tverb: 'comment',\n\t\t\t\t\t\tmessage: message,\n\t\t\t\t\t\tcreationDateTime: (new Date()).toUTCString()\n\t\t\t\t\t}, {\n\t\t\t\t\t\tat: 0,\n\t\t\t\t\t\t// wait for real creation before adding\n\t\t\t\t\t\twait: true,\n\t\t\t\t\t\tsuccess: function(model) {\n\t\t\t\t\t\t\tself._onSubmitSuccess(model, $form)\n\t\t\t\t\t\t},\n\t\t\t\t\t\terror: function() {\n\t\t\t\t\t\t\tself._onSubmitError($form, undefined)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\treturn false\n\t\t\t},\n\n\t\t\t/**\n\t\t * takes care of updating the UI after an error on submit (either new\n\t\t * comment or edit).\n\t\t *\n\t\t * @param {jQuery} $form\n\t\t * @param {string|undefined} commentId\n\t\t * @private\n\t\t */\n\t\t\t_onSubmitError: function($form, commentId) {\n\t\t\t\t$form.find('.submit').removeClass('hidden')\n\t\t\t\t$form.find('.submitLoading').addClass('hidden')\n\t\t\t\t$form.find('.message').prop('contenteditable', true)\n\n\t\t\t\tif (!_.isUndefined(commentId)) {\n\t\t\t\t\tOC.Notification.show(t('comments', 'Error occurred while updating comment with id {id}', { id: commentId }), { type: 'error' })\n\t\t\t\t} else {\n\t\t\t\t\tOC.Notification.show(t('comments', 'Error occurred while posting comment'), { type: 'error' })\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t * ensures the contenteditable div is really empty, when user removed\n\t\t * all input, so that the placeholder will be shown again\n\t\t *\n\t\t * @private\n\t\t */\n\t\t\t_onTextChange: function() {\n\t\t\t\tvar $message = $('#commentsTabView').find('.newCommentForm div.message')\n\t\t\t\tif (!$message.text().trim().length) {\n\t\t\t\t\t$message.empty()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t * Limit pasting to plain text\n\t\t *\n\t\t * @param e\n\t\t * @private\n\t\t */\n\t\t\t_onPaste: function(e) {\n\t\t\t\te.preventDefault()\n\t\t\t\tvar text = e.originalEvent.clipboardData.getData('text/plain')\n\t\t\t\tdocument.execCommand('insertText', false, text)\n\t\t\t},\n\n\t\t\t/**\n\t\t * Returns whether the given message is long and needs\n\t\t * collapsing\n\t\t */\n\t\t\t_isLong: function(message) {\n\t\t\t\treturn message.length > 250 || (message.match(/\\n/g) || []).length > 1\n\t\t\t}\n\t\t})\n\n\tOCA.Comments.CommentsTabView = CommentsTabView\n})(OC, OCA)\n","import './app'\nimport './templates'\nimport './commentmodel'\nimport './commentcollection'\nimport './commentsummarymodel'\nimport './commentstabview'\nimport './commentsmodifymenu'\nimport './filesplugin'\nimport './activitytabviewplugin'\n\nimport './vendor/Caret.js/dist/jquery.caret.min'\nimport './vendor/At.js/dist/js/jquery.atwho.min'\n\nimport './style/autocomplete.scss'\nimport './style/comments.scss'\n\nwindow.OCA.Comments = OCA.Comments\n"],"sourceRoot":""} |