diff options
Diffstat (limited to 'js/editor-collab.js.map')
-rw-r--r-- | js/editor-collab.js.map | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/js/editor-collab.js.map b/js/editor-collab.js.map index 726d34d29..5da4d89ec 100644 --- a/js/editor-collab.js.map +++ b/js/editor-collab.js.map @@ -1 +1 @@ -{"version":3,"file":"editor-collab.js?v=7c365e98665bd2477a4a","mappings":"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","sources":["webpack:///text/src/components/SessionList.vue?vue&type=style&index=0&id=9dc4ac6e&scoped=true&lang=scss&","webpack:///text/src/components/SessionList.vue?vue&type=template&id=9dc4ac6e&scoped=true&","webpack:///text/src/components/SessionList.vue","webpack:///text/src/components/SessionList.vue?vue&type=script&lang=js&","webpack://text/./src/components/SessionList.vue?944e","webpack://text/./src/components/SessionList.vue?8f30"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".avatar-list[data-v-9dc4ac6e]{border:none;background-color:var(--color-main-background);padding:0;margin:0;padding-left:6px;display:inline-flex;flex-direction:row-reverse}.avatar-list[data-v-9dc4ac6e]:focus{background-color:#eee}.avatar-list .avatar-wrapper[data-v-9dc4ac6e]{margin:0 -8px 0 0;height:44px;width:44px}.avatar-list .icon-more[data-v-9dc4ac6e],.avatar-list .icon-group[data-v-9dc4ac6e],.avatar-list .icon-settings-dark[data-v-9dc4ac6e]{background-color:var(--color-background-dark);width:44px;height:44px;margin:0 6px 0 0}.avatar-wrapper[data-v-9dc4ac6e]{z-index:1;border-radius:50%;overflow:hidden;box-sizing:content-box !important}.session-menu[data-v-9dc4ac6e]{max-width:280px;padding-top:6px;padding-bottom:6px}.session-menu ul li[data-v-9dc4ac6e]{align-items:center;display:flex;padding:6px}.session-menu ul li .avatar-wrapper[data-v-9dc4ac6e]{height:32px;width:32px;margin-right:6px}label[data-v-9dc4ac6e]{display:block;margin:8px}.hint[data-v-9dc4ac6e]{margin:8px;color:var(--color-text-maxcontrast)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/SessionList.vue\"],\"names\":[],\"mappings\":\"AAyJA,8BACC,WAAA,CACA,6CAAA,CACA,SAAA,CACA,QAAA,CACA,gBAAA,CACA,mBAAA,CACA,0BAAA,CAEA,oCACC,qBAAA,CAGD,8CACC,iBAAA,CACA,WAAA,CACA,UAAA,CAGD,qIACC,6CAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CAIF,iCACC,SAAA,CACA,iBAAA,CACA,eAAA,CACA,iCAAA,CAGD,+BACC,eAAA,CACA,eAAA,CACA,kBAAA,CAEA,qCACC,kBAAA,CACA,YAAA,CACA,WAAA,CAEA,qDACC,WAAA,CACA,UAAA,CACA,gBAAA,CAKH,uBACC,aAAA,CACA,UAAA,CAGD,uBACC,UAAA,CACA,mCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatar-list {\\n\\tborder: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tpadding-left: 6px;\\n\\tdisplay: inline-flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t&:focus {\\n\\t\\tbackground-color: #eee;\\n\\t}\\n\\n\\t.avatar-wrapper {\\n\\t\\tmargin: 0 -8px 0 0;\\n\\t\\theight: 44px;\\n\\t\\twidth: 44px;\\n\\t}\\n\\n\\t.icon-more, .icon-group, .icon-settings-dark {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0 6px 0 0;\\n\\t}\\n}\\n\\n.avatar-wrapper {\\n\\tz-index: 1;\\n\\tborder-radius: 50%;\\n\\toverflow: hidden;\\n\\tbox-sizing: content-box !important;\\n}\\n\\n.session-menu {\\n\\tmax-width: 280px;\\n\\tpadding-top: 6px;\\n\\tpadding-bottom: 6px;\\n\\n\\tul li {\\n\\t\\talign-items: center;\\n\\t\\tdisplay: flex;\\n\\t\\tpadding: 6px;\\n\\n\\t\\t.avatar-wrapper {\\n\\t\\t\\theight: 32px;\\n\\t\\t\\twidth: 32px;\\n\\t\\t\\tmargin-right: 6px;\\n\\t\\t}\\n\\t}\\n}\\n\\nlabel {\\n\\tdisplay: block;\\n\\tmargin: 8px;\\n}\\n\\n.hint {\\n\\tmargin: 8px;\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{staticClass:\"session-list\",attrs:{\"placement\":\"top\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"session-menu\"},[_c('ul',[_vm._t(\"default\"),_vm._v(\" \"),_vm._l((_vm.participantsPopover),function(session){return _c('li',{key:session.id,style:(_vm.avatarStyle(session))},[_c('div',{staticClass:\"avatar-wrapper\",style:(_vm.sessionStyle(session))},[_c('Avatar',{attrs:{\"user\":session.userId ? session.userId : session.guestName,\"is-guest\":session.userId === null,\"disable-menu\":true,\"show-user-status\":false,\"disable-tooltip\":true,\"size\":32}})],1),_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(session.guestName ? session.guestName : session.displayName)+\"\\n\\t\\t\\t\\t\")])})],2),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showAuthorAnnotations),expression:\"showAuthorAnnotations\"}],staticClass:\"checkbox\",attrs:{\"id\":\"toggle-color-annotations\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showAuthorAnnotations)?_vm._i(_vm.showAuthorAnnotations,null)>-1:(_vm.showAuthorAnnotations)},on:{\"change\":function($event){var $$a=_vm.showAuthorAnnotations,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showAuthorAnnotations=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showAuthorAnnotations=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showAuthorAnnotations=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"toggle-color-annotations\"}},[_vm._v(_vm._s(_vm.t('text', 'Show author colors')))]),_vm._v(\" \"),_c('p',{staticClass:\"hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Author colors are only shown until everyone has closed the document.'))+\"\\n\\t\\t\\t\")])])]},proxy:true}],null,true)},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.bottom\",value:(_vm.t('text', 'Participants')),expression:\"t('text', 'Participants')\",modifiers:{\"bottom\":true}}],staticClass:\"avatar-list\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('div',{staticClass:\"avatardiv icon-group\"}),_vm._v(\" \"),_vm._l((_vm.sessionsVisible),function(session){return _c('div',{key:session.id,staticClass:\"avatar-wrapper\",style:(_vm.sessionStyle(session))},[_c('Avatar',{style:(_vm.avatarStyle(session)),attrs:{\"user\":session.userId ? session.userId : session.guestName,\"is-guest\":session.userId === null,\"disable-menu\":true,\"show-user-status\":false,\"disable-tooltip\":true,\"size\":44}})],1)})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Popover class=\"session-list\" placement=\"top\">\n\t\t<button slot=\"trigger\"\n\t\t\tv-tooltip.bottom=\"t('text', 'Participants')\"\n\t\t\tclass=\"avatar-list\">\n\t\t\t<div class=\"avatardiv icon-group\" />\n\t\t\t<div v-for=\"session in sessionsVisible\"\n\t\t\t\t:key=\"session.id\"\n\t\t\t\tclass=\"avatar-wrapper\"\n\t\t\t\t:style=\"sessionStyle(session)\">\n\t\t\t\t<Avatar :style=\"avatarStyle(session)\"\n\t\t\t\t\t:user=\"session.userId ? session.userId : session.guestName\"\n\t\t\t\t\t:is-guest=\"session.userId === null\"\n\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t:size=\"44\" />\n\t\t\t</div>\n\t\t</button>\n\t\t<template #default>\n\t\t\t<div class=\"session-menu\">\n\t\t\t\t<ul>\n\t\t\t\t\t<slot />\n\t\t\t\t\t<li v-for=\"session in participantsPopover\"\n\t\t\t\t\t\t:key=\"session.id\"\n\t\t\t\t\t\t:style=\"avatarStyle(session)\">\n\t\t\t\t\t\t<div class=\"avatar-wrapper\"\n\t\t\t\t\t\t\t:style=\"sessionStyle(session)\">\n\t\t\t\t\t\t\t<Avatar :user=\"session.userId ? session.userId : session.guestName\"\n\t\t\t\t\t\t\t\t:is-guest=\"session.userId === null\"\n\t\t\t\t\t\t\t\t:disable-menu=\"true\"\n\t\t\t\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t\t\t\t:disable-tooltip=\"true\"\n\t\t\t\t\t\t\t\t:size=\"32\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{{ session.guestName ? session.guestName : session.displayName }}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<input id=\"toggle-color-annotations\"\n\t\t\t\t\tv-model=\"showAuthorAnnotations\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"toggle-color-annotations\">{{ t('text', 'Show author colors') }}</label>\n\t\t\t\t<p class=\"hint\">\n\t\t\t\t\t{{ t('text', 'Author colors are only shown until everyone has closed the document.') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</template>\n\t</Popover>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Popover from '@nextcloud/vue/dist/Components/Popover'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\nimport store from '../mixins/store.js'\n\nconst COLLABORATOR_IDLE_TIME = 60\nconst COLLABORATOR_DISCONNECT_TIME = 90\n\nexport default {\n\tname: 'SessionList',\n\tcomponents: {\n\t\tAvatar,\n\t\tPopover,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tmixins: [store],\n\tprops: {\n\t\tsessions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmyName: '',\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowAuthorAnnotations: {\n\t\t\tget() {\n\t\t\t\treturn this.$store.state.showAuthorAnnotations\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$store.dispatch('setShowAuthorAnnotations', value)\n\t\t\t},\n\t\t},\n\t\tparticipantsPopover() {\n\t\t\tif (this.currentSession.guestName) {\n\t\t\t\treturn this.participantsWithoutCurrent\n\t\t\t}\n\t\t\treturn this.participants\n\t\t},\n\t\tparticipantsWithoutCurrent() {\n\t\t\treturn this.participants.filter((session) => !session.isCurrent)\n\t\t},\n\t\tparticipants() {\n\t\t\treturn Object.values(this.sessions).filter((session) =>\n\t\t\t\tsession.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME\n\t\t\t\t\t&& (session.userId !== null || session.guestName !== null)\n\t\t\t).sort((a, b) => a.lastContact < b.lastContact)\n\t\t},\n\t\tcurrentSession() {\n\t\t\treturn Object.values(this.sessions).find((session) => session.isCurrent)\n\t\t},\n\t\tsessionStyle() {\n\t\t\treturn (session) => {\n\t\t\t\treturn {\n\t\t\t\t\t'border-color': session.color,\n\t\t\t\t\t'background-color': session.color + ' !important',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tavatarStyle() {\n\t\t\treturn (session) => {\n\t\t\t\treturn {\n\t\t\t\t\topacity: session.lastContact > Date.now() / 1000 - COLLABORATOR_IDLE_TIME ? 1 : 0.5,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsessionsVisible() {\n\t\t\treturn this.participantsWithoutCurrent.slice(0, 3)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.avatar-list {\n\t\tborder: none;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tpadding-left: 6px;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row-reverse;\n\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\n\t\t.avatar-wrapper {\n\t\t\tmargin: 0 -8px 0 0;\n\t\t\theight: 44px;\n\t\t\twidth: 44px;\n\t\t}\n\n\t\t.icon-more, .icon-group, .icon-settings-dark {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\twidth: 44px;\n\t\t\theight: 44px;\n\t\t\tmargin: 0 6px 0 0;\n\t\t}\n\t}\n\n\t.avatar-wrapper {\n\t\tz-index: 1;\n\t\tborder-radius: 50%;\n\t\toverflow: hidden;\n\t\tbox-sizing: content-box !important;\n\t}\n\n\t.session-menu {\n\t\tmax-width: 280px;\n\t\tpadding-top: 6px;\n\t\tpadding-bottom: 6px;\n\n\t\tul li {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tpadding: 6px;\n\n\t\t\t.avatar-wrapper {\n\t\t\t\theight: 32px;\n\t\t\t\twidth: 32px;\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\t\t}\n\t}\n\n\tlabel {\n\t\tdisplay: block;\n\t\tmargin: 8px;\n\t}\n\n\t.hint {\n\t\tmargin: 8px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=9dc4ac6e&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=9dc4ac6e&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SessionList.vue?vue&type=template&id=9dc4ac6e&scoped=true&\"\nimport script from \"./SessionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SessionList.vue?vue&type=style&index=0&id=9dc4ac6e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9dc4ac6e\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","components","Avatar","Popover","directives","tooltip","mixins","props","sessions","type","default","data","myName","computed","showAuthorAnnotations","get","set","value","participantsPopover","participantsWithoutCurrent","participants","session","sort","currentSession","sessionStyle","avatarStyle","opacity","sessionsVisible","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","scopedSlots","_u","key","fn","_t","_v","_l","style","userId","guestName","_s","displayName","rawName","expression","domProps","Array","isArray","_i","on","$event","$$a","$$el","target","$$c","checked","$$i","concat","slice","t","proxy","modifiers","slot"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"editor-collab.js?v=5b0096eb99df516d5f14","mappings":"kLAGIA,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,uNAAwN,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,gGAAgG,eAAiB,CAAC,0VAA0V,WAAa,MAE3zB,W,oECJIH,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,onCAAqnC,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8CAA8C,MAAQ,GAAG,SAAW,gaAAga,eAAiB,CAAC,42CAA42C,WAAa,MAExiG,W,iCCPA,I,ksBCiBA,MCjB8K,EDiB9K,CACAC,KAAAA,gBACAC,WAAAA,CACAC,O,MAAAA,IAEAC,MAAAA,CACAC,QAAAA,CACAC,KAAAA,OACAC,UAAAA,GAEAC,KAAAA,CACAF,KAAAA,OACAG,QAAAA,WAAA,aAGAC,SAAAA,CACAC,mBADA,WAEA,cACA,6BADA,IAEA,kCACA,qBACA,uBACA,wBACA,kCAGAC,uBAXA,WAYA,OACA,oFAGAC,aAhBA,WAiBA,yF,qIEtCIC,EAAU,GAEdA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,E,SAAA,GACd,GJTW,WAAa,IAAIM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,iBAAiBC,MAAOP,EAAsB,oBAAG,CAAEA,EAAIf,QAAc,OAAEmB,EAAG,SAAS,CAACI,MAAM,CAAC,KAAOR,EAAIf,QAAQwB,OAAST,EAAIf,QAAQwB,OAAST,EAAIf,QAAQyB,UAAU,WAAkC,OAAvBV,EAAIf,QAAQwB,OAAgB,gBAAe,EAAK,oBAAmB,EAAM,mBAAkB,EAAK,KAAOT,EAAIZ,QAAQgB,EAAG,MAAM,CAACE,YAAY,SAASC,MAAOP,EAA0B,wBAAG,CAACA,EAAIW,GAAG,SAASX,EAAIY,GAAGZ,EAAIP,cAAc,WAAW,KACxf,IIWpB,EACA,KACA,WACA,MAI8B,S,8CCnBhC,I,8DCqEA,MCrE4K,EDqE5K,CACAZ,KAAAA,cACAC,WAAAA,CACA+B,cAAAA,EAAAA,EACAC,QAAAA,KAEAC,WAAAA,CACAC,QAAAA,KAEAC,OAAAA,CAAAA,EAAAA,GACAjC,MAAAA,CACAkC,SAAAA,CACAhC,KAAAA,OACAG,QAAAA,WAAA,YAGA8B,KAhBA,WAiBA,OACAC,OAAAA,KAGA9B,SAAAA,CACA+B,sBAAAA,CACAC,IADA,WAEA,gDAEAC,IAJA,SAIAC,GACA,qDAGAC,oBATA,WAUA,qCACA,gCAEA,mBAEAC,2BAfA,WAgBA,oEAEAC,aAlBA,WAmBA,+DACA1C,EAAAA,YAAAA,KAAAA,MAAAA,IA3CA,KA4CAA,OAAAA,EAAAA,QAAAA,OAAAA,EAAAA,cACA2C,MAAA,qDAEAC,eAxBA,WAyBA,6EAEAC,YA3BA,WA4BA,mBACA,OACAC,QAAAA,EAAAA,YAAAA,KAAAA,MAAAA,IAtDA,GAsDAA,EAAAA,MAIAC,gBAlCA,WAmCA,qD,qIElHItC,EAAU,GAEdA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,YAAiB,WCPlD,SAXgB,E,SAAA,GACd,GJTW,WAAa,IAAIM,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACE,YAAY,eAAeE,MAAM,CAAC,UAAY,UAAUyB,YAAYjC,EAAIkC,GAAG,CAAC,CAACC,IAAI,UAAUC,GAAG,WAAW,MAAO,CAAChC,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,KAAK,CAACJ,EAAIqC,GAAG,WAAWrC,EAAIW,GAAG,KAAKX,EAAIsC,GAAItC,EAAuB,qBAAE,SAASf,GAAS,OAAOmB,EAAG,KAAK,CAAC+B,IAAIlD,EAAQL,GAAG2B,MAAOP,EAAI8B,YAAY7C,IAAW,CAACmB,EAAG,gBAAgB,CAACI,MAAM,CAAC,QAAUvB,EAAQ,KAAO,MAAMe,EAAIW,GAAG,KAAKP,EAAG,OAAO,CAACE,YAAY,iBAAiB,CAACN,EAAIW,GAAG,iBAAiBX,EAAIY,GAAG3B,EAAQwB,OAASxB,EAAQsD,YAAetD,EAAQyB,UAAYzB,EAAQyB,UAAYV,EAAIwC,EAAE,OAAQ,UAAW,kBAAkBxC,EAAIW,GAAG,KAAyB,OAAnB1B,EAAQwB,OAAiBL,EAAG,OAAO,CAACE,YAAY,eAAe,CAACN,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIwC,EAAE,OAAQ,UAAU,OAAOxC,EAAIyC,MAAM,OAAM,GAAGzC,EAAIW,GAAG,KAAKP,EAAG,QAAQ,CAACW,WAAW,CAAC,CAAClC,KAAK,QAAQ6D,QAAQ,UAAUlB,MAAOxB,EAAyB,sBAAE2C,WAAW,0BAA0BrC,YAAY,WAAWE,MAAM,CAAC,GAAK,2BAA2B,KAAO,YAAYoC,SAAS,CAAC,QAAUC,MAAMC,QAAQ9C,EAAIqB,uBAAuBrB,EAAI+C,GAAG/C,EAAIqB,sBAAsB,OAAO,EAAGrB,EAAyB,uBAAGgD,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIC,EAAIlD,EAAIqB,sBAAsB8B,EAAKF,EAAOG,OAAOC,IAAIF,EAAKG,QAAuB,GAAGT,MAAMC,QAAQI,GAAK,CAAC,IAAaK,EAAIvD,EAAI+C,GAAGG,EAAhB,MAA4BC,EAAKG,QAASC,EAAI,IAAIvD,EAAIqB,sBAAsB6B,EAAIM,OAAO,CAAvF,QAAoGD,GAAK,IAAIvD,EAAIqB,sBAAsB6B,EAAIO,MAAM,EAAEF,GAAKC,OAAON,EAAIO,MAAMF,EAAI,UAAWvD,EAAIqB,sBAAsBgC,MAASrD,EAAIW,GAAG,KAAKP,EAAG,QAAQ,CAACI,MAAM,CAAC,IAAM,6BAA6B,CAACR,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIwC,EAAE,OAAQ,0BAA0BxC,EAAIW,GAAG,KAAKP,EAAG,IAAI,CAACE,YAAY,QAAQ,CAACN,EAAIW,GAAG,aAAaX,EAAIY,GAAGZ,EAAIwC,EAAE,OAAQ,yEAAyE,kBAAkBkB,OAAM,IAAO,MAAK,IAAO,CAACtD,EAAG,SAAS,CAACW,WAAW,CAAC,CAAClC,KAAK,UAAU6D,QAAQ,mBAAmBlB,MAAOxB,EAAIwC,EAAE,OAAQ,gBAAiBG,WAAW,4BAA4BgB,UAAU,CAAC,QAAS,KAAQrD,YAAY,cAAcE,MAAM,CAAC,KAAO,WAAWoD,KAAK,WAAW,CAACxD,EAAG,MAAM,CAACE,YAAY,yBAAyBN,EAAIW,GAAG,KAAKX,EAAIsC,GAAItC,EAAmB,iBAAE,SAASf,GAAS,OAAOmB,EAAG,gBAAgB,CAAC+B,IAAIlD,EAAQL,GAAG4B,MAAM,CAAC,QAAUvB,EAAQ,KAAO,UAAS,OACjuE,IIWpB,EACA,KACA,WACA,MAI8B","sources":["webpack:///text/src/components/AvatarWrapper.vue?vue&type=style&index=0&id=759e121d&lang=scss&scoped=true&","webpack:///text/src/components/SessionList.vue?vue&type=style&index=0&id=141e6de9&scoped=true&lang=scss&","webpack:///text/src/components/AvatarWrapper.vue?vue&type=template&id=759e121d&scoped=true&","webpack:///text/src/components/AvatarWrapper.vue","webpack:///text/src/components/AvatarWrapper.vue?vue&type=script&lang=js&","webpack://text/./src/components/AvatarWrapper.vue?6d45","webpack://text/./src/components/AvatarWrapper.vue?bc6e","webpack:///text/src/components/SessionList.vue?vue&type=template&id=141e6de9&scoped=true&","webpack:///text/src/components/SessionList.vue","webpack:///text/src/components/SessionList.vue?vue&type=script&lang=js&","webpack://text/./src/components/SessionList.vue?f6f6","webpack://text/./src/components/SessionList.vue?8f30"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".avatar[data-v-759e121d],.avatar-wrapper[data-v-759e121d]{border-radius:50%;width:var(--size);height:var(--size);text-align:center;color:#fff;line-height:var(--size);font-size:var(--font-size);font-weight:normal}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/AvatarWrapper.vue\"],\"names\":[],\"mappings\":\"AAyDA,0DACC,iBAAA,CACA,iBAAA,CACA,kBAAA,CACA,iBAAA,CACA,UAAA,CACA,uBAAA,CACA,0BAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatar, .avatar-wrapper {\\n\\tborder-radius: 50%;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\ttext-align: center;\\n\\tcolor: #ffffff;\\n\\tline-height: var(--size);\\n\\tfont-size: var(--font-size);\\n\\tfont-weight: normal;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".avatar-list[data-v-141e6de9]{border:none;background-color:var(--color-main-background);padding:0;margin:0;padding-left:6px;display:inline-flex;flex-direction:row-reverse}.avatar-list[data-v-141e6de9]:focus{background-color:#eee}.avatar-list .avatar-wrapper[data-v-141e6de9]{margin:0 -8px 0 0;z-index:1;border-radius:50%;overflow:hidden;box-sizing:content-box !important}.avatar-list .icon-more[data-v-141e6de9],.avatar-list .icon-group[data-v-141e6de9],.avatar-list .icon-settings-dark[data-v-141e6de9]{background-color:var(--color-background-dark);width:44px;height:44px;margin:0 6px 0 0}.session-menu[data-v-141e6de9]{max-width:280px;padding-top:6px;padding-bottom:6px}.session-menu ul li[data-v-141e6de9]{align-items:center;display:flex;padding:6px}.session-menu ul li .avatar-wrapper[data-v-141e6de9]{height:32px;width:32px;margin-right:6px}.session-menu ul li .session-label[data-v-141e6de9]{padding-right:3px}.session-menu ul li .guest-label[data-v-141e6de9]{padding-left:3px;color:var(--color-text-maxcontrast)}label[data-v-141e6de9]{display:block;margin:8px}.hint[data-v-141e6de9]{margin:8px;color:var(--color-text-maxcontrast)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/SessionList.vue\"],\"names\":[],\"mappings\":\"AAoIA,8BACC,WAAA,CACA,6CAAA,CACA,SAAA,CACA,QAAA,CACA,gBAAA,CACA,mBAAA,CACA,0BAAA,CAEA,oCACC,qBAAA,CAGD,8CACC,iBAAA,CACA,SAAA,CACA,iBAAA,CACA,eAAA,CACA,iCAAA,CAGD,qIACC,6CAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CAIF,+BACC,eAAA,CACA,eAAA,CACA,kBAAA,CAEA,qCACC,kBAAA,CACA,YAAA,CACA,WAAA,CAEA,qDACC,WAAA,CACA,UAAA,CACA,gBAAA,CAGD,oDACC,iBAAA,CAED,kDACC,gBAAA,CACA,mCAAA,CAKH,uBACC,aAAA,CACA,UAAA,CAGD,uBACC,UAAA,CACA,mCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatar-list {\\n\\tborder: none;\\n\\tbackground-color: var(--color-main-background);\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tpadding-left: 6px;\\n\\tdisplay: inline-flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t&:focus {\\n\\t\\tbackground-color: #eee;\\n\\t}\\n\\n\\t.avatar-wrapper {\\n\\t\\tmargin: 0 -8px 0 0;\\n\\t\\tz-index: 1;\\n\\t\\tborder-radius: 50%;\\n\\t\\toverflow: hidden;\\n\\t\\tbox-sizing: content-box !important;\\n\\t}\\n\\n\\t.icon-more, .icon-group, .icon-settings-dark {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\twidth: 44px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 0 6px 0 0;\\n\\t}\\n}\\n\\n.session-menu {\\n\\tmax-width: 280px;\\n\\tpadding-top: 6px;\\n\\tpadding-bottom: 6px;\\n\\n\\tul li {\\n\\t\\talign-items: center;\\n\\t\\tdisplay: flex;\\n\\t\\tpadding: 6px;\\n\\n\\t\\t.avatar-wrapper {\\n\\t\\t\\theight: 32px;\\n\\t\\t\\twidth: 32px;\\n\\t\\t\\tmargin-right: 6px;\\n\\t\\t}\\n\\n\\t\\t.session-label {\\n\\t\\t\\tpadding-right: 3px;\\n\\t\\t}\\n\\t\\t.guest-label {\\n\\t\\t\\tpadding-left: 3px;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n}\\n\\nlabel {\\n\\tdisplay: block;\\n\\tmargin: 8px;\\n}\\n\\n.hint {\\n\\tmargin: 8px;\\n\\tcolor: var(--color-text-maxcontrast);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatar-wrapper\",style:(_vm.sessionAvatarStyle)},[(_vm.session.userId)?_c('Avatar',{attrs:{\"user\":_vm.session.userId ? _vm.session.userId : _vm.session.guestName,\"is-guest\":_vm.session.userId === null,\"disable-menu\":true,\"show-user-status\":false,\"disable-tooltip\":true,\"size\":_vm.size}}):_c('div',{staticClass:\"avatar\",style:(_vm.sessionBackgroundStyle)},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.guestInitial)+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"avatar-wrapper\" :style=\"sessionAvatarStyle\">\n\t\t<Avatar v-if=\"session.userId\"\n\t\t\t:user=\"session.userId ? session.userId : session.guestName\"\n\t\t\t:is-guest=\"session.userId === null\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:show-user-status=\"false\"\n\t\t\t:disable-tooltip=\"true\"\n\t\t\t:size=\"size\" />\n\t\t<div v-else class=\"avatar\" :style=\"sessionBackgroundStyle\">\n\t\t\t{{ guestInitial }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nexport default {\n\tname: 'AvatarWrapper',\n\tcomponents: {\n\t\tAvatar,\n\t},\n\tprops: {\n\t\tsession: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: () => 32,\n\t\t},\n\t},\n\tcomputed: {\n\t\tsessionAvatarStyle() {\n\t\t\treturn {\n\t\t\t\t...this.sessionBackgroundStyle,\n\t\t\t\t'border-color': this.session.color,\n\t\t\t\t'border-width': '2px',\n\t\t\t\t'border-style': 'solid',\n\t\t\t\t'--size': this.size + 'px',\n\t\t\t\t'--font-size': this.size / 2 + 'px',\n\t\t\t}\n\t\t},\n\t\tsessionBackgroundStyle() {\n\t\t\treturn {\n\t\t\t\t'background-color': this.session.userId ? this.session.color + ' !important' : '#b9b9b9',\n\t\t\t}\n\t\t},\n\t\tguestInitial() {\n\t\t\treturn this.session.guestName === '' ? '?' : this.session.guestName.slice(0, 1).toUpperCase()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.avatar, .avatar-wrapper {\n\tborder-radius: 50%;\n\twidth: var(--size);\n\theight: var(--size);\n\ttext-align: center;\n\tcolor: #ffffff;\n\tline-height: var(--size);\n\tfont-size: var(--font-size);\n\tfont-weight: normal;\n}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarWrapper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarWrapper.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarWrapper.vue?vue&type=style&index=0&id=759e121d&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarWrapper.vue?vue&type=style&index=0&id=759e121d&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarWrapper.vue?vue&type=template&id=759e121d&scoped=true&\"\nimport script from \"./AvatarWrapper.vue?vue&type=script&lang=js&\"\nexport * from \"./AvatarWrapper.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvatarWrapper.vue?vue&type=style&index=0&id=759e121d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"759e121d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popover',{staticClass:\"session-list\",attrs:{\"placement\":\"bottom\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"session-menu\"},[_c('ul',[_vm._t(\"default\"),_vm._v(\" \"),_vm._l((_vm.participantsPopover),function(session){return _c('li',{key:session.id,style:(_vm.avatarStyle(session))},[_c('AvatarWrapper',{attrs:{\"session\":session,\"size\":32}}),_vm._v(\" \"),_c('span',{staticClass:\"session-label\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(session.userId ? session.displayName : (session.guestName ? session.guestName : _vm.t('text', 'Guest')))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),(session.userId === null)?_c('span',{staticClass:\"guest-label\"},[_vm._v(\"(\"+_vm._s(_vm.t('text', 'guest'))+\")\")]):_vm._e()],1)})],2),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.showAuthorAnnotations),expression:\"showAuthorAnnotations\"}],staticClass:\"checkbox\",attrs:{\"id\":\"toggle-color-annotations\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.showAuthorAnnotations)?_vm._i(_vm.showAuthorAnnotations,null)>-1:(_vm.showAuthorAnnotations)},on:{\"change\":function($event){var $$a=_vm.showAuthorAnnotations,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.showAuthorAnnotations=$$a.concat([$$v]))}else{$$i>-1&&(_vm.showAuthorAnnotations=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.showAuthorAnnotations=$$c}}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"toggle-color-annotations\"}},[_vm._v(_vm._s(_vm.t('text', 'Show author colors')))]),_vm._v(\" \"),_c('p',{staticClass:\"hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('text', 'Author colors are only shown until everyone has closed the document.'))+\"\\n\\t\\t\\t\")])])]},proxy:true}],null,true)},[_c('button',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.bottom\",value:(_vm.t('text', 'Participants')),expression:\"t('text', 'Participants')\",modifiers:{\"bottom\":true}}],staticClass:\"avatar-list\",attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('div',{staticClass:\"avatardiv icon-group\"}),_vm._v(\" \"),_vm._l((_vm.sessionsVisible),function(session){return _c('AvatarWrapper',{key:session.id,attrs:{\"session\":session,\"size\":40}})})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Popover class=\"session-list\" placement=\"bottom\">\n\t\t<button slot=\"trigger\"\n\t\t\tv-tooltip.bottom=\"t('text', 'Participants')\"\n\t\t\tclass=\"avatar-list\">\n\t\t\t<div class=\"avatardiv icon-group\" />\n\t\t\t<AvatarWrapper v-for=\"session in sessionsVisible\"\n\t\t\t\t:key=\"session.id\"\n\t\t\t\t:session=\"session\"\n\t\t\t\t:size=\"40\" />\n\t\t</button>\n\t\t<template #default>\n\t\t\t<div class=\"session-menu\">\n\t\t\t\t<ul>\n\t\t\t\t\t<slot />\n\t\t\t\t\t<li v-for=\"session in participantsPopover\"\n\t\t\t\t\t\t:key=\"session.id\"\n\t\t\t\t\t\t:style=\"avatarStyle(session)\">\n\t\t\t\t\t\t<AvatarWrapper :session=\"session\" :size=\"32\" />\n\t\t\t\t\t\t<span class=\"session-label\">\n\t\t\t\t\t\t\t{{ session.userId ? session.displayName : (session.guestName ? session.guestName : t('text', 'Guest')) }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span v-if=\"session.userId === null\" class=\"guest-label\">({{ t('text', 'guest') }})</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t\t<input id=\"toggle-color-annotations\"\n\t\t\t\t\tv-model=\"showAuthorAnnotations\"\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\tclass=\"checkbox\">\n\t\t\t\t<label for=\"toggle-color-annotations\">{{ t('text', 'Show author colors') }}</label>\n\t\t\t\t<p class=\"hint\">\n\t\t\t\t\t{{ t('text', 'Author colors are only shown until everyone has closed the document.') }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</template>\n\t</Popover>\n</template>\n\n<script>\nimport Popover from '@nextcloud/vue/dist/Components/Popover'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\nimport AvatarWrapper from './AvatarWrapper.vue'\nimport store from '../mixins/store.js'\n\nconst COLLABORATOR_IDLE_TIME = 60\nconst COLLABORATOR_DISCONNECT_TIME = 90\n\nexport default {\n\tname: 'SessionList',\n\tcomponents: {\n\t\tAvatarWrapper,\n\t\tPopover,\n\t},\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\tmixins: [store],\n\tprops: {\n\t\tsessions: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => { return {} },\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmyName: '',\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowAuthorAnnotations: {\n\t\t\tget() {\n\t\t\t\treturn this.$store.state.showAuthorAnnotations\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.$store.dispatch('setShowAuthorAnnotations', value)\n\t\t\t},\n\t\t},\n\t\tparticipantsPopover() {\n\t\t\tif (this.currentSession.guestName) {\n\t\t\t\treturn this.participantsWithoutCurrent\n\t\t\t}\n\t\t\treturn this.participants\n\t\t},\n\t\tparticipantsWithoutCurrent() {\n\t\t\treturn this.participants.filter((session) => !session.isCurrent)\n\t\t},\n\t\tparticipants() {\n\t\t\treturn Object.values(this.sessions).filter((session) =>\n\t\t\t\tsession.lastContact > Date.now() / 1000 - COLLABORATOR_DISCONNECT_TIME\n\t\t\t\t\t&& (session.userId !== null || session.guestName !== null)\n\t\t\t).sort((a, b) => a.lastContact < b.lastContact)\n\t\t},\n\t\tcurrentSession() {\n\t\t\treturn Object.values(this.sessions).find((session) => session.isCurrent)\n\t\t},\n\t\tavatarStyle() {\n\t\t\treturn (session) => {\n\t\t\t\treturn {\n\t\t\t\t\topacity: session.lastContact > Date.now() / 1000 - COLLABORATOR_IDLE_TIME ? 1 : 0.5,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsessionsVisible() {\n\t\t\treturn this.participantsWithoutCurrent.slice(0, 3)\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.avatar-list {\n\t\tborder: none;\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tpadding-left: 6px;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: row-reverse;\n\n\t\t&:focus {\n\t\t\tbackground-color: #eee;\n\t\t}\n\n\t\t.avatar-wrapper {\n\t\t\tmargin: 0 -8px 0 0;\n\t\t\tz-index: 1;\n\t\t\tborder-radius: 50%;\n\t\t\toverflow: hidden;\n\t\t\tbox-sizing: content-box !important;\n\t\t}\n\n\t\t.icon-more, .icon-group, .icon-settings-dark {\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\twidth: 44px;\n\t\t\theight: 44px;\n\t\t\tmargin: 0 6px 0 0;\n\t\t}\n\t}\n\n\t.session-menu {\n\t\tmax-width: 280px;\n\t\tpadding-top: 6px;\n\t\tpadding-bottom: 6px;\n\n\t\tul li {\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t\tpadding: 6px;\n\n\t\t\t.avatar-wrapper {\n\t\t\t\theight: 32px;\n\t\t\t\twidth: 32px;\n\t\t\t\tmargin-right: 6px;\n\t\t\t}\n\n\t\t\t.session-label {\n\t\t\t\tpadding-right: 3px;\n\t\t\t}\n\t\t\t.guest-label {\n\t\t\t\tpadding-left: 3px;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t}\n\n\tlabel {\n\t\tdisplay: block;\n\t\tmargin: 8px;\n\t}\n\n\t.hint {\n\t\tmargin: 8px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=141e6de9&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionList.vue?vue&type=style&index=0&id=141e6de9&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SessionList.vue?vue&type=template&id=141e6de9&scoped=true&\"\nimport script from \"./SessionList.vue?vue&type=script&lang=js&\"\nexport * from \"./SessionList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SessionList.vue?vue&type=style&index=0&id=141e6de9&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"141e6de9\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","name","components","Avatar","props","session","type","required","size","default","computed","sessionAvatarStyle","sessionBackgroundStyle","guestInitial","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_h","$createElement","_c","_self","staticClass","style","attrs","userId","guestName","_v","_s","AvatarWrapper","Popover","directives","tooltip","mixins","sessions","data","myName","showAuthorAnnotations","get","set","value","participantsPopover","participantsWithoutCurrent","participants","sort","currentSession","avatarStyle","opacity","sessionsVisible","scopedSlots","_u","key","fn","_t","_l","displayName","t","_e","rawName","expression","domProps","Array","isArray","_i","on","$event","$$a","$$el","target","$$c","checked","$$i","concat","slice","proxy","modifiers","slot"],"sourceRoot":""}
\ No newline at end of file |