{"version":3,"sources":["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/EditSessionDialog.vue?6652","webpack:///../../../src/mixins/selectable/index.ts"],"names":["Vue","extend","name","directives","ripple","props","type","Boolean","Object","default","methods","genRipple","data","this","staticClass","push","value","center","$createElement","render","_vm","_h","_c","_self","VBtn","attrs","loading","on","$event","stopPropagation","toggleEdit","VIcon","_v","_s","$t","VDialog","model","callback","$$v","editDialog","expression","VCard","session","Name","VForm","preventDefault","editSession","form","VTextField","v","groupsLoading","showUsers","count","rawName","users","SharedWith","length","VSpacer","ID","_e","cancel","hasChanges","staticRenderFns","EditSessionDialog","text","toString","str","join","n","slice","end","id","sharedWith","api","put","updateSession","msg","displaySnackbar","console","log","usersChanged","sort","nameChanged","__decorate","Prop","Getter","Action","Watch","Component","components","EditSharedWith","DeleteSession","component","Selectable","indeterminate","indeterminateIcon","String","offIcon","onIcon","inputIndeterminate","computed","classes","VInput","options","call","computedIcon","isActive","validationState","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","computedColor","watch","val","$nextTick","$emit","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-140f8884.2186d9b0.js","sourcesContent":["// 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!./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":""}