{"version":3,"sources":["webpack:///../../../src/mixins/rippleable/index.ts","webpack:///./src/views/groups/components/videos/GroupVideoMenu.vue?7567","webpack:///./src/views/groups/components/videos/GroupVideoMenu.vue","webpack:///./src/views/groups/components/videos/GroupVideoMenu.vue?d9fc","webpack:///./src/views/groups/components/videos/GroupVideoMenu.vue?dcf8","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts","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","VOverlay","attrs","deleteVideoLoading","deletedVideoID","video","ID","editVideoLoading","editedVideoID","VProgressCircular","VMenu","scopedSlots","_u","key","fn","ref","on","VBtn","_g","VIcon","_v","VList","VListItem","$event","editDialog","_s","$t","deleteVideo","VDialog","model","callback","$$v","expression","VCard","staticStyle","VForm","preventDefault","editVideo","VTextField","titleErrors","titleEdit","VTextarea","descriptionEdit","VSwitch","isPinnedEdit","staticRenderFns","GroupVideoMenu","Title","Description","pinnedVideoId","trim","length","groupId","videoId","newTitle","newDescription","isPinned","editVideoAction","deleteVideoAction","__decorate","Prop","Getter","Action","Watch","Component","component","baseMixins","mixins","autoGrow","noResize","rowHeight","Number","String","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","noResizeHandle","options","call","watch","val","$nextTick","calculateInputHeight","$refs","input","_a","style","removeProperty","lazyValue","mounted","setTimeout","height","scrollHeight","minHeight","Math","max","genInput","tag","onInput","e","onKeyDown","isFocused","keyCode","stopPropagation","$emit","Selectable","Touch","inset","loading","flat","VInput","isActive","isDisabled","role","validationState","hasError","shouldValidate","hasSuccess","hasColor","computedColor","switchData","setTextColor","undefined","class","themeClasses","genDefaultSlot","genSwitch","genLabel","attrs$","switchAttrs","title","left","onSwipeLeft","right","onSwipeRight","genProgress","VFabTransition","$slots","progress","color","size","width","indeterminate","onChange","onKeydown","keyCodes","prevent","Rippleable","Comparable","prop","event","id","inputValue","falseValue","trueValue","multiple","label","isDark","appIsDark","isMultiple","Array","isArray","internalValue","some","item","valueComparator","isDirty","rippleState","click","assign","toString","disabled","computedId","domProps","checked","blur","onBlur","change","focus","onFocus","keydown","onClick","isInteractive","filter","validate"],"mappings":"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","file":"assets/js/chunk-024b382e.f9e08a23.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 { 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 { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(VOverlay,{staticClass:\"d-flex align-center justify-center\",attrs:{\"absolute\":\"\",\"value\":(_vm.deleteVideoLoading && _vm.deletedVideoID == _vm.video.ID) ||\n (_vm.editVideoLoading && _vm.editedVideoID == _vm.video.ID)}},[_c(VProgressCircular,{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1),_c(VMenu,{attrs:{\"offset-y\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c(VBtn,_vm._g({attrs:{\"icon\":\"\"}},on),[_c(VIcon,[_vm._v(\"mdi-dots-vertical\")])],1)]}}])},[_c(VList,{attrs:{\"dense\":\"\"}},[_c(VListItem,{on:{\"click\":function($event){_vm.editDialog = true}}},[_c(VListItemSubtitle,{attrs:{\"disabled\":_vm.editVideoLoading}},[_c(VIcon,{staticClass:\"mr-2\",attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-pencil\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.editv\")))])],1)],1),_c(VListItem,{attrs:{\"disabled\":_vm.deleteVideoLoading},on:{\"click\":_vm.deleteVideo}},[_c(VListItemSubtitle,[_c(VIcon,{staticClass:\"mr-2\",attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-delete\")]),_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.delv\")))])],1)],1)],1)],1),_c(VDialog,{attrs:{\"max-width\":\"600px\",\"persistent\":\"\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c(VCard,[_c(VCardTitle,{staticClass:\"d-flex align-center\",staticStyle:{\"justify-content\":\"space-between\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"groups.editv\"))+\" #\"+_vm._s(_vm.video.ID))]),_c(VBtn,{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_c(VIcon,[_vm._v(\"mdi-close\")])],1)],1),_c(VCardText,[_c(VForm,{on:{\"submit\":function($event){$event.preventDefault();return _vm.editVideo($event)}}},[_c(VTextField,{attrs:{\"label\":_vm.$t('groups.vidtitlelabel'),\"error-messages\":_vm.titleErrors},model:{value:(_vm.titleEdit),callback:function ($$v) {_vm.titleEdit=$$v},expression:\"titleEdit\"}}),_c(VTextarea,{attrs:{\"label\":_vm.$t('groups.viddesc'),\"clearable\":\"\",\"auto-grow\":\"\",\"rows\":\"4\"},model:{value:(_vm.descriptionEdit),callback:function ($$v) {_vm.descriptionEdit=$$v},expression:\"descriptionEdit\"}}),_c(VSwitch,{attrs:{\"label\":_vm.$t('groups.vidpinlabel')},model:{value:(_vm.isPinnedEdit),callback:function ($$v) {_vm.isPinnedEdit=$$v},expression:\"isPinnedEdit\"}}),_c(VBtn,{attrs:{\"block\":\"\",\"elevation\":\"0\",\"type\":\"submit\",\"color\":\"primary\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"global.done\")))])])],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\n\n\n\n\n\n\n\n\n\n\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 { Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { GroupVideo } from \"@/core/models\";\r\n\r\n@Component\r\nexport default class GroupVideoMenu extends Vue {\r\n @Prop({ default: () => 0 }) groupId!: number;\r\n @Prop({ default: () => 0 }) pinnedVideoId!: number;\r\n @Prop({ default: () => ({} as GroupVideo) }) video!: GroupVideo;\r\n\r\n @Getter(\"groups/editVideoLoading\") editVideoLoading!: string;\r\n @Getter(\"groups/deleteVideoLoading\") deleteVideoLoading!: string;\r\n @Getter(\"groups/editedVideoID\") editedVideoID!: string;\r\n @Getter(\"groups/deletedVideoID\") deletedVideoID!: string;\r\n @Action(\"groups/editVideo\") editVideoAction!: Function;\r\n @Action(\"groups/deleteVideo\") deleteVideoAction!: Function;\r\n\r\n titleEdit = \"\";\r\n descriptionEdit = \"\";\r\n isPinnedEdit = false;\r\n editDialog = false;\r\n titleErrors: string[] = [];\r\n\r\n // Edit video\r\n @Watch(\"editDialog\")\r\n toggleEdit() {\r\n if (this.editDialog) {\r\n this.titleEdit = this.video.Title;\r\n this.descriptionEdit = this.video.Description;\r\n this.isPinnedEdit = this.video.ID == this.pinnedVideoId;\r\n } else {\r\n this.titleEdit = \"\";\r\n this.descriptionEdit = \"\";\r\n this.isPinnedEdit = false;\r\n }\r\n }\r\n\r\n editVideo(): void {\r\n if (this.editVideoLoading) return;\r\n if (this.titleEdit.trim().length == 0) {\r\n this.titleErrors.push(\"Enter a title!\");\r\n return;\r\n }\r\n let data = {\r\n groupId: this.groupId,\r\n videoId: this.video.ID,\r\n newTitle: this.titleEdit,\r\n newDescription: this.descriptionEdit,\r\n isPinned: this.isPinnedEdit,\r\n };\r\n this.editVideoAction(data);\r\n this.editDialog = false;\r\n }\r\n\r\n // Delete Video\r\n deleteVideo(): void {\r\n if (this.deleteVideoLoading) return;\r\n let data = {\r\n groupId: this.groupId,\r\n videoId: this.video.ID,\r\n };\r\n this.deleteVideoAction(data);\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!./GroupVideoMenu.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!./GroupVideoMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GroupVideoMenu.vue?vue&type=template&id=2bdbe6bc&\"\nimport script from \"./GroupVideoMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./GroupVideoMenu.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 null,\n null\n \n)\n\nexport default component.exports","// 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 autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\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","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\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.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// 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":""}