{"version":3,"sources":["webpack:///./src/components/FormDialog.vue?13e0","webpack:///./src/components/FormDialog.vue","webpack:///./src/components/FormDialog.vue?f706","webpack:///./src/components/FormDialog.vue?74ed","webpack:///./node_modules/vuetify-loader/lib/runtime/installDirectives.js","webpack:///./src/components/FormDialog.vue?4116","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///./src/views/Discussions.vue?69e8","webpack:///./src/views/Discussions.vue","webpack:///./src/views/Discussions.vue?1a14","webpack:///./src/views/Discussions.vue?6c7b"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","isOpen","width","on","close","_v","_s","title","DOCEO_ICONS","CLOSE","ref","lazyValidation","submit","model","value","callback","$$v","isValid","expression","_t","isSubmitting","staticClass","buttonText","staticRenderFns","extend","name","components","DoceoIcon","props","persistent","Boolean","type","required","String","default","data","computed","methods","$emit","form","$refs","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VDialog","VDivider","VForm","VRow","VSpacer","module","exports","directives","options","extendOptions","i","baseMixins","autoGrow","noResize","rowHeight","Number","validator","v","isNaN","parseFloat","rows","parseInt","classes","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","calculateInputHeight","input","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","isSmallScreen","isDiscussionShowing","_e","createClicked","ADD","ADD_ACTIVE","discussions","length","staticStyle","discussionHeight","selectedDiscussionChanged","selectedDiscussion","_l","discussion","key","id","hasMultiplePeople","AUTHOR_MULTIPLE","AUTHOR","unreadMessageCount","CHAT_BUBBLE_ENABLED","class","latestMessage","latestMessageDate","closeDiscussion","BACK","scopedSlots","_u","fn","_g","_b","MORE","MORE_ACTIVE","$event","isInviteDialogShowing","leaveDiscussionPressed","rawName","modifiers","style","maxHeight","chatHeight","message","index","isSameDate","convertUtcToLocal","createdUtc","format","messages","refInFor","fromUserFullName","isSameAuthor","content","indexOf","_k","keyCode","sendMessagePressed","apply","arguments","newMessage","isCreateDialogShowing","isCreateSubmitting","createDiscussion","createTitleText","trim","showNewUserInputs","isInviteSubmitting","inviteToDiscussion","inviteEmailText","inviteFirstNameText","inviteLastNameText","metaInfo","link","rel","href","$route","path","FormDialog","created","goToQueryChatroom","query","chatroomId","chatroom","find","x","firstIndex","secondIndex","y","setCurrentChatroom","scrollToBottom","nextTick","container","scrollIntoView","behavior","sendMessage","leaveChatroom","userClient","userInvite","firstName","lastName","emailAddress","folioId","inviteUser","doesEmailExist","doesUserExist","inviteUserToChatroom","finally","reset","createChatroom","onScroll","target","scrollTop","prevScrollHeight","scrollHeight","getHistoricalMessages","newScrollHeight","scrollTo","checkScrolledToBottom","chatElement","ceil","offsetHeight","utcTime","utc","local","$vuetify","breakpoint","val","prev","readLastMessage","to","from","VBadge","VContainer","VList","VListItem","VListItemAvatar","VListItemContent","VListItemGroup","VListItemSubtitle","VListItemTitle","VMenu","VSheet","VTextField","VTextarea","Scroll"],"mappings":"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","file":"js/chunk-7b124030.dacb40fd.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"value\":_vm.isOpen,\"width\":_vm.width},on:{\"click:outside\":_vm.close}},[_c('v-card',[_c('v-card-title',[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',[_vm._v(_vm._s(_vm.title))])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.CLOSE,\"size\":16,\"alt\":\"Close\"},on:{\"click\":_vm.close}})],1)],1)],1),_c('v-divider'),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":_vm.lazyValidation},on:{\"submit\":_vm.submit},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-card-text',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_vm._t(\"default\")],2)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"submit\",\"loading\":_vm.isSubmitting,\"disabled\":!_vm.isValid,\"rounded\":\"\",\"ripple\":false},on:{\"click\":_vm.submit}},[_c('span',{staticClass:\"main-content-no-color pa-2\"},[_vm._v(_vm._s(_vm.buttonText))])]),_c('v-spacer')],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\n\r\nexport default Vue.extend({\r\n name: \"Form\",\r\n components: { DoceoIcon },\r\n props: {\r\n persistent: Boolean,\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"480px\",\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n buttonText: {\r\n type: String,\r\n required: true,\r\n },\r\n isSubmitting: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n lazyValidation: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n data: () => ({\r\n DOCEO_ICONS,\r\n isValid: true,\r\n }),\r\n computed: {},\r\n methods: {\r\n /**\r\n * Emit an event to close the dialog\r\n */\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n\r\n /**\r\n * Emit a submit event\r\n */\r\n submit() {\r\n if (this.isValid) {\r\n const form: any = this.$refs.form;\r\n this.$emit(\"submit\", form);\r\n }\r\n }\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormDialog.vue?vue&type=template&id=789fef6c&scoped=true&\"\nimport script from \"./FormDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormDialog.vue?vue&type=style&index=0&id=789fef6c&scoped=true&lang=css&\"\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 \"789fef6c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VDialog,VDivider,VForm,VRow,VSpacer})\n","// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nmodule.exports = function installDirectives (component, directives) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.directives = component.exports.options.directives\n }\n\n options.directives = options.directives || {}\n\n for (var i in directives) {\n options.directives[i] = options.directives[i] || directives[i]\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormDialog.vue?vue&type=style&index=0&id=789fef6c&scoped=true&lang=css&\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-row',{staticClass:\"fill-height\"},[_c('v-spacer'),(!_vm.isSmallScreen || !_vm.isDiscussionShowing)?_c('v-col',{staticClass:\"pr-0\",attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"first-header\"},[_vm._v(\"Discussions\")])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\",\"ripple\":false},on:{\"click\":_vm.createClicked}},[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.ADD,\"hoverIcon\":_vm.DOCEO_ICONS.ADD_ACTIVE,\"alt\":\"Create Discussion\"}})],1)],1)],1),_c('v-divider'),(_vm.discussions.length > 0)?_c('v-list',{staticClass:\"thin-scrollbar\",staticStyle:{\"overflow-y\":\"scroll\",\"overflow-x\":\"hidden\"},attrs:{\"three-line\":\"\",\"height\":_vm.discussionHeight}},[_c('v-list-item-group',{attrs:{\"color\":\"primary\",\"return-object\":\"\"},on:{\"change\":_vm.selectedDiscussionChanged},model:{value:(_vm.selectedDiscussion),callback:function ($$v) {_vm.selectedDiscussion=$$v},expression:\"selectedDiscussion\"}},[_vm._l((_vm.discussions),function(discussion){return [_c('v-list-item',{key:discussion.id,attrs:{\"color\":\"black\",\"value\":discussion}},[_c('v-list-item-avatar',[_c('DoceoIcon',{staticStyle:{\"margin-top\":\"25%\"},attrs:{\"icon\":discussion.hasMultiplePeople ? _vm.DOCEO_ICONS.AUTHOR_MULTIPLE : _vm.DOCEO_ICONS.AUTHOR,\"size\":64,\"cursor\":\"default\"}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('v-row',{staticClass:\"pr-4 pt-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-truncate\"},[_c('span',{staticClass:\"text-truncate\"},[_vm._v(_vm._s(discussion.name))])]),(discussion.unreadMessageCount)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-badge',{attrs:{\"bordered\":\"\",\"color\":\"error\",\"content\":discussion.unreadMessageCount,\"overlap\":\"\"}},[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.CHAT_BUBBLE_ENABLED,\"alt\":\"Discussions\"}})],1)],1):_vm._e()],1)],1),_c('v-list-item-subtitle',[(discussion.latestMessage)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-truncate\"},[_c('span',{staticClass:\"text-truncate\",class:{ 'font-weight-bold': discussion.unreadMessageCount }},[_vm._v(_vm._s(discussion.latestMessage))])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(_vm._s(discussion.latestMessageDate))])],1):_vm._e()],1)],1)],1),_c('v-divider',{key:'divider_' + discussion.id})]})],2)],1):_c('v-row',[_c('v-col',{staticClass:\"text-center font-italic ma-9\"},[_vm._v(\" You are not in any discussion rooms, click \"),_c('span',{staticClass:\"text-decoration-underline cursor-pointer\",on:{\"click\":_vm.createClicked}},[_vm._v(\"here\")]),_vm._v(\" to create one or visit a content item to join an ongoing discussion. \")])],1)],1):_vm._e(),(!_vm.isSmallScreen || _vm.isDiscussionShowing)?_c('v-col',{class:{ 'pl-0': !_vm.isSmallScreen },attrs:{\"cols\":\"12\",\"md\":\"7\"}},[(_vm.selectedDiscussion)?_c('v-sheet',{staticClass:\"pa-4\",staticStyle:{\"border-top-left-radius\":\"0\"},attrs:{\"outlined\":\"\",\"elevation\":\"2\",\"rounded\":\"lg\"}},[_c('v-row',[_c('v-col',[_c('v-row',{attrs:{\"align\":\"center\"}},[(_vm.isSmallScreen)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"ripple\":false},on:{\"click\":_vm.closeDiscussion}},[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.BACK,\"alt\":\"Back\"}})],1)],1):_vm._e(),_c('v-col',[_c('DoceoIcon',{staticStyle:{\"display\":\"inline-block\",\"vertical-align\":\"middle\"},attrs:{\"icon\":_vm.selectedDiscussion.hasMultiplePeople ? _vm.DOCEO_ICONS.AUTHOR_MULTIPLE : _vm.DOCEO_ICONS.AUTHOR,\"size\":_vm.isSmallScreen ? 24 : 48,\"cursor\":\"default\"}}),_vm._v(\" \"+_vm._s(_vm.selectedDiscussion.name)+\" \")],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"rounded\":\"lg\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"color\":\"primary\",\"icon\":\"\",\"ripple\":false}},'v-btn',attrs,false),on),[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.MORE,\"hoverIcon\":_vm.DOCEO_ICONS.MORE_ACTIVE,\"alt\":\"Invite\"}})],1)]}}],null,false,1083927332)},[_c('v-list',[_c('v-list-item-group',[_c('v-list-item',{on:{\"click\":function($event){_vm.isInviteDialogShowing = true}}},[_c('v-list-item-title',[_vm._v(\"Invite to Discussion\")])],1),_c('v-list-item',{on:{\"click\":_vm.leaveDiscussionPressed}},[_c('v-list-item-title',[_vm._v(\"Leave Discussion\")])],1)],1)],1)],1)],1)],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"pt-0\"},[_c('v-divider')],1)],1),_c('v-row',{directives:[{name:\"scroll\",rawName:\"v-scroll.self\",value:(_vm.onScroll),expression:\"onScroll\",modifiers:{\"self\":true}}],ref:\"messageList\",staticClass:\"thin-scrollbar\",staticStyle:{\"overflow-y\":\"scroll\",\"overflow-x\":\"hidden\"},style:({ maxHeight: _vm.chatHeight, minHeight: _vm.chatHeight })},[_c('v-col',[_vm._l((_vm.messages),function(message,index){return [(!_vm.isSameDate(index - 1, index))?_c('v-row',{key:'date_' + message.id,attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(_vm._s(_vm.convertUtcToLocal(message.createdUtc).format(\"dddd, MMM DD\")))])],1):_vm._e(),_c('v-row',{key:message.id,ref:index == _vm.messages.length - 1 ? 'scrollToMe' : index,refInFor:true},[(message.fromUserFullName !== _vm.name)?_c('v-col',{attrs:{\"cols\":\"11\",\"md\":\"8\"}},[(!_vm.isSameAuthor(index - 1, index))?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"offset\":\"1\"}},[_vm._v(_vm._s(message.fromUserFullName)+\" - \"+_vm._s(_vm.convertUtcToLocal(message.createdUtc).format(\"h:mm A\")))])],1):_vm._e(),_c('v-row',{attrs:{\"justify\":\"start\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('DoceoIcon',{attrs:{\"size\":40,\"icon\":_vm.DOCEO_ICONS.AUTHOR,\"cursor\":\"default\"}})],1),_c('v-col',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-card',{attrs:{\"rounded\":\"lg\",\"color\":\"#f2f2f2\",\"flat\":\"\"}},[_c('v-card-text',[_vm._v(_vm._s(message.content))])],1)],1)],1)],1)],1)],1):_c('v-col',{attrs:{\"cols\":\"11\",\"offset\":\"1\",\"md\":\"8\",\"offset-md\":\"4\"}},[(!_vm.isSameAuthor(index - 1, index))?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\"Me - \"+_vm._s(_vm.convertUtcToLocal(message.createdUtc).format(\"h:mm A\")))]),_c('v-col',{attrs:{\"cols\":\"1\"}})],1):_vm._e(),_c('v-row',{attrs:{\"justify\":\"end\",\"align\":\"center\",\"dense\":\"\"}},[_c('v-col',[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-card',{attrs:{\"rounded\":\"lg\",\"color\":\"primary\",\"flat\":\"\"}},[_c('v-card-text',{staticClass:\"v-card-text-white\"},[_vm._v(_vm._s(message.content))])],1)],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('DoceoIcon',{attrs:{\"size\":40,\"icon\":_vm.DOCEO_ICONS.AUTHOR,\"cursor\":\"default\"}})],1)],1)],1)],1)]})],2)],1),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',[_c('v-textarea',{attrs:{\"placeholder\":\"Start typing\",\"rounded\":\"\",\"filled\":\"\",\"hide-details\":\"\",\"auto-grow\":\"\",\"rows\":\"1\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.sendMessagePressed.apply(null, arguments)}},model:{value:(_vm.newMessage),callback:function ($$v) {_vm.newMessage=$$v},expression:\"newMessage\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"submit\",\"block\":\"\",\"rounded\":\"\",\"disabled\":_vm.newMessage == '',\"ripple\":false},on:{\"click\":_vm.sendMessagePressed}},[_vm._v(\"Send\")])],1)],1)],1):_vm._e()],1):_vm._e(),_c('v-spacer')],1),_c('FormDialog',{attrs:{\"isOpen\":_vm.isCreateDialogShowing,\"title\":\"Create Discussion\",\"buttonText\":\"Create\",\"isSubmitting\":_vm.isCreateSubmitting},on:{\"close\":function($event){_vm.isCreateDialogShowing = false},\"submit\":_vm.createDiscussion}},[_c('v-text-field',{attrs:{\"label\":\"Discussion Name\",\"rules\":[function (v) { return !!v || 'Discussion name is required.'; }],\"autofocus\":\"\"},model:{value:(_vm.createTitleText),callback:function ($$v) {_vm.createTitleText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"createTitleText\"}})],1),_c('FormDialog',{attrs:{\"isOpen\":_vm.isInviteDialogShowing,\"title\":_vm.showNewUserInputs ? 'Invite to Doceo.md' : 'Invite to Discussion',\"buttonText\":_vm.showNewUserInputs ? 'Invite to Doceo.md' : 'Invite',\"isSubmitting\":_vm.isInviteSubmitting},on:{\"close\":function($event){_vm.isInviteDialogShowing = false},\"submit\":_vm.inviteToDiscussion}},[(_vm.showNewUserInputs)?_c('v-row',[_c('v-col',[_vm._v(\" This user is not a Doceo.md subscriber. Invite them to the platform! \")])],1):_vm._e(),_c('v-text-field',{attrs:{\"label\":\"Email address\",\"rules\":[function (v) { return !!v || 'Email address is required.'; }],\"autofocus\":\"\"},model:{value:(_vm.inviteEmailText),callback:function ($$v) {_vm.inviteEmailText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"inviteEmailText\"}}),(_vm.showNewUserInputs)?_c('v-text-field',{attrs:{\"label\":\"First Name\",\"rules\":[function (v) { return !!v || 'First name is required.'; }]},model:{value:(_vm.inviteFirstNameText),callback:function ($$v) {_vm.inviteFirstNameText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"inviteFirstNameText\"}}):_vm._e(),(_vm.showNewUserInputs)?_c('v-text-field',{attrs:{\"label\":\"Last Name\",\"rules\":[function (v) { return !!v || 'Last name is required.'; }]},model:{value:(_vm.inviteLastNameText),callback:function ($$v) {_vm.inviteLastNameText=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:\"inviteLastNameText\"}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapActions, mapState } from \"pinia\";\r\nimport { mapGetters } from \"vuex\";\r\nimport FormDialog from \"@/components/FormDialog.vue\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\nimport { Discussion, useConversationStore } from \"@/store/conversationStore\";\r\nimport dayjs from \"dayjs\";\r\nimport { IInviteUser, InviteUser, UserClient } from \"@/api/DoceoApi\";\r\n\r\nexport default Vue.extend({\r\n name: \"Discussions\",\r\n metaInfo() {\r\n return {\r\n link: [{ rel: \"canonical\", href: `${process.env.VUE_APP_BASE_URL}${this.$route.path}` }],\r\n };\r\n },\r\n components: { DoceoIcon, FormDialog },\r\n data: () => ({\r\n isDiscussionShowing: false, // Keep track of whether the discussion section is showing. On mobile, only the discussions OR chat section is showing at a time\r\n isCreateDialogShowing: false, // Keep track of whether the discussion create dialog is showing\r\n isCreateSubmitting: false, // Disables create button while waiting for the API\r\n isInviteDialogShowing: false, // Keep track of whether the discussion invite dialog is showing\r\n isInviteSubmitting: false, // Disables invite button while waiting for the API\r\n inviteEmailText: \"\", // The email address to invite\r\n createTitleText: \"\", // The title of the new discussion\r\n selectedDiscussion: null as Discussion | null, // The discussion that is currently selected by the user,\r\n newMessage: \"\", // The new message being sent by the user\r\n DOCEO_ICONS,\r\n inviteFirstNameText: \"\",\r\n inviteLastNameText: \"\",\r\n showNewUserInputs: false,\r\n }),\r\n created() {\r\n this.goToQueryChatroom();\r\n },\r\n methods: {\r\n ...mapActions(useConversationStore, [\r\n \"setCurrentChatroom\",\r\n \"createChatroom\",\r\n \"sendMessage\",\r\n \"leaveChatroom\",\r\n \"inviteUserToChatroom\",\r\n \"readLastMessage\",\r\n \"getHistoricalMessages\",\r\n ]),\r\n /**\r\n * If there is at least 1 discussion, open the specified chatroom from the query string.\r\n * If there is no query string, open the first discussion on the list if the screen size is not mobile-sized.\r\n */\r\n goToQueryChatroom() {\r\n if (this.discussions.length > 1) {\r\n if (this.$route.query.chatroomId) {\r\n const chatroom = this.discussions.find((x) => x.id === this.$route.query.chatroomId);\r\n if (chatroom) {\r\n this.selectedDiscussion = chatroom;\r\n this.selectedDiscussionChanged();\r\n }\r\n } else if (!this.isSmallScreen) {\r\n this.selectedDiscussion = this.discussions[0];\r\n this.selectedDiscussionChanged();\r\n }\r\n }\r\n },\r\n /**\r\n * Opens the create dialog. Called when the create button is pressed.\r\n */\r\n createClicked() {\r\n this.isCreateDialogShowing = true;\r\n },\r\n /**\r\n * Check if the dates are the same on the messages. This is used in the chat window to display the date in between messages of different dates\r\n */\r\n isSameDate(firstIndex: number, secondIndex: number): boolean {\r\n if (secondIndex <= firstIndex) return false;\r\n if (firstIndex < 0) return false;\r\n if (secondIndex > this.messages.length) return false;\r\n let x = this.convertUtcToLocal(this.messages[firstIndex].createdUtc).format(\"DD/MM/YYYY\");\r\n let y = this.convertUtcToLocal(this.messages[secondIndex].createdUtc).format(\"DD/MM/YYYY\");\r\n if (x === y) return true;\r\n return false;\r\n },\r\n /**\r\n * Check if the author name is the same on the messages.\r\n * This is used in the chat window to only display the author name above the first message if they send a series of messages\r\n */\r\n isSameAuthor(firstIndex: number, secondIndex): boolean {\r\n if (secondIndex <= firstIndex) return false;\r\n if (firstIndex < 0) return false;\r\n if (secondIndex > this.messages.length) return false;\r\n if (this.messages[secondIndex].fromUserFullName == this.messages[firstIndex].fromUserFullName) return true;\r\n return false;\r\n },\r\n /**\r\n * Triggered when a discussion is selected. This will load the conversations for the selected discussion and scroll to the bottom of the chat window.\r\n */\r\n async selectedDiscussionChanged() {\r\n this.newMessage = \"\";\r\n if (this.selectedDiscussion) {\r\n await this.setCurrentChatroom(this.selectedDiscussion.id);\r\n this.scrollToBottom();\r\n } else {\r\n await this.setCurrentChatroom(\"\");\r\n }\r\n },\r\n /**\r\n * Scroll to the bottom of the chat window by finding the element with the scrollToMe reference. This should always be the last message in the chat\r\n */\r\n scrollToBottom() {\r\n Vue.nextTick(() => {\r\n this.isDiscussionShowing = true;\r\n\r\n var container: any = this.$refs[\"scrollToMe\"];\r\n if (container && container.length > 0) {\r\n let x = container[0];\r\n x.scrollIntoView({ behavior: \"auto\" }); // Note: Vuetify also has a scroll function\r\n }\r\n });\r\n },\r\n /**\r\n * Indicate that the discussion is closed. This will hide the discussion window on a small screen. On a larger screen (md & up) the icon won't appear\r\n */\r\n async closeDiscussion() {\r\n this.isDiscussionShowing = false;\r\n this.selectedDiscussion = null;\r\n await this.setCurrentChatroom(\"\");\r\n },\r\n /**\r\n * Triggered when the send message button is pressed. This will send the message to the API and scroll to the bottom of the chat window.\r\n */\r\n async sendMessagePressed() {\r\n if (this.newMessage && this.selectedDiscussion) {\r\n await this.sendMessage(this.newMessage);\r\n this.scrollToBottom();\r\n this.newMessage = \"\";\r\n }\r\n },\r\n /**\r\n * Triggered when the leave discussion button is pressed. This will tell the API to remove the user from the chatroom, and close the current chat window.\r\n */\r\n async leaveDiscussionPressed() {\r\n if (this.selectedDiscussion) {\r\n await this.leaveChatroom(this.selectedDiscussion);\r\n this.closeDiscussion();\r\n }\r\n },\r\n /**\r\n * Triggered when the invite to discussion button is pressed. This will tell the API to invite a user to the chatroom, and close the invite dialog.\r\n */\r\n async inviteToDiscussion(form) {\r\n let userClient = new UserClient();\r\n\r\n if (this.inviteEmailText && this.selectedDiscussion) {\r\n // If we are showing the new user inputs\r\n if (this.showNewUserInputs) {\r\n let userInvite: IInviteUser = {\r\n firstName: this.inviteFirstNameText,\r\n lastName: this.inviteLastNameText,\r\n emailAddress: this.inviteEmailText,\r\n chatroomId: this.selectedDiscussion.id,\r\n folioId: \"\",\r\n };\r\n\r\n await userClient.inviteUser(new InviteUser(userInvite));\r\n } else {\r\n let doesUserExist = await userClient.doesEmailExist(this.inviteEmailText);\r\n\r\n if (doesUserExist) {\r\n this.isInviteSubmitting = true;\r\n await this.inviteUserToChatroom(this.inviteEmailText).finally(() => {\r\n this.isInviteSubmitting = false;\r\n });\r\n this.isInviteDialogShowing = false;\r\n form.reset();\r\n } else {\r\n this.showNewUserInputs = true;\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Triggered when the create discussion button is pressed. This will tell the API to create a new chatroom, and close the create dialog.\r\n */\r\n async createDiscussion(form) {\r\n if (this.createTitleText) {\r\n this.isCreateSubmitting = true;\r\n await this.createChatroom(this.createTitleText).finally(() => {\r\n this.isCreateSubmitting = false;\r\n });\r\n this.isCreateDialogShowing = false;\r\n form.reset();\r\n }\r\n },\r\n /**\r\n * The chat window scroll handler. Loads additional historic messages if the chat element is scrolled to the top.\r\n */\r\n async onScroll(e) {\r\n if (this.messages.length === 0) return;\r\n const target = e.target;\r\n if (target.scrollTop === 0) {\r\n const prevScrollHeight = target.scrollHeight;\r\n await this.getHistoricalMessages();\r\n const newScrollHeight = target.scrollHeight;\r\n target.scrollTo(0, newScrollHeight - prevScrollHeight);\r\n }\r\n },\r\n /**\r\n * Checks to see if the chat element is scrolled to the bottom. This is used to only scroll the chat window to the bottom on a new message if the user hasn't scrolled up.\r\n */\r\n checkScrolledToBottom() {\r\n const chatElement: any = this.$refs[\"messageList\"];\r\n if (!chatElement) {\r\n return false;\r\n }\r\n return Math.ceil(chatElement.scrollTop + chatElement.offsetHeight) >= chatElement.scrollHeight;\r\n },\r\n /**\r\n * Converts a time from UTC to the user's local time. Returns a DayJS object.\r\n */\r\n convertUtcToLocal(utcTime: string) {\r\n return dayjs.utc(utcTime).local();\r\n },\r\n },\r\n computed: {\r\n ...mapGetters([\"name\"]),\r\n ...mapState(useConversationStore, [\"messages\", \"discussions\"]),\r\n /**\r\n * Determine the height of the discussion panel.\r\n * TODO: Find a better way to calculate this value\r\n */\r\n discussionHeight() {\r\n return \"calc(100vh - 173px)\";\r\n },\r\n /**\r\n * Determine the height of the chat panel.\r\n * On mobile the height is slightly different as the \"Send\" button for the chat goes onto a new line\r\n * TODO: Find a better way to calculate this value\r\n */\r\n chatHeight() {\r\n if (this.isSmallScreen) {\r\n return \"calc(100vh - 327px)\";\r\n }\r\n return \"calc(100vh - 275px)\";\r\n },\r\n /**\r\n * Determine whether the user is currently viewing on a \"small\" screen.\r\n * Currently we define small screens to be of size \"xs\" or \"sm\"\r\n */\r\n isSmallScreen(): boolean {\r\n switch (this.$vuetify.breakpoint.name) {\r\n case \"xs\": // < 600px\r\n return true;\r\n case \"sm\": // 600px > < 960px\r\n return true;\r\n case \"md\": // 960px > < 1264px\r\n return false;\r\n case \"lg\": // 1264px > < 1904px\r\n return false;\r\n case \"xl\": //\t> 1904px\r\n return false;\r\n default:\r\n return false;\r\n }\r\n },\r\n },\r\n watch: {\r\n messages: function(val, prev) {\r\n if (prev.length === 0 || this.checkScrolledToBottom()) {\r\n this.scrollToBottom();\r\n if (this.selectedDiscussion) {\r\n this.readLastMessage(this.selectedDiscussion);\r\n }\r\n }\r\n },\r\n $route(to, from) {\r\n this.goToQueryChatroom();\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Discussions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Discussions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Discussions.vue?vue&type=template&id=67795db1&scoped=true&\"\nimport script from \"./Discussions.vue?vue&type=script&lang=ts&\"\nexport * from \"./Discussions.vue?vue&type=script&lang=ts&\"\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 \"67795db1\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBadge,VBtn,VCard,VCardText,VCol,VContainer,VDivider,VList,VListItem,VListItemAvatar,VListItemContent,VListItemGroup,VListItemSubtitle,VListItemTitle,VMenu,VRow,VSheet,VSpacer,VTextField,VTextarea})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Scroll from 'vuetify/lib/directives/scroll'\ninstallDirectives(component, {Scroll})\n"],"sourceRoot":""}