{"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/mixins/shared/progressAble/progressAbleMixin.js","webpack:///./src/mixins/shared/slottable/slottableMixin.js","webpack:///./src/mixins/shared/batch/batchDialogMixin.js","webpack:///./src/components/shared/core/dialogs/BatchLockRecordsDialog.vue","webpack:///src/components/shared/core/dialogs/BatchLockRecordsDialog.vue","webpack:///./src/components/shared/core/dialogs/BatchLockRecordsDialog.vue?c1fa","webpack:///./src/components/shared/core/dialogs/BatchLockRecordsDialog.vue?cc64","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","progressAbleMixin","ProgressDisplay","visibleProgress","progressText","formatProgressText","showProgress","text","closeProgress","slottableMixin","hasSlot","name","$slots","batchDialogMixin","mixins","props","visible","Boolean","default","setStatus","recordId","status","targetRecord","batchOperationStatus","find","item","closeAction","isCanceled","close","cancelAction","forEach","record","batchRecordStatus","Ready","Canceled","setRecordOperationStatus","_this$recordList","recordList","push","id","onDialogOpened","render","_vm","_c","_self","attrs","operation","isSelectedRecord","on","onOk","onDialogClosedAfterAction","staticRenderFns","BatchDialog","moduleItemNavigatable","Array","isUnlockOperation","lockEvent","Function","required","lockEventCompleted","findRecordOperation","recordOperation","Unlock","Lock","_this$operation","label","lockProgressText","index","length","i","result","actionResultType","Completed","abort","Failed","e","component","subtitle","hint","appMixin","routerMixin","canNavigateToModuleItem","$router","createModuleItemContentRoute","console","warn","appModuleName","createModuleItemContentRouteLocation","canNavigateToModuleItemByModuleItemId"],"mappings":"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","file":"js/chunk-588492a8.f06ace4c.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","/**\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","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\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!./BatchLockRecordsDialog.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!./BatchLockRecordsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BatchLockRecordsDialog.vue?vue&type=template&id=f47c1260\"\nimport script from \"./BatchLockRecordsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./BatchLockRecordsDialog.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 * 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":""}