{"version":3,"sources":["webpack:///./src/mixins/shared/navigatable/projectNavigatable.js","webpack:///./src/mixins/project/details/loadableProjectMixin.js","webpack:///./src/mixins/shared/user/userMixin.js","webpack:///./src/views/folder/FolderProject.vue","webpack:///src/views/folder/FolderProject.vue","webpack:///./src/views/folder/FolderProject.vue?c614","webpack:///./src/views/folder/FolderProject.vue?760c"],"names":["projectNavigatable","mixins","appMixin","routerMixin","userMixin","computed","commandNavigateToProjectIconName","iconProjects","visibleJumpToProject","this","isAvailableProjectsModule","allowedAccessWFProjects","methods","projectRouteLocation","projectId","createModuleItemContentRouteLocation","moduleNames","Projects","taskRouteLocation","taskId","Tasks","canNavigateToProject","canNavigateToModuleItemByModuleItemId","commandNavigateToProjectLabel","projectName","tooltipNavigateToProjectLabel","loadableProjectMixin","projectMixin","data","loadingProject","openProjects","console","warn","$options","name","projectFull","_this$openProjects","find","p","_this$project$project","_this$project","setOpenProject","project","log","e","error","mapState","mapGetters","mapActions","createNamespacedHelpers","principalMixin","currentUser","repositories","categoryTypes","actorName","userCategories","userFields","formFields","findUserField","findFormField","countUserFields","isPersistentField","isSystemField","countUserCategories","findCategory","isAllowedViewField","createRecordCategories","createRecordCategoriesByCategoryType","updateRecordCategories","updateRecordCategoriesByCategoryType","isAllowedModifyField","isAllowedSystemOperation","isUserLoggedIn","repository","systemOperations","accessWFProjects","allowedAccessClerkModule","accessClerkModule","setFormField","_c","_self","attrs","_vm","scopedSlots","_u","onProjectCancel","onProjectExport","onProjectResume","proxy","key","fn","isAlertDismissible","model","callback","showAlert","expression","visibleDialogDeleteProject","performProjectDelete","visibleDialogCancelProject","performProjectCancel","visibleDialogSuspendProject","performProjectSuspend","visibleDialogResumeProject","performProjectResume","snackbarColor","snackbarVisible","_s","staticRenderFns","mapMutations","inheritAttrs","components","ProjectOperationDialog","updateProjectManager","UPDATE_PROJECT_MANAGER","deleteWorkflowProject","cancelWorkflowProject","suspendWorkflowProject","resumeWorkflowProject","assignManager","suspensionMessage","payload","id","message","component"],"mappings":"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","file":"js/chunk-2d1c7648.5a5e0b18.js","sourcesContent":["// router\r\nimport { createModuleItemContentRouteLocation } from \"@/router/solution/solutionRoutes\";\r\n\r\n// model\r\nimport { moduleNames } from \"@/model/solution/moduleModel\";\r\n\r\n// design\r\nimport { iconProjects } from \"@/design/icon/iconConst\";\r\n\r\n// mixins\r\nimport { appMixin } from \"@/mixins/shared/base/app/appMixin\";\r\nimport { routerMixin } from \"@/mixins/shared/router/routerMixin\";\r\nimport { userMixin } from \"@/mixins/shared/user/userMixin\";\r\n\r\nexport const projectNavigatable = {\r\n mixins: [appMixin, routerMixin, userMixin],\r\n computed: {\r\n commandNavigateToProjectIconName() {\r\n return iconProjects;\r\n },\r\n /**\r\n * compute visibility of Jump To Project command\r\n * @return {boolean} if true Jump To Project command is visible\r\n */\r\n visibleJumpToProject() {\r\n return this.isAvailableProjectsModule && this.allowedAccessWFProjects;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * project Route Location\r\n * @param {number} projectId project id\r\n * @return {{name: (String|string), params: {id: (Number|number)}}}\r\n */\r\n projectRouteLocation(projectId) {\r\n return createModuleItemContentRouteLocation(\r\n moduleNames.Projects,\r\n projectId\r\n );\r\n },\r\n\r\n /**\r\n * task Route Location\r\n * @param {number} taskId task id\r\n * @return {{name: (String|string), params: {id: (Number|number)}}}\r\n */\r\n taskRouteLocation(taskId) {\r\n return createModuleItemContentRouteLocation(moduleNames.Tasks, taskId);\r\n },\r\n\r\n /**\r\n /**\r\n * can Navigate To Project\r\n * @param {number} projectId project id\r\n * @return {boolean} true when can Navigate To Project\r\n */\r\n canNavigateToProject(projectId) {\r\n return (\r\n this.isAvailableProjectsModule &&\r\n this.allowedAccessWFProjects &&\r\n this.canNavigateToModuleItemByModuleItemId(\r\n moduleNames.Projects,\r\n projectId\r\n )\r\n );\r\n },\r\n\r\n /**\r\n * command Navigate To Project Label\r\n * @param {string} projectName project Name\r\n * @return {string} formatted command Navigate To Project Label\r\n */\r\n commandNavigateToProjectLabel(projectName) {\r\n return `Project: ${projectName ?? \"project\"}`;\r\n },\r\n\r\n /**\r\n * tooltip Navigate To Project Label\r\n * @param {string} projectName project Name\r\n * @return {string} formatted tooltip Navigate To Project Label\r\n */\r\n tooltipNavigateToProjectLabel(projectName) {\r\n return `Jump to Project: ${projectName ?? \"project\"}`;\r\n }\r\n }\r\n};\r\n","import { projectMixin } from \"@/mixins/project/details/projectMixin\";\r\n\r\nexport const loadableProjectMixin = {\r\n mixins: [projectMixin],\r\n data() {\r\n return {\r\n loadingProject: false\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Fully loaded/opened current record's projects\r\n * @return {{projectId: Number, projectName:string, creationDate: string, definitionId: Number, workflowInstanceId: Number, workflowTypeId: Number, recordId: Number, subject: String, owner: String, userName:string, projectManagerId: Number, templateId: Number, templateName: String, status: number, isOverdue: Boolean, isSuspended: false, canAccess: Boolean, canCancel: Boolean, canChangeOwnership: Boolean, canReassign: Boolean, canSuspend: Boolean, comment:string, durableInstanceUid:string, creationDate:string, userTasks: {taskId: number, typeId: number, actorId: number, actorName: string, userName: string, assignee: string, canReassign: boolean, canceledRecipients: string, comment: string, dueDate: string, duration: string, isDue: boolean, isMilestone: boolean, isOverdue: boolean, priority: number, recordId: number, recordName: string, status: number, statusText: string, notes: {id: number, created: string, taskId: number, userId: number, userName: string}[]}}[]}\r\n */\r\n openProjects() {\r\n console.warn(\r\n `Abstract computed ${this.$options.name}.openProjects called.`\r\n );\r\n return [];\r\n },\r\n /**\r\n * Fully loaded project\r\n * @return {*}\r\n */\r\n projectFull() {\r\n return this.openProjects?.find(p => p.projectId === this.projectId);\r\n }\r\n },\r\n methods: {\r\n async setOpenProject(projectId) {\r\n console.warn(\r\n `Abstract method ${this.$options.name}.setOpenProject() called. projectId:`,\r\n projectId\r\n );\r\n },\r\n\r\n /**\r\n * handle event Project Panel Expanded\r\n * @return {Promise}\r\n */\r\n async onProjectPanelExpanded() {\r\n try {\r\n this.loadingProject = true;\r\n\r\n await this.setOpenProject(this.project?.projectId ?? -1);\r\n\r\n console.log(\r\n `${this.$options.name}.onProjectPanelExpanded() this.projectFull`,\r\n this.projectFull\r\n );\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n this.loadingProject = false;\r\n }\r\n }\r\n }\r\n};\r\n","// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapState, mapGetters, mapActions } = createNamespacedHelpers(\"user\");\r\n\r\nimport { principalMixin } from \"@/mixins/shared/user/principalMixin\";\r\nimport { systemOperations } from \"@/model/user/userModel\";\r\n\r\n/**\r\n * Encapsulate Questys current user\r\n */\r\nexport const userMixin = {\r\n mixins: [principalMixin],\r\n computed: {\r\n ...mapState({\r\n currentUser: \"user\",\r\n repositories: \"repositories\",\r\n categoryTypes: \"categoryTypes\"\r\n }),\r\n ...mapGetters({\r\n actorName: \"actorName\",\r\n userCategories: \"categories\",\r\n userFields: \"fields\",\r\n formFields: \"formFields\",\r\n findUserField: \"findField\",\r\n findFormField: \"findFormField\",\r\n countUserFields: \"countFields\",\r\n isPersistentField: \"isPersistentField\",\r\n isSystemField: \"isSystemField\",\r\n countUserCategories: \"countCategories\",\r\n findCategory: \"findCategory\",\r\n isAllowedViewField: \"isAllowedViewField\",\r\n createRecordCategories: \"createRecordCategories\",\r\n createRecordCategoriesByCategoryType:\r\n \"createRecordCategoriesByCategoryType\",\r\n updateRecordCategories: \"updateRecordCategories\",\r\n updateRecordCategoriesByCategoryType:\r\n \"updateRecordCategoriesByCategoryType\",\r\n isAllowedModifyField: \"isAllowedModifyField\",\r\n isAllowedSystemOperation: \"isAllowedSystemOperation\",\r\n isUserLoggedIn: \"isUserLoggedIn\",\r\n repository: \"repository\"\r\n }),\r\n\r\n /**\r\n * compute whether current user is allowed Access WF Projects\r\n * @return {boolean} true if current user is allowed to Access/Mange workflow Projects\r\n */\r\n allowedAccessWFProjects() {\r\n return !!this.isAllowedSystemOperation(systemOperations.accessWFProjects);\r\n },\r\n\r\n /**\r\n * compute whether current user is allowed to access Agenda Clerk Module\r\n * @return {boolean} true if current user is allowed to access/Mange workflow Projects\r\n */\r\n allowedAccessClerkModule() {\r\n return !!this.isAllowedSystemOperation(\r\n systemOperations.accessClerkModule\r\n );\r\n }\r\n\r\n /**\r\n * insert here allowed systemOperations on demand\r\n * ...\r\n */\r\n },\r\n methods: {\r\n ...mapActions({ setFormField: \"setFormField\" })\r\n }\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('project-layout',{attrs:{\"project\":_vm.project,\"project-full\":_vm.projectFull},on:{\"expanded\":_vm.onProjectPanelExpanded},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [_c('project-actions',{attrs:{\"project\":_vm.projectFull,\"on-assign-manager\":_vm.onProjectAssignManager,\"on-delete\":_vm.onProjectDelete,\"on-cancel\":_vm.onProjectCancel,\"on-export\":_vm.onProjectExport,\"on-resume\":_vm.onProjectResume,\"on-suspend\":_vm.onProjectSuspend,\"on-repair-project\":_vm.onProjectRepair},scopedSlots:_vm._u([{key:\"actions\",fn:function(){return [(_vm.visibleJumpToProject)?_c('base-menu-item',{attrs:{\"to\":_vm.projectRouteLocation(_vm.projectId),\"disabled\":!_vm.canNavigateToProject(_vm.projectId)},scopedSlots:_vm._u([{key:\"tooltipContent\",fn:function(){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.tooltipNavigateToProjectLabel(_vm.projectName))+\" \")])]},proxy:true}],null,false,3858064841)},[_c('v-icon',{attrs:{\"color\":_vm.menuItemColorClass}},[_vm._v(\" \"+_vm._s(_vm.commandNavigateToProjectIconName)+\" \")]),_vm._v(\" \"+_vm._s(_vm.commandNavigateToProjectLabel(_vm.projectName))+\" \")],1):_vm._e()]},proxy:true}])})]},proxy:true},{key:\"alert\",fn:function(){return [_c('base-alert',{attrs:{\"dismissible\":_vm.isAlertDismissible,\"type\":_vm.currentAlertType},model:{value:(_vm.showAlert),callback:function ($$v) {_vm.showAlert=$$v},expression:\"showAlert\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.alertMessage)}})])]},proxy:true}])}),_c('project-operation-dialog',{attrs:{\"project\":_vm.project,\"project-operation\":_vm.projectOperation.DeleteProject,\"visible\":_vm.visibleDialogDeleteProject,\"perform-action\":_vm.performProjectDelete},on:{\"close\":_vm.closeDialogDeleteProject}}),_c('project-operation-dialog',{attrs:{\"project\":_vm.project,\"project-operation\":_vm.projectOperation.CancelProject,\"visible\":_vm.visibleDialogCancelProject,\"perform-action\":_vm.performProjectCancel},on:{\"close\":_vm.closeDialogCancelProject}}),_c('project-operation-dialog',{attrs:{\"project\":_vm.project,\"project-operation\":_vm.projectOperation.SuspendProject,\"visible\":_vm.visibleDialogSuspendProject,\"perform-action\":_vm.performProjectSuspend},on:{\"close\":_vm.closeDialogSuspendProject}}),_c('project-operation-dialog',{attrs:{\"project\":_vm.project,\"project-operation\":_vm.projectOperation.ResumeProject,\"visible\":_vm.visibleDialogResumeProject,\"perform-action\":_vm.performProjectResume},on:{\"close\":_vm.closeDialogResumeProject}}),_c('project-detailed-report-dialog',{attrs:{\"project\":_vm.projectFull,\"visible\":_vm.visibleDialogProjectExport},on:{\"close\":_vm.closeDialogExportProject}}),_c('assign-manager-dialog',{attrs:{\"project\":_vm.projectFull,\"visible\":_vm.visibleDialogAssignProject,\"assign-event\":_vm.onManagerAssignment},on:{\"close\":_vm.closeDialogAssignManager}}),_c('snackbar',{attrs:{\"color\":_vm.snackbarColor,\"top\":_vm.snackbarTop},on:{\"close\":_vm.closeSnackbar},model:{value:(_vm.snackbarVisible),callback:function ($$v) {_vm.snackbarVisible=$$v},expression:\"snackbarVisible\"}},[_vm._v(_vm._s(_vm.snackbarText))])],1)\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!./FolderProject.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!./FolderProject.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FolderProject.vue?vue&type=template&id=906df18a\"\nimport script from \"./FolderProject.vue?vue&type=script&lang=js\"\nexport * from \"./FolderProject.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"],"sourceRoot":""}