{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./@core/pages/userProfile/sections/UserBscRecords.vue?cc13","webpack:///./node_modules/randomstring/index.js","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppDatatable.vue?fa4e","webpack:///./@core/components/AppDatatable.vue","webpack:///./@core/components/AppDatatable.vue?a0c0","webpack:///./@core/components/AppDatatable.vue?89f0","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./@core/pages/userProfile/sections/UserBscRecords.vue?3068","webpack:///./@core/pages/userProfile/sections/UserBscRecords.vue","webpack:///./@core/pages/userProfile/sections/UserBscRecords.vue?3eae","webpack:///./@core/pages/userProfile/sections/UserBscRecords.vue?d9d2","webpack:///./@core/model/common/BscRecordMeta.ts","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./@core/components/AppDatatable.vue?8f2d","webpack:///./@core/components/AppForm.vue?4190","webpack:///./@core/components/AppCurrencyNA.vue?2c19","webpack:///./@core/components/AppCurrencyNA.vue","webpack:///./@core/components/AppCurrencyNA.vue?4219","webpack:///./@core/components/AppCurrencyNA.vue?6502","webpack:///./@core/components/AppForm.vue","webpack:///./@core/components/AppForm.vue?cec5","webpack:///./@core/components/AppForm.vue?3db6","webpack:///./@master/config/bsc-grade.ts"],"names":["module","exports","Object","is","x","y","randomBytes","Charset","unsafeRandomBytes","length","stack","i","push","Math","floor","random","readUInt8","index","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","err","generatedString","generate","options","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","arrayUniq","this","prototype","type","numbers","charsLower","charsUpper","toUpperCase","hexChars","binaryChars","octalChars","unreadableChars","replace","toLowerCase","charMap","split","join","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","rx","S","res","done","value","previousLastIndex","lastIndex","result","render","_vm","_h","$createElement","_c","_self","staticClass","class","show","directives","name","rawName","expression","ref","attrs","currentPageData","hasNoError","selectionKey","tableRowClassName","on","sortChange","rowClick","handleSelection","_e","_l","column","key","field","label","sortable","scopedSlots","_u","fn","scope","row","modifiers","$event","$$selectedVal","Array","filter","target","o","selected","map","val","_value","$set","multiple","handleCustomEvent","option","domProps","_v","_s","_n","$forceUpdate","decimal","disabled","convertToCurrency","_t","button","$emit","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","staticRenderFns","pageSizes","sortBy","prop","data","order","sizes","lastSize","round","search","searchKeyword","trim","filters","JSON","stringify","includes","filteredData","sort","a","b","sortedData","slice","every","error","emit","redirect","window","location","href","rows","appdatatable","$refs","clearSelection","currencySymbol","Number","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","default","components","AppDecimalNumber","component","bscRecordColumns","bscRecordRows","bscRecordRowClicked","supervisorGradeRecords","supervisorGradeColumns","openModal","prevBscRecordColumns","prevBscRecordRows","rowClickPrevBscRecord","isModalVisible","slot","prevBscRecordStructure","newPrevBscRecord","updatePrevBscRecord","savePrevBscRecord","bscRecordList","isEditMode","prevBscRecordList","BscRecordMeta","dateCompleted","dateService","format","userOid","oid","$router","params","bscOid","currentUser","systemrole","$store","getters","$route","accountID","isSuperUser","list","keys","newList","keyValues","newKey","assign","headers","$api","bscRecords","listReviewMeta","query","queryArgs","bscRecord","assignData","listPrev","_oid","prevBscRec","values","bsc","supervisorReview","getDetails","supervisor","reviewYear","reviewQuarter","bscGrade","isOpsStaff","update","previous_record_oid","previousRecordOid","convertToRawData","getPrevBscRecordList","new","uiService","sharedVariable","getBscRecordList","isBscReviewer","getSupervisorGradingRecord","AppDatatable","AppForm","AppDialog","reviewOid","isauReviewer","cat1InfractionTotal","cat2InfractionTotal","adminErrorTotal","company","ctm","dateCreated","pky","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","el","has","add","uniqSetWithForEach","forEach","doesForEachActuallyWork","style","structure","shouldShow","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","get","set","model","labelKey","composing","tooltip","eidx","msg","full","fullErr","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","isMyInfo","getLabelId","setSelectValue","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","evt","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","isNaN","source","useCurrency","currencyPrefix","currency","replaceAll","projectInfo","inputValue","minimal","structures","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","input","oriValue","String","labelValue","selectedOption","selectedIndex","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","ele","document","getElementById","focus","mc","classes","swe","first","find","s","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppFormTable","AppCurrencyNA","AppTooltip","BSC_GRADE","getBscGradeInText","targetGrade","grade"],"mappings":"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","file":"js/chunk-e8ce0510.969a5719.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","\"use strict\";\n\nvar randomBytes = require('randombytes');\nvar Charset = require('./charset.js');\n\n\nfunction unsafeRandomBytes(length) {\n var stack = [];\n for (var i = 0; i < length; i++) {\n stack.push(Math.floor(Math.random() * 255));\n }\n\n return {\n length,\n readUInt8: function (index) {\n return stack[index];\n }\n };\n}\n\nfunction safeRandomBytes(length) {\n try {\n return randomBytes(length);\n } catch (e) {\n /* React/React Native Fix + Eternal loop removed */\n return unsafeRandomBytes(length);\n }\n}\n\nfunction processString(buf, initialString, chars, reqLen, maxByte) {\n var string = initialString;\n for (var i = 0; i < buf.length && string.length < reqLen; i++) {\n var randomByte = buf.readUInt8(i);\n if (randomByte < maxByte) {\n string += chars.charAt(randomByte % chars.length);\n }\n }\n return string;\n}\n\nfunction getAsyncString(string, chars, length, maxByte, cb) {\n randomBytes(length, function(err, buf) {\n if (err) {\n // Since it is waiting for entropy, errors are legit and we shouldn't just keep retrying\n cb(err);\n }\n var generatedString = processString(buf, string, chars, length, maxByte);\n if (generatedString.length < length) {\n getAsyncString(generatedString, chars, length, maxByte, cb);\n } else {\n cb(null, generatedString);\n }\n })\n}\n\nexports.generate = function(options, cb) {\n var charset = new Charset();\n\n var length, chars, capitalization, string = '';\n\n // Handle options\n if (typeof options === 'object') {\n length = typeof options.length === 'number' ? options.length : 32;\n\n if (options.charset) {\n charset.setType(options.charset);\n }\n else {\n charset.setType('alphanumeric');\n }\n\n if (options.capitalization) {\n charset.setcapitalization(options.capitalization);\n }\n\n if (options.readable) {\n charset.removeUnreadable();\n }\n\n charset.removeDuplicates();\n }\n else if (typeof options === 'number') {\n length = options;\n charset.setType('alphanumeric');\n }\n else {\n length = 32;\n charset.setType('alphanumeric');\n }\n\n // Generate the string\n var charsLen = charset.chars.length;\n var maxByte = 256 - (256 % charsLen);\n\n if (!cb) {\n while (string.length < length) {\n var buf = safeRandomBytes(Math.ceil(length * 256 / maxByte));\n string = processString(buf, string, charset.chars, length, maxByte);\n }\n\n return string;\n }\n\n getAsyncString(string, charset.chars, length, maxByte, cb);\n\n};\n","var arrayUniq = require('array-uniq');\n\nfunction Charset() {\n this.chars = '';\n}\n\nCharset.prototype.setType = function(type) {\n var chars;\n\n var numbers = '0123456789';\n var charsLower = 'abcdefghijklmnopqrstuvwxyz';\n var charsUpper = charsLower.toUpperCase();\n var hexChars = 'abcdef';\n var binaryChars = '01';\n var octalChars = '01234567';\n\n if (type === 'alphanumeric') {\n chars = numbers + charsLower + charsUpper;\n }\n else if (type === 'numeric') {\n chars = numbers;\n }\n else if (type === 'alphabetic') {\n chars = charsLower + charsUpper;\n }\n else if (type === 'hex') {\n chars = numbers + hexChars;\n }\n else if (type === 'binary') {\n chars = binaryChars;\n }\n else if (type === 'octal') {\n chars = octalChars;\n }\n else {\n chars = type;\n }\n\n this.chars = chars;\n}\n\nCharset.prototype.removeUnreadable = function() {\n var unreadableChars = /[0OIl]/g;\n this.chars = this.chars.replace(unreadableChars, '');\n}\n\nCharset.prototype.setcapitalization = function(capitalization) {\n if (capitalization === 'uppercase') {\n this.chars = this.chars.toUpperCase();\n }\n else if (capitalization === 'lowercase') {\n this.chars = this.chars.toLowerCase();\n }\n}\n\nCharset.prototype.removeDuplicates = function() {\n var charMap = this.chars.split('');\n charMap = arrayUniq(charMap);\n this.chars = charMap.join('');\n}\n\nmodule.exports = exports = Charset;\n","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/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBscRecords.vue?vue&type=style&index=0&id=1a92f03a&lang=scss&scoped=true&\"","module.exports = require(\"./lib/randomstring\");","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","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/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datatable\",class:{'active': _vm.show, 'inactive': !_vm.show}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"appdatatable\",attrs:{\"data\":_vm.currentPageData,\"stripe\":_vm.hasNoError,\"size\":\"mini\",\"row-key\":_vm.selectionKey,\"row-class-name\":_vm.tableRowClassName,\"header-cell-class-name\":'cell-header'},on:{\"sort-change\":_vm.sortChange,\"row-click\":_vm.rowClick,\"selection-change\":_vm.handleSelection}},[(_vm.selectionKey)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true}}):_vm._e(),_vm._l((_vm.columns),function(column){return [(column.options)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(scope.row, column.field, $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.handleCustomEvent(scope.row)}]}},_vm._l((column.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)]}}],null,true)}):(column.type)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(column.type==='number')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"number\":true,\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){_vm.$set(scope.row, column.field, _vm._n($event.target.value))},function($event){return _vm.handleCustomEvent(scope.row)}],\"blur\":function($event){return _vm.$forceUpdate()}}})]:(column.type === 'decimal-number')?[_c('AppDecimalNumber',{attrs:{\"decimal\":column.decimal,\"inputValue\":scope.row[column.field],\"disabled\":column.disabled}})]:(column.type === 'currency')?[_c('label',[_vm._v(_vm._s(_vm.convertToCurrency(scope.row[column.field])))])]:(column.type === 'action')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,on:{\"click\":function($event){return _vm.$emit(button, scope.row)}}},[_vm._v(_vm._s(button))])})}):(column.type === 'actionWithFeatures')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,attrs:{\"disabled\":button.shouldDisabled},on:{\"click\":function($event){return _vm.$emit(button.label, scope.row)}}},[_vm._v(_vm._s(button.label))])})}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){return _vm.$set(scope.row, column.field, $event.target.value)},function($event){return _vm.handleCustomEvent(scope.row)}]}})]}}],null,true)}):_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable,\"show-overflow-tooltip\":true},scopedSlots:_vm._u([{key:\"content\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row[column.field]))])]}}],null,true)})]}),(_vm.redirect)?_c('el-table-column',{key:'redirect',attrs:{\"prop\":'redirect',\"align\":\"center\",\"sortable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('redirect', scope.row)}}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})])]}}],null,false,2100746354)}):_vm._e()],2),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-info\"},[_vm._v(\"Show \"+_vm._s(_vm.infoFrom)+\" to \"+_vm._s(_vm.infoTo)+\" of \"+_vm._s(_vm.total)+\" entries\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"total\":_vm.total,\"hide-on-single-page\":false,\"page-sizes\":_vm.pageSizesDisplay,\"page-size\":_vm.pageSize,\"layout\":\"sizes, prev, pager, next, jumper\",\"background\":\"\"},on:{\"current-change\":_vm.pageChange,\"size-change\":_vm.handleSizeChange}})],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\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\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { isUndefined } from 'lodash/fp'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\n\nexport interface Column {\n label: string;\n field: string;\n sortable?: boolean;\n options: { label: string; value: string }[];\n}\n\ninterface Sort {\n prop: string;\n order: 'ascending' | 'decending';\n}\n\n@Component({\n components: {\n AppDecimalNumber\n }\n})\nexport default class TheDatatable extends Vue {\n @Prop() readonly loading!: boolean\n @Prop() readonly columns!: Array\n @Prop() readonly data!: Array\n @Prop() readonly filters: Array\n @Prop() readonly sort!: Sort\n @Prop() readonly search!: string\n @Prop({ default: true }) readonly show!: boolean\n @Prop({ default: false }) readonly redirect!: boolean\n @Prop() readonly selectionKey: string\n private pageSizes = [10, 50, 100, 500, 1000]\n private pageSize = 10\n private currentPage = 1\n private sortBy: Sort = {\n prop: this.data[0],\n order: 'ascending'\n }\n\n @Prop() clearSelection: boolean\n\n get pageSizesDisplay () {\n // return first size(10), if data total less than 10\n if (this.total < this.pageSizes[0]) return [this.pageSizes[0]]\n\n // get all the size that less than total\n const sizes = this.pageSizes.filter(size => size < this.total)\n\n // push last size\n const lastSize = (Math.round(this.total / 10) + 1) * 10\n sizes.push(lastSize)\n\n return sizes\n }\n\n get filteredData () {\n if (isUndefined(this.search)) return this.data\n\n const searchKeyword = this.search.trim().toLowerCase()\n const data = (this.filters && this.filters.length) ? this.filters : this.data\n return data.filter(value => {\n const result = JSON.stringify(value).toLowerCase().includes(searchKeyword)\n return result\n })\n }\n\n get sortedData () {\n const data = this.filteredData.sort((a, b) => {\n if (this.sortBy.order === 'ascending') {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return 1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return -1 }\n } else {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return -1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return 1 }\n }\n return 0\n })\n return data\n }\n\n get currentPageData () {\n return this.sortedData.slice((this.currentPage - 1) * this.pageSize, this.pageSize * this.currentPage)\n }\n\n get total () {\n return this.filteredData.length\n }\n\n get infoFrom () {\n if (this.currentPage !== 1) {\n return (this.currentPage - 1) * this.pageSize + 1\n } else {\n return this.filteredData.length ? 1 : 0\n }\n }\n\n get infoTo () {\n return this.currentPageData.length < this.pageSize\n ? this.pageSize * (this.currentPage - 1) + this.currentPageData.length\n : this.pageSize * this.currentPage\n }\n\n get hasNoError () {\n return this.data.every(e => e.error === undefined)\n }\n\n pageChange (currentPage: number): void {\n this.currentPage = currentPage\n this.$emit('pageChangeCustom', this.currentPage)\n }\n\n sortChange (sort: Sort): void {\n this.sortBy.prop = sort.prop\n this.sortBy.order = sort.order || 'ascending'\n }\n\n rowClick (row: any): void {\n if (row.emit) this.$emit('rowClickCustom', row)\n if (!row.redirect) return\n window.location.href = row.redirect\n }\n\n handleSelection (rows: any[]) {\n this.$emit('selectionChange', rows)\n }\n\n handleCustomEvent (row) {\n this.$emit('customEventSelect', row)\n }\n\n tableRowClassName ({ row }) {\n if (row.error) {\n return 'warning-row'\n } else {\n return ''\n }\n }\n\n clearCheckboxOnHeader () {\n const appdatatable = this.$refs.appdatatable as any\n if (this.selectionKey && appdatatable) {\n appdatatable.clearSelection()\n }\n }\n\n handleSizeChange (val) {\n this.pageSize = val\n }\n\n convertToCurrency (value, currencySymbol = '') {\n if (!value && value !== 0) return ''\n return currencySymbol + Number(value).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n mounted () {\n this.sortBy = this.sort\n this.clearCheckboxOnHeader()\n }\n\n @Watch('clearSelection')\n clearSelectionCheckbox () {\n if (this.clearSelection) {\n this.clearCheckboxOnHeader()\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDatatable.vue?vue&type=template&id=4b557606&scoped=true&\"\nimport script from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDatatable.vue?vue&type=style&index=0&id=4b557606&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 \"4b557606\",\n null\n \n)\n\nexport default component.exports","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/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-bsc-records\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"BSC Records in System\")]),_c('AppDatatable',{attrs:{\"columns\":_vm.bscRecordColumns,\"data\":_vm.bscRecordRows,\"sort\":{},\"show\":true},on:{\"rowClickCustom\":_vm.bscRecordRowClicked}}),(_vm.supervisorGradeRecords.length > 0)?_c('div',{staticClass:\"new-section\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Supervisor Grading Records\")]),_c('AppDatatable',{attrs:{\"columns\":_vm.supervisorGradeColumns,\"data\":_vm.supervisorGradeRecords,\"sort\":{},\"show\":true}})],1):_vm._e(),_c('div',{staticClass:\"new-section\"},[_c('div',{staticClass:\"title\"},[_vm._v(\" Previous BSC Records \"),(_vm.isButtonVisible)?_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.openModal()}}},[_vm._v(\"Add New Record\")]):_vm._e()]),_c('AppDatatable',{attrs:{\"columns\":_vm.prevBscRecordColumns,\"data\":_vm.prevBscRecordRows,\"sort\":{},\"show\":true},on:{\"rowClickCustom\":_vm.rowClickPrevBscRecord}})],1),(_vm.isModalVisible)?_c('AppDialog',{on:{\"close\":function($event){_vm.isModalVisible = false}}},[_c('template',{slot:\"header\"},[_vm._v(\"BSC Past Record\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.prevBscRecordStructure,\"model\":_vm.newPrevBscRecord}})],1),(_vm.isOpsStaff)?_c('template',{slot:\"footer\"},[(_vm.isEditMode)?_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.updatePrevBscRecord()}}},[_vm._v(\" Update \")]):_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.savePrevBscRecord()}}},[_vm._v(\" Save \")])]):_vm._e()],2):_vm._e()],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/* eslint-disable @typescript-eslint/camelcase */\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { Component, Vue } from 'vue-property-decorator'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { isUndefined } from 'lodash/fp'\nimport { IDateService } from '@master/services/IDateService'\nimport { BscRecordMeta, SupervisorGradeMeta } from '@core/model/common/BscRecordMeta'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { getBscGradeInText } from '@master/config/bsc-grade'\n\n@Component({\n components: {\n AppDatatable,\n AppForm,\n AppDialog\n }\n})\nexport default class UserBscRecords extends Vue {\n @inject()\n private $api: API\n\n @inject()\n private dateService: IDateService\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n private bscRecordList: BscRecordMeta[] = []\n private isModalVisible = false\n private isEditMode = false\n private prevBscRecordList: BscRecordMeta[] = []\n private newPrevBscRecord: BscRecordMeta = new BscRecordMeta()\n private supervisorGradeRecords: SupervisorGradeMeta[] = []\n\n get bscRecordRows () {\n return this.bscRecordList.map(e => {\n return {\n ...e,\n dateCompleted: this.dateService.format(e.dateCompleted, 'YYYY-MM-DD'),\n redirect: `/live/user-bsc-record/${this.userOid}/${e.oid}`\n }\n })\n }\n\n async bscRecordRowClicked (row: BscRecordMeta) {\n await this.$router.push({ name: 'User BSC Records', params: { bscOid: row.oid, userOid: this.userOid } })\n }\n\n get supervisorGradeColumns (): Array<{ label: string; field: keyof SupervisorGradeMeta }> {\n return [\n { label: 'Review Year', field: 'reviewYear' },\n { label: 'Quarter', field: 'reviewQuarter' },\n { label: 'Grade', field: 'bscGrade' }\n ]\n }\n\n get bscRecordColumns (): Array<{ label: string; field: keyof BscRecordMeta }> {\n return [\n { label: 'Review Year', field: 'reviewYear' },\n { label: 'Quarter', field: 'reviewQuarter' },\n { label: 'Grade', field: 'bscGrade' },\n { label: 'ISAU Reviewer', field: 'isauReviewer' },\n { label: 'Date Completed', field: 'dateCompleted' },\n { label: 'No of Cat 1 Infractions', field: 'cat1InfractionTotal' },\n { label: 'No of Cat 2 Infractions', field: 'cat2InfractionTotal' },\n { label: 'No of Administrative Errors', field: 'adminErrorTotal' }\n ]\n }\n\n get prevBscRecordRows () {\n return this.prevBscRecordList.map(e => {\n return {\n ...e,\n dateCompleted: this.dateService.format(e.dateCompleted, 'YYYY-MM-DD'),\n emit: true\n }\n })\n }\n\n get prevBscRecordColumns (): Array<{ label: string; field: keyof BscRecordMeta }> {\n return [\n { label: 'Company', field: 'company' },\n { label: 'Review Year', field: 'reviewYear' },\n { label: 'Quarter', field: 'reviewQuarter' },\n { label: 'Grade', field: 'bscGrade' },\n { label: 'ISAU Reviewer', field: 'isauReviewer' },\n { label: 'Date Completed', field: 'dateCompleted' },\n { label: 'No of Cat 1 Infractions', field: 'cat1InfractionTotal' },\n { label: 'No of Cat 2 Infractions', field: 'cat2InfractionTotal' },\n { label: 'No of Administrative Errors', field: 'adminErrorTotal' }\n ]\n }\n\n get isButtonVisible () {\n return this.currentUser.systemrole === 'bsc-reviewer' || this.currentUser.systemrole === 'ops-staff'\n }\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get userOid (): string {\n return this.$route.params.userOid as string || this.$store.getters.currentUser.accountID\n }\n\n get isSuperUser () {\n return this.$store.getters.currentUser.isSuperUser\n }\n\n get isOpsStaff () {\n return this.currentUser.systemrole === 'ops-staff'\n }\n\n get isBscReviewer () {\n return this.currentUser.systemrole === 'bsc-reviewer'\n }\n\n renameObjectKeys (list: Array, keys: Array): Array {\n const newList = list.map(function (data) {\n const keyValues = Object.keys(data).map(function (key) {\n const newKey = keys[key]\n return { [newKey]: data[key] }\n })\n return Object.assign({}, ...keyValues)\n })\n return newList\n }\n\n async getBscRecordList () {\n const headers = [\n '_oid',\n 'review_oid',\n 'user_oid',\n 'review_year',\n 'review_quarter',\n 'bsc_grade',\n 'isau_reviewer',\n 'date_completed',\n 'cat_1_infraction_total',\n 'cat_2_infraction_total',\n 'admin_error_total'\n ]\n\n const res = await this.$api.bscRecords.listReviewMeta({\n query: 'user_oid = ?',\n queryArgs: JSON.stringify([this.userOid]),\n headers: JSON.stringify(headers)\n })\n\n this.bscRecordList = res.data.map(e => {\n const bscRecord = new BscRecordMeta()\n bscRecord.assignData(headers, e)\n return bscRecord\n })\n }\n\n async getPrevBscRecordList () {\n const res = await this.$api.bscRecords.listPrev({\n _oid: this.userOid\n })\n this.prevBscRecordList = res.data.map(e => {\n const prevBscRec = new BscRecordMeta()\n prevBscRec.assignData(Object.keys(e), Object.values(e))\n return prevBscRec\n })\n }\n\n async getSupervisorGradingRecord () {\n const data = await this.$api.bsc.supervisorReview.getDetails(this.userOid) || []\n this.supervisorGradeRecords = data.map(supervisor => {\n return {\n reviewYear: supervisor.reviewYear,\n reviewQuarter: supervisor.reviewQuarter,\n bscGrade: getBscGradeInText(supervisor.bscGrade)\n }\n })\n }\n\n openModal (data?: BscRecordMeta): void {\n this.isModalVisible = true\n this.isEditMode = false\n this.newPrevBscRecord = new BscRecordMeta()\n if (!isUndefined(data)) {\n this.isEditMode = true\n Object.assign(this.newPrevBscRecord, data)\n }\n }\n\n get prevBscRecordStructure (): FormStructure {\n return [\n {\n label: 'Name of Company',\n key: 'company',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Review Year',\n key: 'reviewYear',\n type: 'number',\n disabled: !this.isOpsStaff\n },\n {\n label: 'BSC Quarter',\n key: 'reviewQuarter',\n type: 'number',\n disabled: !this.isOpsStaff\n },\n {\n label: 'BSC Grade',\n key: 'bscGrade',\n disabled: !this.isOpsStaff\n },\n {\n label: 'ISAU Reviewer',\n key: 'isauReviewer',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Date Completed',\n key: 'dateCompleted',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Total Cat 1 Infractions',\n key: 'cat1InfractionTotal',\n type: 'number',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Total Cat 2 Infractions',\n key: 'cat2InfractionTotal',\n type: 'number',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Total Administrative Errors',\n key: 'adminErrorTotal',\n type: 'number',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n rowClickPrevBscRecord (row: BscRecordMeta): void {\n this.openModal(row)\n }\n\n async updatePrevBscRecord () {\n await this.$api.bscRecords.update({\n previous_record_oid: this.newPrevBscRecord.previousRecordOid,\n data: JSON.stringify(this.newPrevBscRecord.convertToRawData())\n })\n this.isModalVisible = false\n await this.getPrevBscRecordList()\n }\n\n async savePrevBscRecord () {\n await this.$api.bscRecords.new({\n _oid: this.userOid,\n data: JSON.stringify(this.newPrevBscRecord.convertToRawData())\n })\n this.isModalVisible = false\n await this.getPrevBscRecordList()\n }\n\n async created () {\n this.uiService = this.sharedVariable.uiService\n await this.getBscRecordList()\n await this.getPrevBscRecordList()\n if (this.isBscReviewer || this.isOpsStaff) await this.getSupervisorGradingRecord()\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBscRecords.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserBscRecords.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserBscRecords.vue?vue&type=template&id=1a92f03a&scoped=true&\"\nimport script from \"./UserBscRecords.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserBscRecords.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserBscRecords.vue?vue&type=style&index=0&id=1a92f03a&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 \"1a92f03a\",\n null\n \n)\n\nexport default component.exports","import { Ignore } from '@master/annotation/Ignore'\nimport { RawKey } from '@master/annotation/RawKey'\nimport { Meta } from '@master/model/common/Meta'\n\nexport class BscRecordMeta extends Meta {\n @RawKey('_oid')\n oid = ''\n\n @Ignore()\n reviewOid = ''\n\n userOid = ''\n reviewYear: number = undefined\n reviewQuarter: number = undefined\n bscGrade = ''\n isauReviewer = ''\n dateCompleted: number = undefined\n cat1InfractionTotal: number = undefined\n cat2InfractionTotal: number = undefined\n adminErrorTotal: number = undefined\n company = ''\n ctm: number = undefined\n dateCreated: number = undefined\n pky: number = undefined\n\n @Ignore()\n previousRecordOid = ''\n}\n\nexport class SupervisorGradeMeta extends Meta {\n reviewQuarter: number\n reviewYear: number\n bscGrade: number\n}\n","'use strict';\n\n// there's 3 implementations written in increasing order of efficiency\n\n// 1 - no Set type is defined\nfunction uniqNoSet(arr) {\n\tvar ret = [];\n\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (ret.indexOf(arr[i]) === -1) {\n\t\t\tret.push(arr[i]);\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n// 2 - a simple Set type is defined\nfunction uniqSet(arr) {\n\tvar seen = new Set();\n\treturn arr.filter(function (el) {\n\t\tif (!seen.has(el)) {\n\t\t\tseen.add(el);\n\t\t\treturn true;\n\t\t}\n\t});\n}\n\n// 3 - a standard Set type is defined and it has a forEach method\nfunction uniqSetWithForEach(arr) {\n\tvar ret = [];\n\n\t(new Set(arr)).forEach(function (el) {\n\t\tret.push(el);\n\t});\n\n\treturn ret;\n}\n\n// V8 currently has a broken implementation\n// https://github.com/joyent/node/issues/8449\nfunction doesForEachActuallyWork() {\n\tvar ret = false;\n\n\t(new Set([true])).forEach(function (el) {\n\t\tret = el;\n\t});\n\n\treturn ret === true;\n}\n\nif ('Set' in global) {\n\tif (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {\n\t\tmodule.exports = uniqSetWithForEach;\n\t} else {\n\t\tmodule.exports = uniqSet;\n\t}\n} else {\n\tmodule.exports = uniqNoSet;\n}\n","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/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column-group\",style:(_vm.gridStyle),attrs:{\"id\":\"app-form\"}},[_vm._l((_vm.structuresDetails),function(structure){return [(_vm.shouldShow(structure.show))?_c('div',{key:structure.key,staticClass:\"input-group-with-theme\",class:[{ 'input-disabled': _vm.shouldDisabled(structure.disabled)}, _vm.getCustomClass(structure)],attrs:{\"has-msg\":structure.hasErrors,\"focusing\":_vm.focusId == _vm.getId(structure.key),\"id\":(\"box-\" + (_vm.getId(structure.key)))},on:{\"click\":function($event){return _vm.focusInner(structure)}}},[[(structure.labelModel)?_c('input',{staticClass:\"label\",attrs:{\"type\":\"text\",\"placeholder\":structure.label,\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":_vm.labelModelValue(structure.labelModel.get())},on:{\"input\":function($event){return structure.labelModel.set($event.target.value)}}}):(structure.labelKey)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model[structure.labelKey]),expression:\"model[structure.labelKey]\"}],staticClass:\"label\",attrs:{\"type\":\"text\",\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":(_vm.model[structure.labelKey])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.model, structure.labelKey, $event.target.value)}}}):_vm._e(),(structure.labelModel || structure.labelKey)?_c('i',{staticClass:\"fa fa-pencil-alt right-sided\"}):(structure.type === 'single-checkbox')?_c('span'):_c('label',{attrs:{\"for\":_vm.getId(structure.key),\"id\":_vm.getId(structure.key) + '_label'},domProps:{\"innerHTML\":_vm._s(structure.label)}}),(structure.tooltip)?_c('AppTooltip',{attrs:{\"tooltipConfig\":structure.tooltip}}):_vm._e(),(_vm.isModernTheme)?_vm._l((structure.errors),function(ref,eidx){\nvar msg = ref.msg;\nreturn _c('div',{key:((structure.key) + \"-error-\" + eidx),staticClass:\"form-msg\",class:{\n full:\n eidx === 0 || _vm.fullErr === ((structure.key) + \"-error-\" + eidx),\n },on:{\"click\":function($event){_vm.fullErr = (structure.key) + \"-error-\" + eidx}}},[_c('el-tooltip',[_c('span',{staticClass:\"el-icon-warning\"}),_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(msg))])])],1)}):_vm._e()],(structure.options && structure.type === 'smart')?_c('AppSmartSelect',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"multiple\":structure.multiple,\"cols\":structure.optionCols,\"multiLimit\":structure.multiLimit,\"buttonName\":structure.buttonName,\"cycleMode\":structure.cycleMode,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'single-checkbox')?_c('el-checkbox',{attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},[_vm._v(\" \"+_vm._s(structure.label)+\" \")]):(structure.options && structure.type === 'checkbox')?_c('AppCheckboxGroup',{attrs:{\"structure\":structure,\"model\":_vm.model,\"column\":structure.checkboxColumnNo,\"compact\":structure.compact},on:{\"change\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.options && structure.type === 'radio')?_c('AppRadioSelection',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"buttonName\":structure.buttonName,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'multi')?_c('el-select',{staticClass:\"form-multi-select\",attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"multiple\":\"\",\"collapse-tags\":\"\",\"size\":'small',\"popper-class\":'wen-popper-class'},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},_vm._l((structure.options),function(option,index){return _c('el-option',{key:index,attrs:{\"value\":option.value,\"label\":option.label}})}),1):(structure.options)?_c('select',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled)},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setSelectValue($event.target, structure)}}},_vm._l((structure.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])}),0):(structure.type === 'decimal-number')?[_c('AppDecimalNumber',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"decimal\":structure.decimal,\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:(structure.type === 'number' || structure.type === 'time' || structure.type === 'password')?_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":structure.type,\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'currency')?_c('currency-input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"currency\":structure.currencyFormat,\"aria-labelledby\":_vm.getLabelId(structure.key),\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"precision\":structure.precision},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'date' || structure.type === 'month')?_c('AppDateInput',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"value\":_vm.getValue(structure),\"id\":_vm.getId(structure.key),\"input-type\":structure.type,\"data-test\":_vm.getTestId(structure.key),\"aria-label\":structure.label,\"disabled\":_vm.shouldDisabled(structure.disabled),\"futureDate\":structure.futureDate,\"disabledFutureDate\":structure.disabledFutureDate},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'textarea')?_c('textarea',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar,\"rows\":structure.rows || 10},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'table')?_c('AppFormTable',{staticClass:\"inner-table\",attrs:{\"innerTable\":true,\"vertical\":structure.isVertical,\"maxSize\":structure.maxSize,\"fields\":structure.columns,\"data\":_vm.getValueForTable(structure)},on:{\"add\":structure.add,\"remove\":structure.remove}}):(structure.type==='na-currency')?[_c('AppCurrencyNA',{attrs:{\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxLength},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":\"text\",\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler(structure, $event.target.value)}}}),(structure.isMyInfo)?_c('img',{staticClass:\"input-hint logo\",attrs:{\"src\":require(\"@core/assets/myinfo-icon.svg\")}}):_vm._e(),(structure.counterMsg && _vm.isModernTheme)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(structure.counterMsg)+\" \")]):_vm._e()],2):_vm._e()]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],attrs:{\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keypress\":function($event){return _vm.numberAndNAOnly($event)},\"blur\":function($event){return _vm.onBlur()},\"focus\":function($event){return _vm.onFocus()},\"select\":function($event){return _vm.onSelect($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputModal=$event.target.value}}}),(!_vm.disabled)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(_vm.counterMsg)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\nimport { inject } from 'inversify-props'\n\n@Component\nexport default class AppCurrencyNA extends Vue {\n @Prop() inputValue\n @Prop({ default: true }) useCurrency!: boolean\n @Prop({ default: 10 }) maxlength?: number\n @Prop({ default: false }) disabled: boolean\n\n @inject()\n private projectInfo: IProjectInfo\n\n inputModal = ''\n textIsSelected = false\n\n get counterMsg () {\n if (typeof this.maxlength === 'undefined') return\n const number = this.convertCurrencyToNumber(this.inputModal)\n const remainingChar = this.maxlength - (number.toString().length || 0)\n return remainingChar > 0 ? `${remainingChar} letter(s) remaining` : 'Max character limit reached'\n }\n\n numberAndNAOnly (evt) {\n evt = (evt) || window.event\n const charCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n if (this.textIsSelected) {\n if (!this.isAlphabetN(charCode) && this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n // if current value is 'NA', cannot key in other character\n if (currentValue.toUpperCase() === 'NA') {\n evt.preventDefault()\n }\n\n // if current value is N, the followed char must be A\n if (this.isAlphabetN(currentValue.charCodeAt(0))) {\n if (this.isAlphabetA(charCode)) {\n return true\n }\n evt.preventDefault() // only can accept A\n }\n\n // if there is empty value, it can either key in char N or number only\n if (!currentValue) {\n if (this.isAlphabetN(charCode)) {\n return true\n }\n }\n\n // cannot key in non number value\n if (this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n return true\n }\n }\n\n isAlphabetN (charCode) {\n return charCode === 78 || charCode === 110\n }\n\n isAlphabetA (charCode) {\n return charCode === 65 || charCode === 97\n }\n\n isNonNumber (charCode) {\n return charCode > 31 && (charCode < 48 || charCode > 57)\n }\n\n onBlur () {\n if (!this.inputModal && this.inputModal !== '0') {\n this.inputModal = this.formatValue('')\n this.$emit('input', '')\n return\n }\n\n // format na to NA to display\n if (this.inputModal.toUpperCase() === 'NA') {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n // in case only key in 'n' and on blur, format it to NA\n if (isNaN(Number(this.inputModal))) {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n const number = this.convertCurrencyToNumber(this.inputModal)\n this.inputModal = this.formatValue(number)\n this.$emit('input', Number(number))\n }\n\n onFocus () {\n this.inputModal = this.convertCurrencyToNumber(this.inputModal)\n }\n\n onSelect () {\n this.textIsSelected = true\n }\n\n formatValue (source) {\n if (typeof source === 'string') {\n if (source.toUpperCase() === 'NA' || source === '') {\n return source\n }\n source = Number(source.replace('$', '').replace(',', ''))\n } else if (source === undefined || source == null) {\n source = ''\n }\n return this.useCurrency ? this.currencyPrefix + source?.toLocaleString('en-US') : source?.toLocaleString('en-US')\n }\n\n convertCurrencyToNumber (currency) {\n return currency.replaceAll(this.currencyPrefix, '').replaceAll(',', '')\n }\n\n get currencyPrefix () {\n return this.projectInfo.currency ?? 'SGD$'\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue || this.inputValue === '0' || Number(this.inputValue) === 0) {\n this.inputModal = this.formatValue(this.inputValue)\n } else {\n this.inputModal = this.formatValue('')\n }\n }\n\n mounted () {\n this.inputModal = this.formatValue(this.inputValue)\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppCurrencyNA.vue?vue&type=template&id=423a3b72&scoped=true&\"\nimport script from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&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 \"423a3b72\",\n null\n \n)\n\nexport default component.exports","\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\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Base } from '@master/model/Base'\nimport { FormStructure, Input, TableSetup } from '@master/model/structure/FormStructure'\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport AppCheckboxGroup from '@core/components/AppCheckboxGroup.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport AppSmartSelect from '@core/components/AppSmartSelect.vue'\nimport { inject } from 'inversify-props'\nimport { IDateService } from '@master/services/IDateService'\nimport AppDateInput from './AppDateInput.vue'\nimport { getMaxChar } from '@master/annotation/MaxChar'\nimport { IProjectSettings } from '@master/config/IProjectSettings'\nimport { isUndefined } from 'lodash/fp'\nimport randomstring from 'randomstring'\nimport AppCurrencyNA from './AppCurrencyNA.vue'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\nimport AppTooltip from './AppTooltip.vue'\n\n@Component({\n components: {\n AppSmartSelect,\n AppCheckboxGroup,\n AppRadioSelection,\n AppDateInput,\n AppFormTable,\n AppCurrencyNA,\n AppDecimalNumber,\n AppTooltip\n }\n})\n\nexport default class AppForm extends Vue {\n @Prop() readonly structures!: FormStructure[];\n @Prop() readonly model!: T;\n @Prop({ default: 1 }) readonly columns: number;\n @Prop() readonly errors?: { key: string; msg: string }[];\n @Prop({ default: () => { return Date.now() } })\n readonly uniqueID: string;\n\n @Prop({ default: false }) readonly readOnly: boolean;\n\n @inject()\n private dateService: IDateService;\n\n @inject()\n private projectSettings: IProjectSettings;\n\n private minimal = true;\n // private renderCnt = 0;\n private focusId = null;\n private fullErr = null;\n\n get structuresDetails () {\n return this.structures.map((structure) => {\n const key = (structure as any).key\n const errors = this.errors?.filter((err) => err.key === key) || []\n const maxChar = getMaxChar(this.model, key)\n const charLeft = this.getCharLeft(key)\n const counterMsg = this.getCounterMsg(maxChar, charLeft)\n return {\n errors,\n hasErrors: errors?.length > 0,\n maxChar,\n counterMsg,\n ...structure\n }\n })\n }\n\n get gridStyle () {\n return {\n gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))`\n }\n }\n\n get isModernTheme () {\n return this.projectSettings.theme === 'Modern'\n }\n\n getCounterMsg (maxChar, charLeft) {\n if (!this.isModernTheme) return '' // counterMsg only used in Modern Theme\n return maxChar ? charLeft > 0 ? `${charLeft} letters remaining` : 'Max character limit reached' : ''\n }\n\n shouldDisabled (condition: boolean | Function = false) {\n if (this.readOnly) return true\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n shouldShow (condition: boolean | Function = true) {\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n getValue (input: Input) {\n if (input.type === 'currency') {\n const oriValue = this.model[input.key]\n if (typeof oriValue === 'string' || oriValue instanceof String) {\n return Number(this.model[input.key])\n }\n }\n if (input.key) {\n return this.model[input.key]\n } else if (input.model) {\n return input.model.get()\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n /**\n * Return null as the label if it is empty so\n * that the placeholder will appear\n */\n labelModelValue (labelValue: string) {\n return !labelValue ? null : labelValue\n }\n\n getValueForTable (input: TableSetup) {\n if (input.key) {\n return this.model[input.key]\n } else if (input.data) {\n return input.data\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n // this is to resolve the issue of event.target.value is always passed as string, but our use cases might need number\n setSelectValue (event, structure) {\n const selectedOption = structure.options[event.selectedIndex]\n this.setValue(structure, selectedOption.value)\n }\n\n setValue (input: Input, _value: T[keyof T]) {\n const value: any = input.type === 'number' ? +_value || 0 : _value\n\n if (input.key) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n // when only has getter (for currency input), sidestep the error\n try {\n this.model[input.key] = value\n } catch (ex) {}\n } else if (input.model) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n return input.model.set(value)\n } else {\n throw new Error(`Invalid config for label ${input.label}: key or model is required`)\n }\n }\n\n getId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.uniqueID}_${this.model.snakeCaseKey(key)}`\n }\n\n if (isUndefined(key)) {\n key = randomstring.generate(6)\n }\n\n if (this.uniqueID) {\n return `${this.uniqueID}_${key}`\n }\n\n return `${key}`\n }\n\n getTestId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.model.snakeCaseKey(key)}`\n }\n return undefined\n }\n\n getLabelId (key: string) {\n return this.getId(key) + '_label'\n }\n\n arrangeCols () {\n const curAppForm = this.$el\n const hasOverflow = curAppForm.scrollWidth > curAppForm.clientWidth\n if (hasOverflow) this.minimal = true\n }\n\n blurHandler (input: Input, _value: T[keyof T]) {\n if (this.isModernTheme) {\n this.focusId = null\n }\n\n if (input && input?.onBlur) {\n input.onBlur(_value)\n }\n }\n\n // use to handle Modern theme\n focusInner (structure: any) {\n // this means label is also editable, thus do not auto focus input\n if (structure.labelModel || structure.labelKey || structure.model) return\n const eleId = this.getId(structure.key)\n this.focusId = eleId\n const ele = document.getElementById(eleId)\n if (ele) ele.focus()\n }\n\n getCharLeft (key: string) {\n const mc = getMaxChar(this.model, key)\n return mc ? mc - (this.model[key]?.length || 0) : mc\n }\n\n getCustomClass (structure) {\n return structure.classes ? [...structure.classes] : []\n }\n\n // @Watch('structures')\n // structuresUpdated () {\n // // this is to allow view to be updated when structures change\n // this.renderCnt++\n // }\n\n @Watch('structuresDetails', { deep: true })\n focusError (swe) {\n if (!this.isModernTheme) return // this is used for Modern Theme\n\n const first = swe.find((s) => 'msg' in s)\n if (!first) return\n const ele = document.getElementById(`box-${this.getId(first.key)}`)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth', block: 'end' })\n }\n\n updated () {\n this.arrangeCols()\n }\n\n mounted () {\n this.arrangeCols()\n window.addEventListener('resize', () => this.arrangeCols())\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppForm.vue?vue&type=template&id=11928856&scoped=true&\"\nimport script from \"./AppForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppForm.vue?vue&type=style&index=0&id=11928856&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 \"11928856\",\n null\n \n)\n\nexport default component.exports","export const BSC_GRADE = [\n { label: '', value: null },\n { label: 'Good', value: 4 },\n { label: 'Satisfactory', value: 3 },\n { label: 'Fair', value: 2 },\n { label: 'Unsatisfactory', value: 1 },\n { label: 'Ungraded', value: 0 }\n]\n\nexport function getBscGradeInText (targetGrade: number) {\n return BSC_GRADE.find(grade => grade.value === targetGrade)?.label\n}\n"],"sourceRoot":""}