{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VGrid/VRow.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VSimpleTable.js","webpack:///./src/common/validationRules.js","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VCol.js","webpack:///./src/views/induction_programme/InductionProgramme.vue?5568","webpack:///src/views/induction_programme/InductionProgramme.vue","webpack:///./src/views/induction_programme/InductionProgramme.vue?39d1","webpack:///./src/views/induction_programme/InductionProgramme.vue?618e","webpack:///./src/views/induction_programme/InductionProgramme.vue?3e45","webpack:///./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","extend","name","functional","tag","dense","Boolean","noGutters","h","data","children","cacheKey","classList","get","forEach","value","push","set","staticClass","class","fixedHeader","height","Number","computed","this","themeClasses","methods","$slots","wrapper","$createElement","style","classes","top","genWrapper","bottom","validationRules","email","test","password","length","firstName","lastName","title","v","titleShort","description","select","required","trim","requiredNumber","inheritAttrs","lazyValidation","inputs","watchers","errorBag","watch","errors","values","$emit","deep","immediate","input","watcher","$watch","$set","_uid","valid","shouldValidate","hasOwnProperty","filter","validate","reset","resetErrorBag","setTimeout","resetValidation","watchInput","found","find","i","unwatch","$delete","attrs","novalidate","attrs$","on","submit","e","breakpointProps","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","render","_vm","_h","_c","_self","scopedSlots","_u","key","fn","selectedRole","saveLoading","saveCourses","_v","proxy","rolesLoading","roles","getCoursesHandler","model","callback","$$v","expression","getLoading","directives","rawName","courses","ref","staticStyle","_l","item","rules","checkUniq","$event","removeCourse","_e","addNewCourse","snackbarColor","snackbar","_s","snackbarText","staticRenderFns","component","VAutocomplete","VBtn","VCol","VContainer","VForm","VIcon","VProgressCircular","VRow","VSimpleTable","VSnackbar","VTextField","defaultMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","Function","queryText","itemText","toLocaleLowerCase","indexOf","hideNoData","menuProps","options","noFilter","searchInput","undefined","lazySearch","call","selectedIndex","filteredItems","selectedItems","map","getValue","hideSelected","hasItem","selectedItem","getText","isSearching","internalSearch","allItems","searchIsDirty","multiple","isFocused","hasDisplayedItems","$_menuProps","contentClass","valueComparator","internalValue","listData","items","virtualizedItems","document","addEventListener","onCopy","$refs","removeEventListener","updateSelf","hasSlot","oldVal","isMenuActive","activateMenu","setSearch","setMenuIndex","$nextTick","menu","getTiles","updateMenuDimensions","updateDimensions","keyCode","left","right","backspace","delete","deleteCurrentItem","readonly","index","currentItem","getDisabled","newIndex","setValue","selectItem","clearableCallback","genInput","autocomplete","domProps","slot","genInputSlot","role","genSelections","isDisabled","onFocus","isAppendInner","target","badInput","validity","onKeyDown","changeSelectedIndex","onTabDown","preventDefault","setSelectedItems","selectedValues","event","currentItemText","clipboardData","setData"],"mappings":"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","file":"js/chunk-5374e8d4.730db7b5.js","sourcesContent":["import \"../../../src/components/VGrid/VGrid.sass\";\nimport Vue from 'vue';\nimport mergeData from '../../util/mergeData';\nimport { upperFirst } from '../../util/helpers'; // no xs\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl'];\nconst ALIGNMENT = ['start', 'end', 'center'];\n\nfunction makeProps(prefix, def) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def();\n return props;\n }, {});\n}\n\nconst alignValidator = str => [...ALIGNMENT, 'baseline', 'stretch'].includes(str);\n\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator\n}));\n\nconst justifyValidator = str => [...ALIGNMENT, 'space-between', 'space-around'].includes(str);\n\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator\n}));\n\nconst alignContentValidator = str => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str);\n\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator\n}));\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content'\n};\n\nfunction breakpointClass(type, prop, val) {\n let className = classMap[type];\n\n if (val == null) {\n return undefined;\n }\n\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n } // .align-items-sm-center\n\n\n className += `-${val}`;\n return className.toLowerCase();\n}\n\nconst cache = new Map();\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator\n },\n ...alignContentProps\n },\n\n render(h, {\n props,\n data,\n children\n }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = '';\n\n for (const prop in props) {\n cacheKey += String(props[prop]);\n }\n\n let classList = cache.get(cacheKey);\n\n if (!classList) {\n classList = []; // Loop through `align`, `justify`, `alignContent` breakpoint props\n\n let type;\n\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent\n });\n cache.set(cacheKey, classList);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n\n});\n//# sourceMappingURL=VRow.js.map","import \"../../../src/components/VDataTable/VSimpleTable.sass\";\nimport { convertToUnit } from '../../util/helpers';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String]\n },\n computed: {\n classes() {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n ...this.themeClasses\n };\n }\n\n },\n methods: {\n genWrapper() {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height)\n }\n }, [this.$createElement('table', this.$slots.default)]);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes\n }, [this.$slots.top, this.genWrapper(), this.$slots.bottom]);\n }\n\n});\n//# sourceMappingURL=VSimpleTable.js.map","const validationRules = {\n email: [\n val => !!val || 'E-mail is required',\n val => /.+@.+/.test(val) || 'E-mail must be valid'\n ],\n password: [\n val => !!val || 'Password is required',\n val => (val && (val.length >= 8 && val.length <= 16)) || 'Password must be between 8 and 16 characters'\n ],\n firstName: [\n val => !!val || 'First name is required',\n val => (val && (val.length >= 2 && val.length <= 32)) || 'First name must be between 2 and 32 characters'\n ],\n lastName: [\n val => !!val || 'Last name is required',\n val => (val && (val.length >= 2 && val.length <= 32)) || 'First name must be between 2 and 32 characters'\n ],\n title: [\n v => !!v || 'Title is required',\n v => (v && (v.length > 3 && v.length <= 100)) || 'Title must be between 3 and 100 characters'\n ],\n titleShort: [\n v => !!v || 'Title is required',\n v => (v && (v.length >= 2 && v.length <= 100)) || 'Title must be between 2 and 100 characters'\n ],\n description: [\n v => (v && v.length <= 10000) || 'Description must be less then 10000'\n ],\n select: [\n v => !!v || 'Please select correct value from the list'\n ],\n required: value => (!!value && !!value.trim()) || 'Required',\n requiredNumber: value => (value && !!value) || 'Required'\n}\n\nexport default validationRules\n","// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n name: 'v-form',\n inheritAttrs: false,\n props: {\n lazyValidation: Boolean,\n value: Boolean\n },\n data: () => ({\n inputs: [],\n watchers: [],\n errorBag: {}\n }),\n watch: {\n errorBag: {\n handler(val) {\n const errors = Object.values(val).includes(true);\n this.$emit('input', !errors);\n },\n\n deep: true,\n immediate: true\n }\n },\n methods: {\n watchInput(input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val);\n }, {\n immediate: true\n });\n };\n\n const watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {}\n };\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\n if (!val) return; // Only watch if we're not already doing it\n\n if (this.errorBag.hasOwnProperty(input._uid)) return;\n watchers.valid = watcher(input);\n });\n } else {\n watchers.valid = watcher(input);\n }\n\n return watchers;\n },\n\n /** @public */\n validate() {\n return this.inputs.filter(input => !input.validate(true)).length === 0;\n },\n\n /** @public */\n reset() {\n this.inputs.forEach(input => input.reset());\n this.resetErrorBag();\n },\n\n resetErrorBag() {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {};\n }, 0);\n }\n },\n\n /** @public */\n resetValidation() {\n this.inputs.forEach(input => input.resetValidation());\n this.resetErrorBag();\n },\n\n register(input) {\n this.inputs.push(input);\n this.watchers.push(this.watchInput(input));\n },\n\n unregister(input) {\n const found = this.inputs.find(i => i._uid === input._uid);\n if (!found) return;\n const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n if (unwatch) {\n unwatch.valid();\n unwatch.shouldValidate();\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n this.$delete(this.errorBag, found._uid);\n }\n\n },\n\n render(h) {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$\n },\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VForm.js.map","import \"../../../src/components/VGrid/VGrid.sass\";\nimport Vue from 'vue';\nimport mergeData from '../../util/mergeData';\nimport { upperFirst } from '../../util/helpers'; // no xs\n\nconst breakpoints = ['sm', 'md', 'lg', 'xl'];\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false\n };\n return props;\n }, {});\n})();\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps)\n};\n\nfunction breakpointClass(type, prop, val) {\n let className = type;\n\n if (val == null || val === false) {\n return undefined;\n }\n\n if (prop) {\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n } // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n\n\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase();\n } // .order-md-6\n\n\n className += `-${val}`;\n return className.toLowerCase();\n}\n\nconst cache = new Map();\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: str => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str)\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n\n render(h, {\n props,\n data,\n children,\n parent\n }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = '';\n\n for (const prop in props) {\n cacheKey += String(props[prop]);\n }\n\n let classList = cache.get(cacheKey);\n\n if (!classList) {\n classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n let type;\n\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'));\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf\n });\n cache.set(cacheKey, classList);\n }\n\n return h(props.tag, mergeData(data, {\n class: classList\n }), children);\n }\n\n});\n//# sourceMappingURL=VCol.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"px-0 elevation-4 py-0 grey lighten-4\",attrs:{\"fluid\":\"\"}},[_c('main-app-bar',{attrs:{\"title\":\"Master Induction Programme\"},scopedSlots:_vm._u([{key:\"buttons\",fn:function(){return [_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":!_vm.selectedRole || _vm.saveLoading,\"loading\":_vm.saveLoading},on:{\"click\":_vm.saveCourses}},[_vm._v(\"Save\")])]},proxy:true}])}),_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"auto\"}},[_c('v-autocomplete',{attrs:{\"loading\":_vm.rolesLoading,\"disabled\":_vm.rolesLoading || _vm.saveLoading,\"items\":_vm.roles,\"item-text\":\"value\",\"item-value\":\"id\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"label\":\"Role\"},on:{\"change\":_vm.getCoursesHandler},model:{value:(_vm.selectedRole),callback:function ($$v) {_vm.selectedRole=$$v},expression:\"selectedRole\"}})],1)],1)],1),_c('v-container',{staticClass:\"white py-4 px-0\"},[(!_vm.getLoading)?[_c('v-form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.courses.length),expression:\"courses.length\"}],ref:\"coursesForm\"},[_c('v-simple-table',{staticClass:\"program-table mb-4\",scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\",staticStyle:{\"width\":\"130px\"}},[_vm._v(\" Code \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Name \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Category \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Sub Category \")]),_c('th',{staticClass:\"text-left\",staticStyle:{\"width\":\"100px\"}})])]),_c('tbody',_vm._l((_vm.courses),function(item){return _c('tr',{key:item.key},[_c('td',{staticClass:\"py-2\"},[_c('v-text-field',{attrs:{\"disabled\":_vm.saveLoading,\"rules\":[_vm.rules.required, _vm.checkUniq],\"outlined\":\"\",\"background-color\":\"grey lighten-3\",\"dense\":\"\",\"hide-details\":\"\"},model:{value:(item.code),callback:function ($$v) {_vm.$set(item, \"code\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.code\"}})],1),_c('td',{staticClass:\"py-2\"},[_c('v-text-field',{attrs:{\"disabled\":_vm.saveLoading,\"rules\":[_vm.rules.required],\"outlined\":\"\",\"background-color\":\"grey lighten-3\",\"dense\":\"\",\"hide-details\":\"\"},model:{value:(item.name),callback:function ($$v) {_vm.$set(item, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.name\"}})],1),_c('td',{staticClass:\"py-2\"},[_c('v-text-field',{attrs:{\"disabled\":_vm.saveLoading,\"rules\":[_vm.rules.required],\"outlined\":\"\",\"background-color\":\"grey lighten-3\",\"dense\":\"\",\"hide-details\":\"\"},model:{value:(item.category),callback:function ($$v) {_vm.$set(item, \"category\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.category\"}})],1),_c('td',{staticClass:\"py-2\"},[_c('v-text-field',{attrs:{\"disabled\":_vm.saveLoading,\"rules\":[_vm.rules.required],\"outlined\":\"\",\"background-color\":\"grey lighten-3\",\"dense\":\"\",\"hide-details\":\"\"},model:{value:(item.subcategory),callback:function ($$v) {_vm.$set(item, \"subcategory\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.subcategory\"}})],1),_c('td',{staticClass:\"text-center py-2\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.saveLoading},on:{\"click\":function($event){return _vm.removeCourse(item)}}},[_c('v-icon',{attrs:{\"color\":\"gray\"}},[_vm._v(\"mdi-delete\")])],1)],1)])}),0)]},proxy:true}],null,false,2580157730)})],1),(!_vm.courses.length)?_c('div',{staticClass:\"text-center grey--text py-4\"},[_vm._v(\"No data available\")]):_vm._e(),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.saveLoading || !_vm.selectedRole},on:{\"click\":_vm.addNewCourse}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$plus\")]),_vm._v(\" Add \")],1)],1)]:_c('div',{staticClass:\"py-8 text-center\"},[_c('v-progress-circular',{attrs:{\"width\":\"2\",\"size\":\"28\",\"color\":\"primary\",\"indeterminate\":\"\"}})],1)],2),_c('v-snackbar',{staticClass:\"text-center justify-center\",attrs:{\"color\":_vm.snackbarColor,\"timeout\":5000,\"top\":true},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('div',{staticClass:\"text-center flex-grow-1\"},[_vm._v(_vm._s(_vm.snackbarText))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InductionProgramme.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InductionProgramme.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InductionProgramme.vue?vue&type=template&id=2ebffe4d&scoped=true&\"\nimport script from \"./InductionProgramme.vue?vue&type=script&lang=js&\"\nexport * from \"./InductionProgramme.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InductionProgramme.vue?vue&type=style&index=0&id=2ebffe4d&lang=scss&scoped=true&\"\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 \"2ebffe4d\",\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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VBtn,VCol,VContainer,VForm,VIcon,VProgressCircular,VRow,VSimpleTable,VSnackbar,VTextField})\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InductionProgramme.vue?vue&type=style&index=0&id=2ebffe4d&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--17-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InductionProgramme.vue?vue&type=style&index=0&id=2ebffe4d&lang=scss&scoped=true&\"","// Styles\nimport \"../../../src/components/VAutocomplete/VAutocomplete.sass\"; // Extensions\n\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect';\nimport VTextField from '../VTextField/VTextField'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { keyCodes, getObjectValueByPath } from '../../util/helpers';\nconst defaultMenuProps = { ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false\n};\n/* @vue/component */\n\nexport default VSelect.extend({\n name: 'v-autocomplete',\n props: {\n allowOverflow: {\n type: Boolean,\n default: true\n },\n autoSelectFirst: {\n type: Boolean,\n default: false\n },\n filter: {\n type: Function,\n default: (item, queryText, itemText) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1;\n }\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps\n },\n noFilter: Boolean,\n searchInput: {\n type: String,\n default: undefined\n }\n },\n\n data() {\n return {\n lazySearch: this.searchInput\n };\n },\n\n computed: {\n classes() {\n return { ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n };\n },\n\n computedItems() {\n return this.filteredItems;\n },\n\n selectedValues() {\n return this.selectedItems.map(item => this.getValue(item));\n },\n\n hasDisplayedItems() {\n return this.hideSelected ? this.filteredItems.some(item => !this.hasItem(item)) : this.filteredItems.length > 0;\n },\n\n currentRange() {\n if (this.selectedItem == null) return 0;\n return String(this.getText(this.selectedItem)).length;\n },\n\n filteredItems() {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems;\n return this.allItems.filter(item => this.filter(item, String(this.internalSearch), String(this.getText(item))));\n },\n\n internalSearch: {\n get() {\n return this.lazySearch;\n },\n\n set(val) {\n this.lazySearch = val;\n this.$emit('update:search-input', val);\n }\n\n },\n\n isAnyValueAllowed() {\n return false;\n },\n\n isDirty() {\n return this.searchIsDirty || this.selectedItems.length > 0;\n },\n\n isSearching() {\n return this.multiple && this.searchIsDirty || this.searchIsDirty && this.internalSearch !== this.getText(this.selectedItem);\n },\n\n menuCanShow() {\n if (!this.isFocused) return false;\n return this.hasDisplayedItems || !this.hideNoData;\n },\n\n $_menuProps() {\n const props = VSelect.options.computed.$_menuProps.call(this);\n props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim();\n return { ...defaultMenuProps,\n ...props\n };\n },\n\n searchIsDirty() {\n return this.internalSearch != null && this.internalSearch !== '';\n },\n\n selectedItem() {\n if (this.multiple) return null;\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue));\n });\n },\n\n listData() {\n const data = VSelect.options.computed.listData.call(this);\n data.props = { ...data.props,\n items: this.virtualizedItems,\n noFilter: this.noFilter || !this.isSearching || !this.filteredItems.length,\n searchInput: this.internalSearch\n };\n return data;\n }\n\n },\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n\n isFocused(val) {\n if (val) {\n document.addEventListener('copy', this.onCopy);\n this.$refs.input && this.$refs.input.select();\n } else {\n document.removeEventListener('copy', this.onCopy);\n this.updateSelf();\n }\n },\n\n isMenuActive(val) {\n if (val || !this.hasSlot) return;\n this.lazySearch = undefined;\n },\n\n items(val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (!(oldVal && oldVal.length) && this.hideNoData && this.isFocused && !this.isMenuActive && val.length) this.activateMenu();\n },\n\n searchInput(val) {\n this.lazySearch = val;\n },\n\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf'\n },\n\n created() {\n this.setSearch();\n },\n\n methods: {\n onFilteredItemsChanged(val, oldVal) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return;\n this.setMenuIndex(-1);\n this.$nextTick(() => {\n if (!this.internalSearch || val.length !== 1 && !this.autoSelectFirst) return;\n this.$refs.menu.getTiles();\n this.setMenuIndex(0);\n });\n },\n\n onInternalSearchChanged() {\n this.updateMenuDimensions();\n },\n\n updateMenuDimensions() {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions();\n },\n\n changeSelectedIndex(keyCode) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return;\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1;\n } else {\n this.selectedIndex--;\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1;\n } else {\n this.selectedIndex++;\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem();\n }\n },\n\n deleteCurrentItem() {\n if (this.readonly) return;\n const index = this.selectedItems.length - 1;\n\n if (this.selectedIndex === -1 && index !== 0) {\n this.selectedIndex = index;\n return;\n }\n\n const currentItem = this.selectedItems[this.selectedIndex];\n if (this.getDisabled(currentItem)) return;\n const newIndex = this.selectedIndex === index ? this.selectedIndex - 1 : this.selectedItems[this.selectedIndex + 1] ? this.selectedIndex : -1;\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined);\n } else {\n this.selectItem(currentItem);\n }\n\n this.selectedIndex = newIndex;\n },\n\n clearableCallback() {\n this.internalSearch = undefined;\n VSelect.options.methods.clearableCallback.call(this);\n },\n\n genInput() {\n const input = VTextField.options.methods.genInput.call(this);\n input.data = mergeData(input.data, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off')\n },\n domProps: {\n value: this.internalSearch\n }\n });\n return input;\n },\n\n genInputSlot() {\n const slot = VSelect.options.methods.genInputSlot.call(this);\n slot.data.attrs.role = 'combobox';\n return slot;\n },\n\n genSelections() {\n return this.hasSlot || this.multiple ? VSelect.options.methods.genSelections.call(this) : [];\n },\n\n onClick(e) {\n if (this.isDisabled) return;\n this.selectedIndex > -1 ? this.selectedIndex = -1 : this.onFocus();\n if (!this.isAppendInner(e.target)) this.activateMenu();\n },\n\n onInput(e) {\n if (this.selectedIndex > -1 || !e.target) return;\n const target = e.target;\n const value = target.value; // If typing and menu is not currently active\n\n if (target.value) this.activateMenu();\n this.internalSearch = value;\n this.badInput = target.validity && target.validity.badInput;\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n VSelect.options.methods.onKeyDown.call(this, e); // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n\n this.changeSelectedIndex(keyCode);\n },\n\n onSpaceDown(e) {},\n\n onTabDown(e) {\n VSelect.options.methods.onTabDown.call(this, e);\n this.updateSelf();\n },\n\n onUpDown(e) {\n // Prevent screen from scrolling\n e.preventDefault(); // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n\n this.activateMenu();\n },\n\n selectItem(item) {\n VSelect.options.methods.selectItem.call(this, item);\n this.setSearch();\n },\n\n setSelectedItems() {\n VSelect.options.methods.setSelectedItems.call(this); // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n\n if (!this.isFocused) this.setSearch();\n },\n\n setSearch() {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (!this.multiple || !this.internalSearch || !this.isMenuActive) {\n this.internalSearch = !this.selectedItems.length || this.multiple || this.hasSlot ? null : this.getText(this.selectedItem);\n }\n });\n },\n\n updateSelf() {\n if (!this.searchIsDirty && !this.internalValue) return;\n\n if (!this.valueComparator(this.internalSearch, this.getValue(this.internalValue))) {\n this.setSearch();\n }\n },\n\n hasItem(item) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1;\n },\n\n onCopy(event) {\n if (this.selectedIndex === -1) return;\n const currentItem = this.selectedItems[this.selectedIndex];\n const currentItemText = this.getText(currentItem);\n event.clipboardData.setData('text/plain', currentItemText);\n event.clipboardData.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);\n event.preventDefault();\n }\n\n }\n});\n//# sourceMappingURL=VAutocomplete.js.map"],"sourceRoot":""}