{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/views/seminars/components/Block.vue?ec4a","webpack:///./src/views/seminars/components/Block.vue?ee6d","webpack:///./src/views/seminars/components/Block.vue","webpack:///./src/views/seminars/components/Block.vue?1ae6","webpack:///./src/views/seminars/components/Block.vue?1de5","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":["baseMixins","mixins","Bootable","Colorable","RegistrableInject","extend","name","data","isActive","computed","parentIsActive","this","expansionPanel","watch","immediate","handler","val","oldVal","isBooted","$nextTick","created","registerContent","beforeDestroy","unregisterContent","render","h","VExpandTransition","showLazyContent","setBackgroundColor","color","staticClass","directives","value","class","getSlot","_vm","_h","$createElement","_c","_self","VExpansionPanel","current","blockIndex","index","attrs","VExpansionPanelHeader","_v","_s","block","title","description","VExpansionPanelContent","$t","_l","el","i","key","last","elements","length","on","$event","selectEl","isCurrentElement","completed","isComplete","skipped","isSkipped","VIcon","_e","first","staticRenderFns","Block","blocks","elementIndex","e","elementStatus","seminar","prevBlock","lastElOfPrevBlock","prevEl","set","Vue","__decorate","Prop","default","Getter","Action","Component","component","ripple","props","disableIconRotate","Boolean","expandIcon","type","String","hideActions","Object","hasMousedown","classes","isDisabled","isReadonly","registerHeader","unregisterHeader","methods","onClick","$emit","genIcon","icon","VFadeTransition","tabindex","$listeners","click","mousedown","mouseup","open","GroupableFactory","RegistrableProvide","disabled","readonly","content","header","nextIsActive","groupClasses","expansionPanels","vm","$on","detail","$el","blur","toggle"],"mappings":"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","file":"assets/js/chunk-9cd6770a.710dca3f.js","sourcesContent":["// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Block.vue?vue&type=style&index=0&id=27d7f242&prod&lang=scss&\"","import { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VExpansionPanel,{staticClass:\"block\",class:{ current: _vm.blockIndex === _vm.index },attrs:{\"id\":(\"block-\" + _vm.index)}},[_c(VExpansionPanelHeader,[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.block.title))]),_c('div',{staticClass:\"accentText--text\"},[_vm._v(_vm._s(_vm.block.description))])])]),_c(VExpansionPanelContent,[_c('h4',[_vm._v(_vm._s(_vm.$t(\"seminars.tasks\")))]),_c('div',_vm._l((_vm.block.elements),function(el,i){return _c('div',{key:i,staticClass:\"element\",class:{ last: i === _vm.block.elements.length - 1 },attrs:{\"id\":(\"element-\" + _vm.index + \"-\" + i)},on:{\"click\":function($event){return _vm.selectEl(i)}}},[_c('div',{staticClass:\"utils-container\"},[_c('div',{staticClass:\"circle\",class:{\n current: _vm.isCurrentElement(_vm.index, i),\n completed: _vm.isComplete(el),\n skipped: _vm.isSkipped(el),\n }},[(_vm.isComplete(el))?_c(VIcon,{attrs:{\"small\":\"\",\"color\":\"other\"}},[_vm._v(\" mdi-check \")]):_vm._e(),(_vm.isSkipped(el))?_c(VIcon,{attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(\" mdi-skip-next \")]):_vm._e()],1),_c('div',{staticClass:\"line\",class:{ first: i === 0, completed: _vm.isComplete(el) }})]),_c('div',{staticClass:\"title text-truncate\",class:{ current: _vm.isCurrentElement(_vm.index, i) }},[_c('div',{staticClass:\"text-truncate\"},[_vm._v(_vm._s(el.title))])])])}),0)])],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\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { Seminar, SeminarBlock, SeminarElement } from \"@/core/models\";\r\nimport { elementStatus } from \"@/core/utils/seminars\";\r\n\r\n@Component\r\nexport default class Block extends Vue {\r\n @Prop({ default: () => 0 }) index!: number;\r\n\r\n @Getter(\"seminars/selected\") seminar!: Seminar;\r\n @Getter(\"seminars/blocks\") blocks!: SeminarBlock[];\r\n @Getter(\"seminars/blockIndex\") blockIndex!: number;\r\n @Getter(\"seminars/elementIndex\") elementIndex!: number;\r\n @Getter(\"profile/id\") userId!: string;\r\n\r\n @Action(\"seminars/setindices\") set!: (d: [number, number]) => void;\r\n\r\n get block() {\r\n return this.blocks[this.index];\r\n }\r\n\r\n isCurrentElement(block: number, el: number) {\r\n return this.blockIndex === block && this.elementIndex === el;\r\n }\r\n\r\n isComplete(e: SeminarElement) {\r\n return elementStatus(e, this.seminar) === \"completed\";\r\n }\r\n\r\n isSkipped(e: SeminarElement) {\r\n return elementStatus(e, this.seminar) === \"skipped\";\r\n }\r\n\r\n selectEl(i: number) {\r\n const prevBlock = this.index - 1 < 0 ? null : this.blocks[this.index - 1];\r\n const lastElOfPrevBlock =\r\n prevBlock?.elements[prevBlock.elements.length - 1];\r\n const prevEl =\r\n i === 0 ? lastElOfPrevBlock : this.blocks[this.index].elements[i - 1];\r\n\r\n if (!prevEl || elementStatus(prevEl, this.seminar) !== \"active\")\r\n this.set([this.index, i]);\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!./Block.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!./Block.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Block.vue?vue&type=template&id=27d7f242&\"\nimport script from \"./Block.vue?vue&type=script&lang=ts&\"\nexport * from \"./Block.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Block.vue?vue&type=style&index=0&id=27d7f242&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n"],"sourceRoot":""}