{"version":3,"sources":["webpack:///./src/mixins/shared/alertable/alertableMixin.js","webpack:///./src/mixins/shared/promptAble/promptAbleMixin.js","webpack:///./src/design/components/alert/alertModel.js","webpack:///./src/components/shared/core/dialogs/BatchDeleteRecordsDialog.vue","webpack:///src/components/shared/core/dialogs/BatchDeleteRecordsDialog.vue","webpack:///./src/components/shared/core/dialogs/BatchDeleteRecordsDialog.vue?cbae","webpack:///./src/components/shared/core/dialogs/BatchDeleteRecordsDialog.vue?e8d8","webpack:///./src/mixins/shared/progressAble/progressAbleMixin.js","webpack:///./src/mixins/shared/slottable/slottableMixin.js","webpack:///./src/mixins/shared/batch/batchDialogMixin.js","webpack:///./src/design/components/prompt/promptModel.js","webpack:///./src/mixins/shared/navigatable/moduleItemNavigatable.js"],"names":["alertableMixin","components","BaseAlert","data","internalAlert","undefined","alertTypeName","alertType","computed","showAlert","get","this","visibleAlert","set","value","message","$emit","eventNames","alertVisibilityChanged","_this$internalAlert","isEmpty","currentAlertType","_this$internalAlert2","info","type","alertMessage","_this$internalAlert3","isAlertDismissible","_this$internalAlert$d","_this$internalAlert4","dismissible","methods","createAlert","createAlertError","error","createAlertWarning","warning","createAlertInfo","createAlertSuccess","success","formatAlertError","action","clearAlert","promptAbleMixin","BasePrompt","visiblePrompt","promptTypeName","promptType","promptText","promptSubtitle","promptHint","currentPromptType","normal","promptColorClass","colorTheme","critical","createPrompt","Object","freeze","alertTypes","border","top","right","bottom","left","borders","render","_vm","_c","_self","attrs","visible","operation","recordList","isSelectedRecord","batchOperationStatus","progressText","on","closeAction","cancelAction","onOk","onDialogOpened","onDialogClosedAfterAction","staticRenderFns","name","BatchDialog","mixins","progressAbleMixin","moduleItemNavigatable","batchDialogMixin","props","Array","default","deleteEvent","Function","required","deleteEventCompleted","isPurgeOperation","Boolean","isCanceled","criticalColor","findRecordOperation","recordOperation","Purge","Delete","_this$operation","label","criticalColorClass","getErrorColor","deleteProgressText","record","index","length","i","result","actionResultType","setStatus","id","batchRecordStatus","Completed","abort","Canceled","Failed","e","closeProgress","component","ProgressDisplay","visibleProgress","formatProgressText","showProgress","text","slottableMixin","hasSlot","$slots","recordId","status","targetRecord","find","item","close","forEach","Ready","setRecordOperationStatus","_this$recordList","push","subtitle","hint","appMixin","routerMixin","canNavigateToModuleItem","$router","createModuleItemContentRoute","console","warn","appModuleName","createModuleItemContentRouteLocation","canNavigateToModuleItemByModuleItemId"],"mappings":"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","file":"js/chunk-2fe24d7f.366d2515.js","sourcesContent":["// design\r\nimport {\r\n alertType,\r\n createAlert,\r\n formatAlertError\r\n} from \"@/design/components/alert/alertModel\";\r\n\r\n// utils\r\nimport { isEmpty } from \"@/utils\";\r\n\r\n// model\r\nimport { eventNames } from \"@/model/common/events/eventConst\";\r\n\r\nexport const alertableMixin = {\r\n components: {\r\n BaseAlert: () => import(\"@/components/shared/base/BaseAlert\")\r\n },\r\n data() {\r\n return {\r\n /**\r\n * internal alert to be displayed\r\n * @type {{type: string, message: string, dismissible : boolean}}\r\n */\r\n internalAlert: undefined,\r\n\r\n /**\r\n * alert Type name enum\r\n * @type {{success: string, warning: string, error: string, info: string}}\r\n */\r\n alertTypeName: alertType\r\n };\r\n },\r\n computed: {\r\n showAlert: {\r\n get() {\r\n return this.visibleAlert;\r\n },\r\n set(value) {\r\n if (!value) {\r\n if (this.internalAlert) {\r\n this.internalAlert.message = undefined;\r\n }\r\n }\r\n this.$emit(eventNames.alertVisibilityChanged, value);\r\n }\r\n },\r\n\r\n /**\r\n * determines whether alert should be visible\r\n * @return {boolean} true if alert should be visible\r\n */\r\n visibleAlert() {\r\n return !isEmpty(this.internalAlert?.message);\r\n },\r\n\r\n /**\r\n * current Alert Type\r\n * @return {string|undefined} current Alert Type\r\n */\r\n currentAlertType() {\r\n return isEmpty(this.internalAlert?.message)\r\n ? alertType.info\r\n : this.internalAlert.type;\r\n },\r\n\r\n /**\r\n * alert Message\r\n * @return {string|undefined}\r\n */\r\n alertMessage() {\r\n return this.internalAlert?.message;\r\n },\r\n\r\n /**\r\n * compute whether Alert should be Dismissible\r\n * @return {boolean} if true Alert should be Dismissible\r\n */\r\n isAlertDismissible() {\r\n return this.internalAlert?.dismissible ?? false;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * create Alert\r\n * @param {string} type Alert type\r\n * @param {string} message Alert message\r\n * @param {boolean} dismissible Alert dismissible\r\n * @return {{type: string, message: string, dismissible: boolean}}\r\n */\r\n createAlert(type, message, dismissible = false) {\r\n return createAlert(type, message, dismissible);\r\n },\r\n\r\n /**\r\n * create Error type Alert\r\n * @param {string} message Error Alert message\r\n * @param {boolean} dismissible Error Alert dismissible\r\n * @return {{type: string, message: string, dismissible: boolean}}\r\n */\r\n createAlertError(message, dismissible = false) {\r\n return createAlert(alertType.error, message, dismissible);\r\n },\r\n\r\n /**\r\n * create Warning type Alert\r\n * @param {string} message Warning Alert message\r\n * @param {boolean} dismissible Warning Alert dismissible\r\n * @return {{type: string, message: string, dismissible: boolean}}\r\n */\r\n createAlertWarning(message, dismissible = false) {\r\n return createAlert(alertType.warning, message, dismissible);\r\n },\r\n\r\n /**\r\n * create Info type Alert\r\n * @param {string} message Info Alert message\r\n * @param {boolean} dismissible Info Alert dismissible\r\n * @return {{type: string, message: string, dismissible: boolean}}\r\n */\r\n createAlertInfo(message, dismissible = false) {\r\n return createAlert(alertType.info, message, dismissible);\r\n },\r\n\r\n /**\r\n * create Success type Alert\r\n * @param {string} message Success Alert message\r\n * @param {boolean} dismissible Success Alert dismissible\r\n * @return {{type: string, message: string, dismissible: boolean}}\r\n */\r\n createAlertSuccess(message, dismissible = false) {\r\n return createAlert(alertType.success, message, dismissible);\r\n },\r\n\r\n /**\r\n * format Alert Error\r\n * @param {String} action\r\n * @param {String} error\r\n * @return {string} formatted Alert Error\r\n */\r\n formatAlertError(action, error) {\r\n return formatAlertError(action, error);\r\n },\r\n\r\n /**\r\n * clear current Alert\r\n */\r\n clearAlert() {\r\n this.internalAlert = undefined;\r\n }\r\n }\r\n};\r\n","// design\r\nimport {\r\n createPrompt,\r\n promptType\r\n} from \"@/design/components/prompt/promptModel\";\r\nimport { colorTheme } from \"@/design/colors/mdColors\";\r\n\r\nexport const promptAbleMixin = {\r\n components: {\r\n BasePrompt: () => import(\"@/components/shared/base/BasePrompt\")\r\n },\r\n data() {\r\n return {\r\n visiblePrompt: true,\r\n promptTypeName: promptType\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Prompt text\r\n * remarks: designed to be overwritten\r\n * @return {string} Prompt text\r\n */\r\n promptText() {\r\n return \"Do you want to proceed?\";\r\n },\r\n\r\n /**\r\n * compute prompt Subtitle\r\n * remarks: designed to be overwritten\r\n * @return {string} prompt Subtitle\r\n */\r\n promptSubtitle() {\r\n return undefined;\r\n },\r\n\r\n /**\r\n * compute prompt Hint (toolTip)\r\n * remarks: designed to be overwritten\r\n * @return {string} prompt Hint (toolTip)\r\n */\r\n promptHint() {\r\n return undefined;\r\n },\r\n\r\n /**\r\n * current Prompt Type by default\r\n * remarks: designed to be overwritten\r\n * @return {string} current Prompt Type\r\n */\r\n currentPromptType() {\r\n return this.promptTypeName.normal;\r\n },\r\n\r\n /**\r\n * prompt Color Class\r\n * @return {string|undefined} suggested prompt Color Class\r\n */\r\n promptColorClass() {\r\n switch (this.currentPromptType) {\r\n case promptType.normal: {\r\n return undefined;\r\n }\r\n case promptType.warning: {\r\n return colorTheme.warning;\r\n }\r\n case promptType.info: {\r\n return colorTheme.info;\r\n }\r\n case promptType.success: {\r\n return colorTheme.success;\r\n }\r\n case promptType.critical: {\r\n return colorTheme.error;\r\n }\r\n default:\r\n return undefined;\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * create Prompt\r\n * @return {{text: string, subtitle: (string|undefined|null), hint: (string|undefined|null), type: (string|undefined|null)}}\r\n */\r\n createPrompt() {\r\n return createPrompt(\r\n this.promptText,\r\n this.currentPromptType,\r\n this.promptSubtitle,\r\n this.promptHint\r\n );\r\n }\r\n }\r\n};\r\n","/**\r\n * Alert Type (map to vuetify Alert types)\r\n * @type {{success: string, warning: string, error: string, info: string}}\r\n */\r\nconst alertType = Object.freeze({\r\n success: \"success\",\r\n info: \"info\",\r\n warning: \"warning\",\r\n error: \"error\"\r\n});\r\n\r\n/**\r\n * Get the list of available Alert Types\r\n * @type {(string)[]}\r\n */\r\nconst alertTypes = Object.freeze([\r\n alertType.success,\r\n alertType.info,\r\n alertType.warning,\r\n alertType.error\r\n]);\r\n\r\n/**\r\n * Alert border\r\n * @type {Readonly<{top: string, left: string, bottom: string, right: string}>}\r\n */\r\nconst border = Object.freeze({\r\n top: \"top \",\r\n right: \"right \",\r\n bottom: \"bottom \",\r\n left: \"left\"\r\n});\r\n\r\n/**\r\n * Alert borders\r\n * @type {(string)[]}\r\n */\r\nconst borders = Object.freeze([\r\n border.top,\r\n border.right,\r\n border.bottom,\r\n border.left\r\n]);\r\n\r\n/**\r\n * create Alert\r\n * @param {string} type Alert type\r\n * @param {string} message Alert message\r\n * @param {boolean} dismissible dismissible Alert\r\n * @return {{type : string, message : string, dismissible : boolean}}\r\n */\r\nconst createAlert = (type, message, dismissible = false) => {\r\n return {\r\n type: type,\r\n message: message,\r\n dismissible: dismissible\r\n };\r\n};\r\n\r\n/**\r\n * format Alert Error\r\n * @param action full operation action\r\n * @param error error message\r\n * @return {`Couldn't ${string}. ${string}`}\r\n */\r\nconst formatAlertError = (action, error) => {\r\n return `Couldn't ${action}. ${error}`;\r\n};\r\n\r\nexport {\r\n alertType,\r\n alertTypes,\r\n border,\r\n borders,\r\n createAlert,\r\n formatAlertError\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('batch-dialog',{attrs:{\"visible\":_vm.visible,\"record-operation\":_vm.operation,\"record-list\":_vm.recordList,\"is-selected-record\":_vm.isSelectedRecord,\"batch-operation-status\":_vm.batchOperationStatus,\"alert\":_vm.internalAlert,\"progress\":_vm.progressText},on:{\"close\":_vm.closeAction,\"cancel\":_vm.cancelAction,\"onOk\":_vm.onOk,\"onDialogOpened\":_vm.onDialogOpened,\"onDialogClosedAfterAction\":_vm.onDialogClosedAfterAction}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatchDeleteRecordsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BatchDeleteRecordsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BatchDeleteRecordsDialog.vue?vue&type=template&id=0234b134\"\nimport script from \"./BatchDeleteRecordsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./BatchDeleteRecordsDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\r\n * progress-able Mixin used to display progress using Progress Display component\r\n * @type {{components: {ProgressDisplay: (function(): Promise<*>)}, props: {visibleProgress: {default: boolean, type: BooleanConstructor}, uploadFileProgressText: {default: string, type: StringConstructor}}}}\r\n */\r\nexport const progressAbleMixin = {\r\n components: {\r\n ProgressDisplay: () =>\r\n import(\"@/components/shared/core/progress/ProgressDisplay\")\r\n },\r\n data() {\r\n return {\r\n /**\r\n * indicate whether Progress is visible\r\n * @type {Boolean}\r\n */\r\n visibleProgress: false,\r\n\r\n /**\r\n * Progress text to be displayed\r\n * @type {string}\r\n */\r\n progressText: undefined\r\n };\r\n },\r\n methods: {\r\n formatProgressText(action) {\r\n return `${action} ...`;\r\n },\r\n showProgress(text) {\r\n this.progressText = text;\r\n this.visibleProgress = true;\r\n },\r\n closeProgress() {\r\n this.progressText = undefined;\r\n this.visibleProgress = false;\r\n }\r\n }\r\n};\r\n","export const slottableMixin = {\r\n methods: {\r\n /**\r\n * has Slot\r\n * @param {string} name\r\n * @return {boolean}\r\n */\r\n hasSlot(name) {\r\n return !!this.$slots[name];\r\n }\r\n }\r\n};\r\n","import { batchRecordStatus } from \"@/model/record/recordModel\";\r\nimport { eventNames } from \"@/model/common/events/eventConst\";\r\nimport { slottableMixin } from \"@/mixins/shared/slottable/slottableMixin\";\r\n\r\nexport const batchDialogMixin = {\r\n mixins: [slottableMixin],\r\n\r\n props: {\r\n visible: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n\r\n methods: {\r\n /**\r\n * Set Operation Status per each Record\r\n * @param recordId\r\n * @param status\r\n * @param message\r\n */\r\n setStatus(recordId, status, message) {\r\n const targetRecord = this.batchOperationStatus.find(\r\n item => item.recordId === recordId\r\n );\r\n if (targetRecord) {\r\n targetRecord.status = status;\r\n targetRecord.message = message;\r\n }\r\n },\r\n\r\n /**\r\n * close Dialog\r\n */\r\n closeAction() {\r\n this.isCanceled = true;\r\n this.$emit(eventNames.close);\r\n },\r\n\r\n /**\r\n * cancel Operation\r\n */\r\n cancelAction() {\r\n this.isCanceled = true;\r\n this.batchOperationStatus.forEach(record => {\r\n if (record.status === batchRecordStatus.Ready) {\r\n record.status = batchRecordStatus.Canceled;\r\n record.message = \"Aborted\";\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Set Record Operation Status\r\n */\r\n setRecordOperationStatus() {\r\n this.batchOperationStatus = [];\r\n this.recordList?.forEach(record => {\r\n // Create an object with recordId and status \"Ready\" and push it to batchOperationStatus\r\n this.batchOperationStatus.push({\r\n recordId: record?.id,\r\n status: batchRecordStatus.Ready,\r\n message: \"Ready\"\r\n });\r\n });\r\n },\r\n\r\n /**\r\n * Event On Batch Dialog Opened\r\n */\r\n onDialogOpened() {\r\n this.setRecordOperationStatus();\r\n this.isCanceled = false;\r\n }\r\n }\r\n};\r\n","/**\r\n * prompt Type\r\n * @type {Readonly<{normal: string, critical: string, success: string, warning: string, info: string}>}\r\n */\r\nconst promptType = Object.freeze({\r\n normal: \"normal\",\r\n success: \"success\",\r\n info: \"info\",\r\n warning: \"warning\",\r\n critical: \"error\"\r\n});\r\n\r\n/**\r\n * create Prompt\r\n * @param {string} text required text of the prompt\r\n * @param {string} type optional promptType\r\n * @param {string} subtitle optional subtitle\r\n * @param {string} hint optional hint\r\n * @return {{text: string, subtitle: string|undefined|null, hint: string|undefined|null, type: string|undefined|null}}\r\n */\r\nconst createPrompt = (\r\n text,\r\n type = undefined,\r\n subtitle = undefined,\r\n hint = undefined\r\n) => {\r\n return {\r\n text: text,\r\n type: type,\r\n subtitle: subtitle,\r\n hint: hint\r\n };\r\n};\r\n\r\nexport { promptType, createPrompt };\r\n","// router\r\nimport { createModuleItemContentRouteLocation } from \"@/router/solution/solutionRoutes\";\r\n\r\n// mixins\r\nimport { appMixin } from \"@/mixins/shared/base/app/appMixin\";\r\nimport { routerMixin } from \"@/mixins/shared/router/routerMixin\";\r\n\r\n/**\r\n * Contains options (adhere to the DRY principle) & code re-usability\r\n * for components that needs Application module navigatable behavior\r\n */\r\nexport const moduleItemNavigatable = {\r\n mixins: [appMixin, routerMixin],\r\n methods: {\r\n /**\r\n * Navigate to Application Module Item\r\n * @param {Number|number} id Application Module Item id\r\n */\r\n async navigateToModuleItem(id) {\r\n if (!this.canNavigateToModuleItem(id)) {\r\n console.warn(\r\n `Couldn't navigate to ${this.appModuleName} Item by id:`,\r\n id\r\n );\r\n return;\r\n }\r\n\r\n try {\r\n await this.$router.push(this.createModuleItemContentRoute(id));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * create Module Item Target Route\r\n * @param {Number|number} id Module Item id\r\n * @return {{name: (String|string), params: {id:number}}}\r\n */\r\n createModuleItemContentRoute(id) {\r\n return createModuleItemContentRouteLocation(this.appModuleName, id);\r\n },\r\n\r\n /**\r\n * can Navigate To Module Item\r\n * @param {Number|number} id Module Item id\r\n * @return {boolean} true if Navigatable To Module Item\r\n */\r\n canNavigateToModuleItem(id) {\r\n return this.canNavigateToModuleItemByModuleItemId(this.appModuleName, id);\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}