{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue","webpack:///src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue?a78f","webpack:///./src/modules/snapshot/components/TheSnapshotAssignmentSubmitDialog.vue?386e","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","baseMixins","mixins","Bootable","Colorable","RegistrableInject","data","parentIsActive","expansionPanel","watch","immediate","handler","val","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","render","h","VExpandTransition","showLazyContent","setBackgroundColor","color","staticClass","directives","class","getSlot","submitDialog","expression","attrs","_c","_vm","bundleData","_v","staticStyle","model","callback","handinIdentifier","on","staticRenderFns","assignmentShortId","currentInstance","mounted","assignmentLoading","component","ripple","disableIconRotate","expandIcon","type","String","default","hideActions","Object","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","e","$emit","genIcon","icon","$createElement","VIcon","VFadeTransition","tabindex","$listeners","click","mousedown","mouseup","open","GroupableFactory","RegistrableProvide","content","header","groupClasses","vm","$on","detail","$el","blur","toggle"],"mappings":"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","file":"static/js/chunk-d570905a.35639775.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","// 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","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"persistent\":_vm.assignmentLoading,\"max-width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"color\":\"primary\"}},on),[_vm._v(\"Hand-in\")])]}}]),model:{value:(_vm.submitDialog),callback:function ($$v) {_vm.submitDialog=$$v},expression:\"submitDialog\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('div',{staticClass:\"d-flex align-center w-100\"},[_c('span',{staticClass:\"text-uppercase secondary--text ml-1\"},[_vm._v(_vm._s(_vm.bundleData.long_id))]),_c('v-spacer')],1)]),_c('v-divider'),_c('v-card-text',[_c('div',{staticClass:\"d-flex flex-column mt-3\"},[_c('v-alert',{attrs:{\"type\":\"info\",\"outlined\":\"\"}},[_vm._v(\" The content of the following files / folders will be handed in, please make sure they exist otherwise hand-in will not succeed! \"),_c('v-expansion-panels',{staticClass:\"w-100\",attrs:{\"value\":[0],\"flat\":\"\",\"multiple\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',{staticClass:\"px-0\"},[_c('span',{staticClass:\"secondary--text font-weight-bold\"},[_vm._v(\"Files (\"+_vm._s(_vm.bundleData.objects.files.length)+\")\")])]),_c('v-expansion-panel-content',[_c('v-list',{staticClass:\"pa-0\",attrs:{\"dense\":\"\"}},[_c('v-list-item-group',{staticClass:\"pa-0 ma-0\",attrs:{\"color\":\"secondary\"}},_vm._l((_vm.bundleData.objects.files),function(file){return _c('v-list-item',{key:file,staticClass:\"pa-0\",staticStyle:{\"max-height\":\"5px\"}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-file-outline\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"subtitle-2\"},[_vm._v(_vm._s(file.slice(6)))])],1)],1)}),1)],1)],1)],1)],1)],1),_c('span',{staticClass:\"subtitle-2\"},[_vm._v(\" Please provide a hand-in identifier (e.g. exam code, email address, etc..) that is in line with your course policy and allows the instructor to match your work with your identifier. If unsure, please discuss the appropriate identifier with your instructor. \")]),_c('v-text-field',{staticClass:\"mt-3\",attrs:{\"autofocus\":\"\",\"label\":\"Hand-in identifier\",\"outlined\":\"\"},model:{value:(_vm.handinIdentifier),callback:function ($$v) {_vm.handinIdentifier=$$v},expression:\"handinIdentifier\"}})],1)]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.handinIdentifier,\"loading\":_vm.assignmentLoading,\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){return _vm.submitAssignment(_vm.handinIdentifier, _vm.assignmentShortId, _vm.bundleData.bid)}}},[_vm._v(\" Hand-in \")]),_c('v-btn',{attrs:{\"disabled\":_vm.assignmentLoading,\"color\":\"secondary\",\"text\":\"\"},on:{\"click\":function($event){_vm.submitDialog = false}}},[_vm._v(\"Close\")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--13-1!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=template&id=dca69798&\"\nimport script from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./TheSnapshotAssignmentSubmitDialog.vue?vue&type=script&lang=js&\"\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":""}