{"version":3,"sources":["webpack:///./src/core/utils/formatTime.ts","webpack:///./src/views/sessions/components/SessionSelectItem.vue?df9a","webpack:///./src/views/sessions/components/SessionSelectItem.vue","webpack:///./src/views/sessions/components/SessionSelectItem.vue?aaaf","webpack:///./src/views/sessions/components/SessionSelectItem.vue?aa32","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///./src/views/sessions/components/EditSessionDialog.vue?541c","webpack:///./src/views/sessions/components/EditSessionDialog.vue","webpack:///./src/views/sessions/components/EditSessionDialog.vue?d5bd","webpack:///./src/views/sessions/components/EditSessionDialog.vue?838b","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///./src/views/sessions/components/SessionSelectItem.vue?3471","webpack:///./src/views/sessions/components/EditSessionDialog.vue?6652","webpack:///../../../src/mixins/selectable/index.ts"],"names":["formatFromSeconds","s","hh","Math","floor","mm","ss","formatClockFromSeconds","formatFromMilliSeconds","ms","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","selected","attrs","session","ID","on","$event","$emit","VDialog","model","value","callback","$$v","openFeedback","expression","VCard","VideoFeedback","URI","_e","Completed","VProgressLinear","progress","_v","_s","name","_f","CreatedAt","length","statusText","isOtherUser","staticStyle","sharedWith","VSpacer","VBtn","showFeedback","VIcon","staticRenderFns","SessionSelectItem","console","log","base","str","AnalysisStatus","$t","status","AnalyzingAudio","AudioDone","AnalyzingText","TextDone","Succeeded","count","SharedWith","toString","n","currentSessionId","Name","SessionLength","Vue","__decorate","Prop","default","Getter","Component","components","DeleteSession","EditSessionDialog","VideoPlayer","component","extend","directives","ripple","props","type","Boolean","Object","methods","genRipple","data","push","center","loading","stopPropagation","toggleEdit","editDialog","VForm","preventDefault","editSession","form","VTextField","v","groupsLoading","showUsers","rawName","users","cancel","hasChanges","text","join","slice","end","id","api","put","updateSession","msg","displaySnackbar","usersChanged","sort","nameChanged","Action","Watch","EditSharedWith","Selectable","indeterminate","indeterminateIcon","String","offIcon","onIcon","inputIndeterminate","computed","classes","VInput","options","call","computedIcon","isActive","validationState","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","computedColor","watch","val","$nextTick","genCheckbox","attrs$","checkboxAttrs","title","setTextColor","dense","dark","light","genInput","rippleState","genDefaultSlot","genLabel","prevent","e","mixins","Rippleable","Comparable","prop","event","inputValue","falseValue","trueValue","multiple","label","lazyValue","color","isDark","appIsDark","isMultiple","Array","isArray","internalValue","input","some","item","valueComparator","undefined","isDirty","click","assign","disabled","computedId","role","domProps","checked","blur","onBlur","change","onChange","focus","onFocus","keydown","onKeydown","ref","onClick","isInteractive","filter","validate","isFocused"],"mappings":"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","file":"assets/js/chunk-1869d1cb.f870a591.js","sourcesContent":["export const formatFromSeconds = (s: number) => {\r\n const hh = Math.floor((s / 3600) % 60);\r\n const mm = Math.floor((s / 60) % 60);\r\n const ss = Math.floor(s % 60);\r\n if (hh) return `${hh}h ${mm}m ${ss}s`;\r\n else if (mm) return `${mm}m ${ss}s`;\r\n else return `${ss}s`;\r\n};\r\n\r\nexport const formatClockFromSeconds = (s: number) => {\r\n const mm = Math.floor((s / 60) % 60);\r\n const ss = Math.floor(s % 60);\r\n if (mm) return `${mm}:${ss}`;\r\n else return `00:${ss}`;\r\n};\r\n\r\nexport const formatFromMilliSeconds = (ms: number) =>\r\n formatFromSeconds(ms / 1000);\r\n","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"session-item\",class:{ selected: _vm.selected },attrs:{\"data-id\":_vm.session.ID},on:{\"click\":function($event){return _vm.$emit('click')}}},[_c(VDialog,{model:{value:(_vm.openFeedback),callback:function ($$v) {_vm.openFeedback=$$v},expression:\"openFeedback\"}},[_c(VCard,{staticClass:\"centered-player\",attrs:{\"width\":\"50%\",\"color\":\"#FFFFFF\"}},[(\n _vm.session !== null && _vm.session.VideoFeedback !== null && _vm.openFeedback\n )?_c('VideoPlayer',{attrs:{\"id\":_vm.session.ID,\"url\":_vm.session.VideoFeedback.URI}}):_vm._e()],1)],1),_c('div',{staticClass:\"line\"}),_c(VCard,{staticClass:\"position-relative pa-4\",attrs:{\"tile\":\"\",\"elevation\":\"0\"}},[(!_vm.session.Completed)?_c(VProgressLinear,{attrs:{\"top\":\"\",\"left\":\"\",\"stream\":\"\",\"absolute\":\"\",\"height\":\"5px\",\"buffer-value\":_vm.progress,\"color\":\"darkgray darken-4\"}}):_vm._e(),_c('div',{staticClass:\"text-body-1 font-weight-bold text-truncate\"},[_c('span',[_vm._v(_vm._s(_vm.name))])]),_c('div',{staticClass:\"text-subtitle-2 text-truncate\"},[_c('span',[_vm._v(_vm._s(_vm._f(\"formatwithtime\")(_vm.session.CreatedAt)))]),_c('span',{staticClass:\"mx-2\"},[_vm._v(\"ยท\")]),(_vm.session.Completed)?_c('span',[_vm._v(_vm._s(_vm.length))]):_c('span',[_vm._v(_vm._s(_vm.statusText))])]),(!_vm.isOtherUser)?_c('div',{staticClass:\"d-flex align-center mt-2\"},[_c('div',{staticClass:\"overline\",staticStyle:{\"line-height\":\"1.2\"}},[_c('span',[_vm._v(_vm._s(_vm.sharedWith))])]),_c(VSpacer),_c('EditSessionDialog',{attrs:{\"session\":_vm.session,\"selected\":_vm.selected}}),_c('DeleteSession',{attrs:{\"id\":_vm.session.ID,\"can-delete\":true}})],1):_vm._e(),(_vm.session.VideoFeedback !== null)?_c('div',[_c(VBtn,{on:{\"click\":_vm.showFeedback}},[_c('div',[_vm._v(\"Feedback\")]),_c(VIcon,{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-play\")])],1)],1):_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\r\nimport Vue from \"vue\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { AnalysisStatus, Session } from \"@/core/models\";\r\nimport { formatFromSeconds } from \"@/core/utils/formatTime\";\r\nimport EditSessionDialog from \"./EditSessionDialog.vue\";\r\nimport VideoPlayer from \"@/components/common/VideoPlayer.vue\";\r\nimport DeleteSession from \"@/components/sessions/DeleteSession.vue\";\r\n\r\n@Component({ components: { DeleteSession, EditSessionDialog, VideoPlayer } })\r\nexport default class SessionSelectItem extends Vue {\r\n @Prop({ default: () => false }) isOtherUser!: boolean;\r\n @Prop({ default: () => ({} as Session) }) session!: Session;\r\n\r\n @Getter(\"currentSession/id\") currentSessionId!: number;\r\n @Getter(\"sessions/retrievedSessionId\") retrievedSessionId!: number;\r\n @Getter(\"sessions/gettingSingleSession\") retrievingSession!: boolean;\r\n\r\n openFeedback = false;\r\n\r\n showFeedback() {\r\n console.log(\"showFeedback\");\r\n this.openFeedback = true;\r\n }\r\n\r\n get statusText() {\r\n const base = \"sessionsPage.sessionsProgressSection.analysisStatus.\";\r\n const str = base + this.session.AnalysisStatus;\r\n return this.$t(str);\r\n }\r\n\r\n get progress() {\r\n const status = this.session.AnalysisStatus;\r\n if (status === AnalysisStatus.AnalyzingAudio) return 7;\r\n else if (status === AnalysisStatus.AudioDone) return 15;\r\n else if (status === AnalysisStatus.AnalyzingText) return 33;\r\n else if (status === AnalysisStatus.TextDone) return 75;\r\n else if (status === AnalysisStatus.Succeeded) return 100;\r\n else return 0;\r\n }\r\n\r\n get sharedWith() {\r\n const count =\r\n (this.session.SharedWith && this.session.SharedWith.length) || 0;\r\n\r\n return count === 0\r\n ? this.$t(\"sess.private\").toString()\r\n : count > 1\r\n ? this.$t(\"sess.shared\", { n: count })\r\n : this.$t(\"sess.sharedWithOne\", { n: count });\r\n }\r\n\r\n get selected() {\r\n return this.currentSessionId === this.session.ID;\r\n }\r\n\r\n get name() {\r\n return this.session.Name;\r\n }\r\n\r\n get length() {\r\n return formatFromSeconds(this.session.SessionLength);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionSelectItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionSelectItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SessionSelectItem.vue?vue&type=template&id=da73b8dc&scoped=true&\"\nimport script from \"./SessionSelectItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./SessionSelectItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SessionSelectItem.vue?vue&type=style&index=0&id=da73b8dc&prod&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 \"da73b8dc\",\n null\n \n)\n\nexport default component.exports","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","import { 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 { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(VBtn,{staticClass:\"custom-btn\",attrs:{\"small\":\"\",\"elevation\":\"0\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleEdit($event)}}},[_c(VIcon,{staticClass:\"custom-icon\"},[_vm._v(\"mdi-share\")]),_c('span',{staticClass:\"custom-text\"},[_vm._v(_vm._s(_vm.$t(\"sess.share\")))])],1),_c(VDialog,{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c(VCard,[_c(VCardTitle,[_vm._v(_vm._s(_vm.$t(\"sess.edit\"))+\" \\\"\"+_vm._s(_vm.session.Name)+\"\\\"\")]),_c(VCardText,[_c(VForm,{on:{\"submit\":function($event){$event.preventDefault();return _vm.editSession($event)}},model:{value:(_vm.form),callback:function ($$v) {_vm.form=$$v},expression:\"form\"}},[_c(VTextField,{attrs:{\"label\":_vm.$t('sess.name'),\"rules\":[function (v) { return !!v || _vm.$t('forms.reqfield'); }]},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}}),_c('div',{staticClass:\"mt-4\"},[_c(VBtn,{staticClass:\"d-flex\",attrs:{\"text\":\"\",\"block\":\"\",\"small\":\"\",\"loading\":_vm.groupsLoading,\"disabled\":_vm.groupsLoading},on:{\"click\":function($event){_vm.showUsers = !_vm.showUsers}}},[_c('div',{staticClass:\"text-truncate text-left flex-1\"},[_c('span',{staticClass:\"text-truncate\"},[_vm._v(\" \"+_vm._s(_vm.count)+\" \")])]),_c(VIcon,{attrs:{\"right\":\"\"}},[_vm._v(_vm._s(_vm.showUsers ? \"mdi-chevron-up\" : \"mdi-chevron-down\"))])],1),_c('EditSharedWith',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showUsers),expression:\"showUsers\"}],attrs:{\"users-prop\":_vm.users,\"session\":_vm.session},on:{\"update:usersProp\":function($event){_vm.users=$event},\"update:users-prop\":function($event){_vm.users=$event}}})],1)],1),(_vm.session.SharedWith && _vm.session.SharedWith.length === 0)?_c('div',{staticClass:\"d-flex mt-4\"},[_c(VSpacer),_c('DeleteSession',{attrs:{\"id\":_vm.session.ID,\"can-delete\":true},on:{\"deleted\":function($event){_vm.editDialog = false}}})],1):_vm._e()],1),_c(VCardActions,[_c(VSpacer),_c(VBtn,{attrs:{\"elevation\":\"0\",\"disabled\":_vm.loading},on:{\"click\":_vm.cancel}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.cancel\")))])]),_c(VBtn,{attrs:{\"elevation\":\"0\",\"color\":\"primary\",\"loading\":_vm.loading,\"disabled\":_vm.loading || !_vm.hasChanges},on:{\"click\":_vm.editSession}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.submit\")))])])],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 api from \"@/core/utils/api\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\nimport { Session } from \"@/core/models/sessions\";\r\nimport EditSharedWith from \"./EditSharedWith.vue\";\r\nimport DeleteSession from \"@/components/sessions/DeleteSession.vue\";\r\n\r\n@Component({ components: { EditSharedWith, DeleteSession } })\r\nexport default class EditSessionDialog extends Vue {\r\n @Prop({ default: () => false }) selected!: boolean;\r\n @Prop({ default: () => ({} as Session) }) session!: Session;\r\n\r\n @Getter(\"groups/loadingGroups\") groupsLoading!: boolean;\r\n @Getter(\"profile/getUserEmail\") currentUserEmail!: string;\r\n @Action(\"sessions/update\") updateSession!: (d: any) => void;\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n name = \"\";\r\n form = false;\r\n loading = false;\r\n editDialog = false;\r\n get items() {\r\n return [\r\n { text: this.$t(\"sess.private\").toString(), value: \"private\" },\r\n { text: this.$t(\"sess.shared\").toString(), value: \"shared\" },\r\n { text: this.$t(\"sess.public\").toString(), value: \"public\" },\r\n ];\r\n }\r\n\r\n showUsers = false;\r\n users: string[] = [];\r\n get count() {\r\n const str = this.users.join(\", \");\r\n if (str.length > 0)\r\n return str.length < 30\r\n ? str\r\n : this.users.length > 1\r\n ? `${this.$t(\"sess.shared\", { n: this.users.length }).toString()}`\r\n : `${this.$t(\"sess.sharedWithOne\", {\r\n n: this.users.length,\r\n }).toString()}`;\r\n else return this.$t(\"sess.sharedWithNone\").toString();\r\n }\r\n\r\n // Edit functionality\r\n @Watch(\"editDialog\")\r\n editDialogChanged() {\r\n if (!this.editDialog) this.users = this.session.SharedWith.slice(0);\r\n }\r\n toggleEdit() {\r\n if (this.editDialog) {\r\n this.editDialog = false;\r\n this.users = this.session.SharedWith.slice(0);\r\n } else {\r\n this.name = this.session.Name;\r\n this.editDialog = true;\r\n }\r\n }\r\n cancel() {\r\n this.editDialog = false;\r\n this.users = this.session.SharedWith.slice(0);\r\n }\r\n async editSession() {\r\n if (this.name.length === 0) return;\r\n\r\n this.loading = true;\r\n try {\r\n const end = \"/api/Sessions/Edit\";\r\n const data = {\r\n name: this.name,\r\n id: this.session.ID,\r\n sharedWith: this.users,\r\n };\r\n await api.put(end, data);\r\n this.updateSession(data);\r\n const msg = this.$t(\"sess.updated\").toString();\r\n this.displaySnackbar(msg);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.loading = false;\r\n this.toggleEdit();\r\n }\r\n get hasChanges() {\r\n const usersChanged =\r\n this.users &&\r\n this.session.SharedWith &&\r\n this.users.sort().join(\"\") !== this.session.SharedWith.sort().join(\"\");\r\n const nameChanged = this.name !== this.session.Name;\r\n return usersChanged || nameChanged;\r\n }\r\n mounted() {\r\n if (this.session.SharedWith) this.users = this.session.SharedWith.slice(0);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSessionDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSessionDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditSessionDialog.vue?vue&type=template&id=62863f2c&scoped=true&\"\nimport script from \"./EditSessionDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditSessionDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditSessionDialog.vue?vue&type=style&index=0&id=62863f2c&prod&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 \"62863f2c\",\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-checkbox',\n\n props: {\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n },\n\n data () {\n return {\n inputIndeterminate: this.indeterminate,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls': true,\n 'v-input--checkbox': true,\n 'v-input--indeterminate': this.inputIndeterminate,\n }\n },\n computedIcon (): string {\n if (this.inputIndeterminate) {\n return this.indeterminateIcon\n } else if (this.isActive) {\n return this.onIcon\n } else {\n return this.offIcon\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.isDisabled && !this.inputIndeterminate) return undefined\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n },\n\n watch: {\n indeterminate (val) {\n // https://github.com/vuetifyjs/vuetify/issues/8270\n this.$nextTick(() => (this.inputIndeterminate = val))\n },\n inputIndeterminate (val) {\n this.$emit('update:indeterminate', val)\n },\n isActive () {\n if (!this.indeterminate) return\n this.inputIndeterminate = false\n },\n },\n\n methods: {\n genCheckbox () {\n const { title, ...checkboxAttrs } = this.attrs$\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.dense,\n dark: this.dark,\n light: this.light,\n },\n }), this.computedIcon),\n this.genInput('checkbox', {\n ...checkboxAttrs,\n 'aria-checked': this.inputIndeterminate\n ? 'mixed'\n : this.isActive.toString(),\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n genDefaultSlot () {\n return [\n this.genCheckbox(),\n this.genLabel(),\n ]\n },\n },\n})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SessionSelectItem.vue?vue&type=style&index=0&id=da73b8dc&prod&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditSessionDialog.vue?vue&type=style&index=0&id=62863f2c&prod&scoped=true&lang=css&\"","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}