{"version":3,"sources":["webpack:///./src/components/Utils/ProgressResetButton.vue?22a2","webpack:///src/components/Utils/ProgressResetButton.vue","webpack:///./src/components/Utils/ProgressResetButton.vue?c4b8","webpack:///./src/components/Utils/ProgressResetButton.vue","webpack:///../../../src/components/VTooltip/VTooltip.ts","webpack:///./src/mixins/answerMixin.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./src/assets/logo.png","webpack:///../../../src/mixins/menuable/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","isTeacher","scopedSlots","_u","key","fn","ref","on","_g","staticClass","small","depressed","loading","$event","model","_v","value","callback","$$v","expression","onReset","staticRenderFns","props","stepType","stepUuid","type","Boolean","default","data","computed","$store","getters","profile","role","methods","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDialog","VSpacer","VTooltip","name","closeDelay","Number","disabled","fixed","openDelay","openOnHover","tag","transition","String","calculatedMinWidth","closeDependents","calculatedLeft","content","unknown","activatorLeft","attach","activator","left","top","right","parseInt","calcXOverflow","dimensions","calculatedTop","activatorTop","bottom","calcYOverflow","classes","computedTransition","isActive","offsetY","offsetX","styles","maxWidth","minWidth","opacity","zIndex","activeZIndex","beforeMount","mounted","activate","requestAnimationFrame","deactivate","genActivatorListeners","listeners","e","genTransition","genContent","setBackgroundColor","class","activatorFixed","style","directives","isContentActive","h","showLazyContent","finished","answers","$route","questions","map","question","uuid","student","email","$emit","onFinish","index","length","element","postAnswer","response","splice","create","getAnswer","question__uuid","student__email","count","push","results","extraCreate","created","watch","$","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","max","Math","min","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","target","proto","forced","start","deleteCount","insertCount","actualDeleteCount","A","k","from","to","O","len","actualStart","argumentsLength","arguments","TypeError","module","exports","baseMixins","allowOverflow","light","dark","nudgeBottom","nudgeLeft","nudgeRight","nudgeTop","nudgeWidth","offsetOverflow","openOnClick","positionX","positionY","absoluteX","absoluteY","activatedBy","width","height","offsetTop","scrollHeight","offsetLeft","hasJustFocused","hasWindow","inputActivator","pageWidth","pageYOffset","stackClass","stackMinZIndex","computedLeft","a","c","isNaN","computedTop","hasActivator","$slots","$scopedSlots","val","window","absolutePosition","calcLeft","calcTop","xOverflow","documentHeight","toTop","contentHeight","totalHeight","isOverflowing","callActivate","callDeactivate","checkForPageYOffset","checkActivatorFixed","el","onClick","getInnerHeight","document","getOffsetLeft","getOffsetTop","getRoundedBoundedClientRect","rect","measure","sneakPeek","cb","startTransition","Promise","resolve","updateDimensions"],"mappings":"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","file":"js/chunk-696450c0.4ab5b4e5.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tooltip',{attrs:{\"bottom\":\"\",\"disabled\":_vm.isTeacher},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"d-inline-block\"},on),[_c('v-btn',{staticClass:\"white--text text-capitalize\",attrs:{\"small\":_vm.small,\"depressed\":_vm.depressed,\"width\":\"100\",\"disabled\":!_vm.isTeacher,\"loading\":_vm.loading,\"color\":\"#29284c\"},on:{\"click\":function($event){_vm.model = true}}},[_vm._v(\" Reset \")]),_c('v-dialog',{attrs:{\"max-width\":\"400\"},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\"Reset Progress\")]),_c('v-card-text',[_c('p',[_vm._v(\" Want to reset your student's job in this activity? \")])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"text-capitalize\",attrs:{\"small\":\"\",\"loading\":_vm.loading,\"color\":\"#29284c\",\"text\":\"\"},on:{\"click\":function($event){_vm.model = false}}},[_vm._v(\" Cancel \")]),_c('v-btn',{staticClass:\"white--text text-capitalize\",attrs:{\"small\":\"\",\"loading\":_vm.loading,\"color\":\"#29284c\"},on:{\"click\":_vm.onReset}},[_vm._v(\" Confirm \")])],1)],1)],1)],1)]}}])},[_vm._v(\" If you want to reset your progress, please contact your teacher. \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n Reset\n \n \n \n Reset Progress\n \n \n Want to reset your student's job in this activity?\n \n \n \n \n \n Cancel\n \n \n Confirm\n \n \n \n \n \n \n If you want to reset your progress, please contact your teacher.\n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressResetButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProgressResetButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressResetButton.vue?vue&type=template&id=cbd889d6&\"\nimport script from \"./ProgressResetButton.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressResetButton.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { 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 { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VSpacer,VTooltip})\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Detachable, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n fixed: {\n type: Boolean,\n default: true,\n },\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return `${this.calcYOverflow(top + this.pageYOffset)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try ''`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n","import { getAnswer, postAnswer } from '@/api/api';\n\nexport default {\n data() {\n return {\n finished: false,\n loading: false,\n answers: [],\n };\n },\n computed: {\n stepType() {\n if (this.$route.name === 'guided-lesson') {\n return 'TEACH_EXERCISE';\n }\n return 'GRAMMAR_EXERCISE';\n },\n },\n methods: {\n onReset() {\n this.answers = this.questions.map(question => ({\n content: '',\n question: question.uuid,\n student: this.student.email,\n }));\n this.finished = false;\n this.$emit('reset');\n },\n async onFinish() {\n if (!this.finished) {\n this.loading = true;\n for (let index = 0; index < this.answers.length; index++) {\n const element = this.answers[index];\n const response = await postAnswer(element);\n if (response) {\n this.answers.splice(index, 1, response.data);\n }\n }\n\n this.finished = true;\n this.loading = false;\n }\n this.$emit('finished');\n },\n async create() {\n this.answers = [];\n\n this.loading = true;\n\n for (let index = 0; index < this.questions.length; index++) {\n const element = this.questions[index];\n const response = await getAnswer({\n question__uuid: element.uuid,\n student__email: this.student.email,\n });\n\n if (response && response.data.count) {\n this.answers.push(response.data.results[0]);\n } else\n this.answers.push({\n question: element.uuid,\n student: this.student.email,\n content: '',\n });\n }\n\n if (this.answers[0] && this.answers[0].uuid) {\n this.finished = true;\n this.$emit('already-finished');\n }\n if (this.extraCreate) this.extraCreate();\n this.loading = false;\n },\n },\n async created() {\n this.create();\n },\n watch: {\n questions() {\n this.create();\n },\n },\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","module.exports = __webpack_public_path__ + \"img/logo.586f55a4.png\";","// Mixins\nimport Positionable from '../positionable'\nimport Stackable from '../stackable'\nimport Activatable from '../activatable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(\n Stackable,\n Positionable,\n Activatable\n)\n\ninterface options extends ExtractVue {\n attach: boolean | string | Element\n offsetY: boolean\n offsetX: boolean\n $refs: {\n content: HTMLElement\n activator: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'menuable',\n\n props: {\n allowOverflow: Boolean,\n light: Boolean,\n dark: Boolean,\n maxWidth: {\n type: [Number, String],\n default: 'auto',\n },\n minWidth: [Number, String],\n nudgeBottom: {\n type: [Number, String],\n default: 0,\n },\n nudgeLeft: {\n type: [Number, String],\n default: 0,\n },\n nudgeRight: {\n type: [Number, String],\n default: 0,\n },\n nudgeTop: {\n type: [Number, String],\n default: 0,\n },\n nudgeWidth: {\n type: [Number, String],\n default: 0,\n },\n offsetOverflow: Boolean,\n openOnClick: Boolean,\n positionX: {\n type: Number,\n default: null,\n },\n positionY: {\n type: Number,\n default: null,\n },\n zIndex: {\n type: [Number, String],\n default: null,\n },\n },\n\n data: () => ({\n absoluteX: 0,\n absoluteY: 0,\n activatedBy: null as EventTarget | null,\n activatorFixed: false,\n dimensions: {\n activator: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n offsetLeft: 0,\n },\n content: {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: 0,\n height: 0,\n offsetTop: 0,\n scrollHeight: 0,\n },\n },\n hasJustFocused: false,\n hasWindow: false,\n inputActivator: false,\n isContentActive: false,\n pageWidth: 0,\n pageYOffset: 0,\n stackClass: 'v-menu__content--active',\n stackMinZIndex: 6,\n }),\n\n computed: {\n computedLeft () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0\n const minWidth = Math.max(a.width, c.width)\n let left = 0\n left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft\n if (this.offsetX) {\n const maxWidth = isNaN(Number(this.maxWidth))\n ? a.width\n : Math.min(a.width, Number(this.maxWidth))\n\n left += this.left ? -maxWidth : a.width\n }\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return left\n },\n computedTop () {\n const a = this.dimensions.activator\n const c = this.dimensions.content\n let top = 0\n\n if (this.top) top += a.height - c.height\n if (this.attach !== false) top += a.offsetTop\n else top += a.top + this.pageYOffset\n if (this.offsetY) top += this.top ? -a.height : a.height\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return top\n },\n hasActivator (): boolean {\n return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator\n },\n },\n\n watch: {\n disabled (val) {\n val && this.callDeactivate()\n },\n isActive (val) {\n if (this.disabled) return\n\n val ? this.callActivate() : this.callDeactivate()\n },\n positionX: 'updateDimensions',\n positionY: 'updateDimensions',\n },\n\n beforeMount () {\n this.hasWindow = typeof window !== 'undefined'\n },\n\n methods: {\n absolutePosition () {\n return {\n offsetTop: 0,\n offsetLeft: 0,\n scrollHeight: 0,\n top: this.positionY || this.absoluteY,\n bottom: this.positionY || this.absoluteY,\n left: this.positionX || this.absoluteX,\n right: this.positionX || this.absoluteX,\n height: 0,\n width: 0,\n }\n },\n activate () {},\n calcLeft (menuWidth: number) {\n return convertToUnit(this.attach !== false\n ? this.computedLeft\n : this.calcXOverflow(this.computedLeft, menuWidth))\n },\n calcTop () {\n return convertToUnit(this.attach !== false\n ? this.computedTop\n : this.calcYOverflow(this.computedTop))\n },\n calcXOverflow (left: number, menuWidth: number) {\n const xOverflow = left + menuWidth - this.pageWidth + 12\n\n if ((!this.left || this.right) && xOverflow > 0) {\n left = Math.max(left - xOverflow, 0)\n } else {\n left = Math.max(left, 12)\n }\n\n return left + this.getOffsetLeft()\n },\n calcYOverflow (top: number) {\n const documentHeight = this.getInnerHeight()\n const toTop = this.pageYOffset + documentHeight\n const activator = this.dimensions.activator\n const contentHeight = this.dimensions.content.height\n const totalHeight = top + contentHeight\n const isOverflowing = toTop < totalHeight\n\n // If overflowing bottom and offset\n // TODO: set 'bottom' position instead of 'top'\n if (isOverflowing &&\n this.offsetOverflow &&\n // If we don't have enough room to offset\n // the overflow, don't offset\n activator.top > contentHeight\n ) {\n top = this.pageYOffset + (activator.top - contentHeight)\n // If overflowing bottom\n } else if (isOverflowing && !this.allowOverflow) {\n top = toTop - contentHeight - 12\n // If overflowing top\n } else if (top < this.pageYOffset && !this.allowOverflow) {\n top = this.pageYOffset + 12\n }\n\n return top < 12 ? 12 : top\n },\n callActivate () {\n if (!this.hasWindow) return\n\n this.activate()\n },\n callDeactivate () {\n this.isContentActive = false\n\n this.deactivate()\n },\n checkForPageYOffset () {\n if (this.hasWindow) {\n this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop()\n }\n },\n checkActivatorFixed () {\n if (this.attach !== false) return\n let el = this.getActivator()\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n this.activatorFixed = true\n return\n }\n el = el.offsetParent as HTMLElement\n }\n this.activatorFixed = false\n },\n deactivate () {},\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n const onClick = listeners.click\n\n listeners.click = (e: MouseEvent & KeyboardEvent & FocusEvent) => {\n if (this.openOnClick) {\n onClick && onClick(e)\n }\n\n this.absoluteX = e.clientX\n this.absoluteY = e.clientY\n }\n\n return listeners\n },\n getInnerHeight () {\n if (!this.hasWindow) return 0\n\n return window.innerHeight ||\n document.documentElement.clientHeight\n },\n getOffsetLeft () {\n if (!this.hasWindow) return 0\n\n return window.pageXOffset ||\n document.documentElement.scrollLeft\n },\n getOffsetTop () {\n if (!this.hasWindow) return 0\n\n return window.pageYOffset ||\n document.documentElement.scrollTop\n },\n getRoundedBoundedClientRect (el: Element) {\n const rect = el.getBoundingClientRect()\n return {\n top: Math.round(rect.top),\n left: Math.round(rect.left),\n bottom: Math.round(rect.bottom),\n right: Math.round(rect.right),\n width: Math.round(rect.width),\n height: Math.round(rect.height),\n }\n },\n measure (el: HTMLElement) {\n if (!el || !this.hasWindow) return null\n\n const rect = this.getRoundedBoundedClientRect(el)\n\n // Account for activator margin\n if (this.attach !== false) {\n const style = window.getComputedStyle(el)\n\n rect.left = parseInt(style.marginLeft!)\n rect.top = parseInt(style.marginTop!)\n }\n\n return rect\n },\n sneakPeek (cb: () => void) {\n requestAnimationFrame(() => {\n const el = this.$refs.content\n\n if (!el || el.style.display !== 'none') {\n cb()\n return\n }\n\n el.style.display = 'inline-block'\n cb()\n el.style.display = 'none'\n })\n },\n startTransition () {\n return new Promise(resolve => requestAnimationFrame(() => {\n this.isContentActive = this.hasJustFocused = this.isActive\n resolve()\n }))\n },\n updateDimensions () {\n this.hasWindow = typeof window !== 'undefined'\n this.checkActivatorFixed()\n this.checkForPageYOffset()\n this.pageWidth = document.documentElement.clientWidth\n\n const dimensions: any = {\n activator: { ...this.dimensions.activator },\n content: { ...this.dimensions.content },\n }\n\n // Activator should already be shown\n if (!this.hasActivator || this.absolute) {\n dimensions.activator = this.absolutePosition()\n } else {\n const activator = this.getActivator()\n if (!activator) return\n\n dimensions.activator = this.measure(activator)\n dimensions.activator.offsetLeft = activator.offsetLeft\n if (this.attach !== false) {\n // account for css padding causing things to not line up\n // this is mostly for v-autocomplete, hopefully it won't break anything\n dimensions.activator.offsetTop = activator.offsetTop\n } else {\n dimensions.activator.offsetTop = 0\n }\n }\n\n // Display and hide to get dimensions\n this.sneakPeek(() => {\n this.$refs.content && (dimensions.content = this.measure(this.$refs.content))\n\n this.dimensions = dimensions\n })\n },\n },\n})\n"],"sourceRoot":""}
\n Want to reset your student's job in this activity?\n