{"version":3,"sources":["webpack:///./src/views/projects/ProjectContent.vue","webpack:///./src/mixins/project/content/projectContentMixin.js","webpack:///src/views/projects/ProjectContent.vue","webpack:///./src/views/projects/ProjectContent.vue?59d9","webpack:///./src/views/projects/ProjectContent.vue?25cb","webpack:///./src/mixins/shared/user/principalMixin.js","webpack:///./src/mixins/shared/base/component/baseComponentMixin.js","webpack:///./src/mixins/shared/reactive/reactiveMixin.js","webpack:///./src/mixins/shared/base/app/appMixin.js","webpack:///./src/mixins/public/publicAccessMixin.js","webpack:///./src/mixins/shared/snackbarable/snackbarableMixin.js","webpack:///./src/mixins/shared/content/contentRecordMixin.js","webpack:///./src/mixins/shared/content/moduleContentRecordMixin.js","webpack:///./src/mixins/shared/content/moduleContentMixin.js","webpack:///./src/services/error/errorMessages.js"],"names":["render","_vm","this","_c","_self","attrs","visibleDataTable","currentError","isLoading","record","on","onAlertVisibilityChanged","onExpandedPreview","scopedSlots","_u","key","fn","project","proxy","visibleSubRecords","directives","name","rawName","value","expression","visibleFileVersions","visiblePreviewTab","visibleDocumentViewerPreview","recordId","previewRecordVersion","expandedPreview","_e","visibleDocumentPreview","snackbarColor","closeSnackbar","model","snackbarVisible","callback","$$v","_v","_s","computedSnackbarText","staticRenderFns","mapState","mapActions","createNamespacedHelpers","projectContentMixin","mixins","moduleContentRecordMixin","reactiveMixin","computed","methods","setRecord","setModuleItem","watch","newProject","_newProject$recordId","clearError","e","handleError","data","panelDocuments","undefined","panelHistory","components","ProjectDetails","ProjectRecordDetails","ProjectDocuments","ProjectFileVersions","DocumentPreview","DocumentViewer","component","mapGetters","principalMixin","publicAccessMixin","principal","findFeature","isAvailableApplicationModule","isAvailableProjectsModule","moduleNames","Projects","isAvailableMyInboxModule","Tasks","isAvailableAgendaModule","Agenda","isUserStateOwner","isStateOwner","isAvailableFeature","status","featureStatus","supported","licenced","released","feature","used","total","baseComponentMixin","componentName","$options","loadingText","hasError","isEmpty","fullMethodName","error","methodName","_error$toString","toString","console","visible","visibleOnMdAndUp","$vuetify","breakpoint","mdAndUp","visibleOnSmAndUp","smAndUp","visibleOnSmAndDown","smAndDown","appMixin","appModuleName","appModuleTitle","appModuleIcon","isPublicAccess","publicAccess","snackbarableMixin","snackbarText","snackbarTimeout","snackbarVisibleCloseButton","snackbarTop","snackbarMultiLine","Snackbar","showSnackbarSuccess","text","top","showSnackbar","colorTheme","success","showSnackbarInfo","info","showSnackbarError","timeout","multiLine","showSnackbarWarning","warning","color","contentRecordMixin","warn","projects","allowedViewFileHistory","isAllowedOperation","recordOperation","AccessVersion","_this$record$recordTy","_this$record","typeId","recordTypeId","recordType","RECORD","FILE","_this$record$recordTy2","_this$record2","canPreview","fullRecordName","moduleContentMixin","_this$record$id","id","recordVersion","_this$record$version","version","canPreviewInDocumentViewer","projectCount","_this$projects$length","_this$projects","length","visibleProjectsTab","_this$record$id2","_this$record3","BaseContentLayout","ExpansionPanelLayout","props","type","Number","default","selectedModuleItemId","selectedModuleItemName","isShortcut","notImplementedMethod","log","_ref","$route","createModuleExpandRecordShortcutContentRouteName","setCurrentModuleItem","to","_ref2","notImplementedComputed","propertyName","byClient"],"mappings":"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","file":"js/chunk-a7e704da.d0802f5f.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-content-layout',{attrs:{\"visibleDataTable\":_vm.visibleDataTable,\"error\":_vm.currentError,\"loading\":_vm.isLoading,\"record\":_vm.record},on:{\"alertVisibilityChanged\":_vm.onAlertVisibilityChanged,\"expandedPreview\":_vm.onExpandedPreview},scopedSlots:_vm._u([{key:\"module-details\",fn:function(){return [_c('project-details',{attrs:{\"record\":_vm.record,\"project\":_vm.project}})]},proxy:true},{key:\"record-details\",fn:function(){return [_c('project-record-details')]},proxy:true},(_vm.visibleSubRecords)?{key:\"record-list\",fn:function(){return [_c('project-documents',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visibleSubRecords),expression:\"visibleSubRecords\"}]})]},proxy:true}:null,(_vm.visibleFileVersions)?{key:\"record-history\",fn:function(){return [_c('project-file-versions',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visibleFileVersions),expression:\"visibleFileVersions\"}]})]},proxy:true}:null,(_vm.visiblePreviewTab)?{key:\"record-preview\",fn:function(){return [(_vm.visibleDocumentViewerPreview)?_c('document-viewer',{attrs:{\"record-id\":_vm.recordId,\"record-version\":_vm.previewRecordVersion,\"preview-only\":true,\"is-open-document\":_vm.expandedPreview}}):_vm._e(),(_vm.visibleDocumentPreview)?_c('document-preview',{attrs:{\"record\":_vm.record,\"open\":_vm.expandedPreview}}):_vm._e()]},proxy:true}:null,{key:\"snackbar\",fn:function(){return [_c('snackbar',{attrs:{\"color\":_vm.snackbarColor},on:{\"close\":_vm.closeSnackbar},model:{value:(_vm.snackbarVisible),callback:function ($$v) {_vm.snackbarVisible=$$v},expression:\"snackbarVisible\"}},[_vm._v(_vm._s(_vm.computedSnackbarText))])]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapState, mapActions } = createNamespacedHelpers(\"project\");\r\n\r\n// mixins\r\nimport { moduleContentRecordMixin } from \"@/mixins/shared/content/moduleContentRecordMixin\";\r\nimport { reactiveMixin } from \"@/mixins/shared/reactive/reactiveMixin\";\r\n\r\n/**\r\n * Project Content Mixin\r\n */\r\nexport const projectContentMixin = {\r\n mixins: [moduleContentRecordMixin, reactiveMixin],\r\n computed: {\r\n /**\r\n * Overwrite moduleContentRecordMixin.record()\r\n */\r\n ...mapState({\r\n /**\r\n * Get current selected Project Module's record\r\n * Overwrite moduleContentRecordMixin.record()\r\n * @return {{id:number, name:string, categoryId:number, recordTypeId:number, recordType: string, parentId:number, children:number, createdBy:string, creationDate:string, extension:string, isComposite:boolean, isLink:boolean, isReadOnly:boolean, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isLink: boolean, isLocked: boolean, stateId:number, state:string, fieldValues: {id: number, name:string, fieldDataType: number, fieldDataTypeName: string, value: string}[], flyingFields: {id:number, sequence:number}[] }}\r\n */\r\n record: \"record\",\r\n\r\n /**\r\n * Get current selected Project Module's Project\r\n * @return {{projectId: Number, projectName: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}}\r\n */\r\n project: \"project\"\r\n })\r\n },\r\n methods: {\r\n /**\r\n * Overwrite moduleContentRecordMixin's methods\r\n */\r\n ...mapActions({\r\n /**\r\n * Set current selected Project Module's Record\r\n * Overwrite moduleContentRecordMixin.setRecord()\r\n */\r\n setRecord: \"setRecord\",\r\n\r\n /**\r\n * Set current selected Project Module's Project\r\n * Overwrite moduleContentMixin.setModuleItem()\r\n */\r\n setModuleItem: \"setProject\"\r\n })\r\n },\r\n watch: {\r\n /**\r\n * watch current selected project\r\n * @param {{projectId: Number, projectName: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}} newProject\r\n * @return {Promise}\r\n */\r\n async project(newProject) {\r\n try {\r\n this.clearError();\r\n const recordId = newProject?.recordId ?? -1;\r\n await this.setRecord(recordId);\r\n } catch (e) {\r\n this.handleError(e);\r\n }\r\n }\r\n }\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!./ProjectContent.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!./ProjectContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectContent.vue?vue&type=template&id=3862fa0a\"\nimport script from \"./ProjectContent.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectContent.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","// services\r\nimport { isStateOwner } from \"@/services/record/recordService\";\r\n\r\n// model\r\nimport { featureStatus } from \"@/model/features/featuresModel\";\r\nimport { moduleNames } from \"@/model/solution/moduleModel\";\r\n\r\n// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapGetters } = createNamespacedHelpers(\"user\");\r\n\r\nimport { publicAccessMixin } from \"@/mixins/public/publicAccessMixin\";\r\n\r\n/**\r\n * Encapsulate Questys principal\r\n */\r\nexport const principalMixin = {\r\n mixins: [publicAccessMixin],\r\n computed: {\r\n ...mapGetters({\r\n principal: \"principal\",\r\n findFeature: \"findFeature\",\r\n isAvailableApplicationModule: \"isAvailableApplicationModule\"\r\n }),\r\n\r\n /**\r\n * compute whether workflow projects module is available (licensed, supported, enabled)\r\n * @return {boolean} true if workflow projects module is available\r\n */\r\n isAvailableProjectsModule() {\r\n return this.isAvailableApplicationModule(moduleNames.Projects);\r\n },\r\n\r\n /**\r\n * compute whether workflow my inbox (tasks) module is available (licensed, supported, enabled)\r\n * @return {boolean} true if workflow my inbox (tasks) module is available\r\n */\r\n isAvailableMyInboxModule() {\r\n return this.isAvailableApplicationModule(moduleNames.Tasks);\r\n },\r\n\r\n /**\r\n * compute whether Agenda module is available (licensed, supported, enabled)\r\n * @return {boolean} true if Agenda module is available\r\n */\r\n isAvailableAgendaModule() {\r\n return this.isAvailableApplicationModule(moduleNames.Agenda);\r\n }\r\n },\r\n methods: {\r\n /**\r\n * determines whether the current user (principal) is State Owner of specified record\r\n * @param {{id: number, name: string, stateOwnerId: number}} record\r\n * @return {boolean} returns true if current user (principal) is State Owner of specified record\r\n */\r\n isUserStateOwner(record) {\r\n return isStateOwner(record, this.principal);\r\n },\r\n\r\n /**\r\n * is Available Feature\r\n * @param {string} name Feature name\r\n * @return {boolean} true if Feature is Available (supported, licenced, released)\r\n */\r\n isAvailableFeature(name) {\r\n const status = this.featureStatus(name);\r\n return status.supported && status.licenced && status.released;\r\n },\r\n\r\n /**\r\n * get feature Status\r\n * @param name\r\n * @return {{licenced: boolean, released: boolean, statusText: string, supported: boolean, notSupportedReason: string}}\r\n */\r\n featureStatus(name) {\r\n let feature = this.findFeature(name);\r\n if (!feature) {\r\n feature = {\r\n name: name,\r\n used: 1,\r\n total: 1\r\n };\r\n }\r\n return featureStatus(feature);\r\n }\r\n }\r\n};\r\n","/**\r\n * Base Component Mixin serves as a base class for components\r\n */\r\nimport { isEmpty } from \"@/utils\";\r\n\r\nexport const baseComponentMixin = {\r\n data() {\r\n return {\r\n /**\r\n * Current Error\r\n * @type {string}\r\n */\r\n currentError: \"\",\r\n\r\n /**\r\n * Is Loading indicator\r\n * @type {boolean}\r\n */\r\n isLoading: false\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Get component Name\r\n * @returns {string}\r\n */\r\n componentName() {\r\n return this.$options.name;\r\n },\r\n /**\r\n * Get loading Text (overwrite it if needed)\r\n * @returns {string}\r\n */\r\n loadingText() {\r\n return `Loading ...`;\r\n },\r\n /**\r\n * Has an Error occurred\r\n * @returns {boolean}\r\n */\r\n hasError() {\r\n return !isEmpty(this.currentError);\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Build full Method (function) Name (this.componentName + Method Name)\r\n * @param {string} name\r\n * @returns {string}\r\n */\r\n fullMethodName(name) {\r\n return `${this.componentName}.${name}`;\r\n },\r\n /**\r\n * Handle Error\r\n * @param {string} error\r\n * @param {string} methodName\r\n */\r\n handleError(error, methodName = \"\") {\r\n this.currentError = error?.toString() ?? \"\";\r\n\r\n console.error(\r\n methodName ? `${this.fullMethodName(methodName)} Error:` : \"Error:\",\r\n this.currentError\r\n );\r\n },\r\n /**\r\n * Clear current error\r\n */\r\n clearError() {\r\n this.currentError = undefined;\r\n },\r\n /**\r\n * on Alert Visibility Changed event handler\r\n * @param {Boolean|boolean} visible\r\n */\r\n onAlertVisibilityChanged(visible) {\r\n if (!visible) {\r\n this.clearError();\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * Reactive Mixin used by components that needs to be reactive\r\n * @type {{computed: {visibleOnMdAndUp(): reactiveMixin.computed.$vuetify.breakpoint.mdAndUp}}}\r\n */\r\nexport const reactiveMixin = {\r\n computed: {\r\n /**\r\n * Get breakpoint mdAndUp\r\n * @return {boolean}\r\n */\r\n visibleOnMdAndUp() {\r\n return this.$vuetify.breakpoint.mdAndUp;\r\n },\r\n /**\r\n * Get breakpoint smAndUp\r\n * @returns {boolean}\r\n */\r\n visibleOnSmAndUp() {\r\n return this.$vuetify.breakpoint.smAndUp;\r\n },\r\n /**\r\n * Get breakpoint smAndDown\r\n * @returns {boolean}\r\n */\r\n visibleOnSmAndDown() {\r\n return this.$vuetify.breakpoint.smAndDown;\r\n }\r\n }\r\n};\r\n","import { createNamespacedHelpers } from \"vuex\";\r\nconst { mapGetters } = createNamespacedHelpers(\"solution\");\r\n\r\n/**\r\n * appMixin contains options (adhere to the DRY principle) &\r\n * code re-usability for Application\r\n */\r\nexport const appMixin = {\r\n computed: {\r\n ...mapGetters({\r\n appModuleName: \"appModuleName\",\r\n appModuleTitle: \"appModuleTitle\",\r\n appModuleIcon: \"appModuleIcon\"\r\n })\r\n }\r\n};\r\n","import { isPublicAccess, publicAccess } from \"@/services/config/configService\";\r\n\r\n/**\r\n * Encapsulate public Access business logic\r\n */\r\nexport const publicAccessMixin = {\r\n computed: {\r\n /**\r\n * is Public Access\r\n * @return {boolean} true if Public Access is enabled\r\n */\r\n isPublicAccess() {\r\n return isPublicAccess;\r\n },\r\n\r\n /**\r\n * public Access\r\n * @return {\r\n * {searcher: {name: string, code: string, repository: string}},\r\n * {appBar: {prominent: boolean, color: string, gradient: string, useTabs: boolean, logo: string, logoSize:number, backgroundImageUrl: string, title: string, collapseOnScroll: boolean, fadeImgOnScroll: boolean, shrinkOnScroll: boolean}}, {sideBar: {enableMiniSidebar: boolean, backgroundImageUrl: string}}, {sideBar: {enableMiniSidebar: boolean, backgroundImageUrl: string}},\r\n * {buttons: {color: string, elevation: number, outlined: boolean, rounded: boolean, textStyle: boolean}},\r\n * {company: {disclaimers: string, name: string, logo: string, description: string, linkedIn: string, address: {zip: string, country: string, city: string, addressLine1: string, addressLine2: string, state: string}}},\r\n * {contact: {name: string, description: string, phone: string, phoneDescription: string, email: string, emailDescription: string}},\r\n * {modules: {visibleFolder: string, visibleCategory: string, visibleMeetings: string}}\r\n * }\r\n */\r\n publicAccess() {\r\n return publicAccess;\r\n }\r\n }\r\n};\r\n","import { colorTheme } from \"@/design/colors/mdColors\";\r\n\r\n/**\r\n * snackbar-able Mixin\r\n */\r\nexport const snackbarableMixin = {\r\n data() {\r\n return {\r\n snackbarVisible: false,\r\n snackbarColor: \"\",\r\n snackbarText: \"\",\r\n snackbarTimeout: 2000,\r\n snackbarVisibleCloseButton: true,\r\n snackbarTop: false,\r\n snackbarMultiLine: false\r\n };\r\n },\r\n components: {\r\n Snackbar: () => import(\"@/components/shared/base/BaseSnackbar\")\r\n },\r\n methods: {\r\n /**\r\n * show Snackbar Success\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarSuccess(text, top = false) {\r\n this.showSnackbar(text, colorTheme.success, top);\r\n },\r\n /**\r\n * show Snackbar Info\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarInfo(text, top = false) {\r\n this.showSnackbar(text, colorTheme.info, top);\r\n },\r\n /**\r\n * show Snackbar Error (timeout: Use -1 to keep open indefinitely)\r\n * @param {String} text\r\n * @param {Boolean} top\r\n * @param {Number|number} timeout\r\n * @param {Boolean} multiLine\r\n */\r\n showSnackbarError(text, top = false, timeout = -1, multiLine = true) {\r\n this.showSnackbar(text, colorTheme.error, top, timeout, multiLine);\r\n },\r\n /**\r\n * show Snackbar Warning\r\n * @param {String} text\r\n * @param {Boolean} top\r\n */\r\n showSnackbarWarning(text, top = false) {\r\n this.showSnackbar(text, colorTheme.warning, top);\r\n },\r\n /**\r\n * show Snackbar\r\n * @param {String} text\r\n * @param {String} color\r\n * @param {Boolean} top\r\n * @param {Number|number} timeout\r\n * @param {Boolean} multiLine\r\n */\r\n showSnackbar(\r\n text,\r\n color = undefined,\r\n top = false,\r\n timeout = 2000,\r\n multiLine = false\r\n ) {\r\n this.snackbarVisible = true;\r\n this.snackbarColor = color;\r\n this.snackbarText = text;\r\n this.snackbarTop = top;\r\n this.snackbarTimeout = timeout;\r\n this.snackbarMultiLine = multiLine;\r\n },\r\n /**\r\n * close Snackbar\r\n */\r\n closeSnackbar() {\r\n this.snackbarVisible = false;\r\n }\r\n }\r\n};\r\n","// model\r\nimport { recordOperation, recordType } from \"@/model/record/recordModel\";\r\n\r\n// services\r\nimport {\r\n fullRecordName,\r\n isAllowedOperation,\r\n canPreview\r\n} from \"@/services/record/recordService\";\r\n\r\nimport { publicAccessMixin } from \"@/mixins/public/publicAccessMixin\";\r\nimport { principalMixin } from \"@/mixins/shared/user/principalMixin\";\r\n\r\n/**\r\n * This mixin serves as a base class for Record *Content*.vue components\r\n */\r\nexport const contentRecordMixin = {\r\n mixins: [publicAccessMixin, principalMixin],\r\n computed: {\r\n /**\r\n * Get current record\r\n * remarks: Abstract computed\r\n * @type {{id:number, name:string, categoryId:number, recordTypeId:number, recordType: string, canUpdate: boolean, canDelete: boolean, cannotUpdateReason: {accessDenied: boolean, checkedOut: boolean, inherited: boolean, invalidOperation: boolean, locked: boolean, notInitialized: boolean, onHold: boolean, onHold: boolean, readOnly: boolean, retained: boolean, reason: string}, cannotDeleteReason: {accessDenied: boolean, checkedOut: boolean, inherited: boolean, invalidOperation: boolean, locked: boolean, notInitialized: boolean, onHold: boolean, onHold: boolean, readOnly: boolean, retained: boolean, reason: string}, parentId:number, children:number, createdBy:string, creationDate:string, modificationDate:string, extension:string, isComposite:boolean, isLink:boolean, isReadOnly:boolean, isDeleted: boolean, isDraft: boolean, isLink: boolean, isLocked: boolean, stateId:number, state:string, stateDescription: string, owner:string, stateOwnerId:number, pageCount:number, version:number, versionDate:string, versionOwner:string, fileSize:number, comments:string, flags:number, ancestor: {id: number, name: string, categoryId: number, code: number, canUpdate: boolean, canDelete: boolean, cannotUpdateReason: {accessDenied: boolean, checkedOut: boolean, inherited: boolean, invalidOperation: boolean, locked: boolean, notInitialized: boolean, onHold: boolean, onHold: boolean, readOnly: boolean, retained: boolean, reason: string}, cannotDeleteReason: {accessDenied: boolean, checkedOut: boolean, inherited: boolean, invalidOperation: boolean, locked: boolean, notInitialized: boolean, onHold: boolean, onHold: boolean, readOnly: boolean, retained: boolean, reason: string}, flags: number, isComposite:boolean, isDeleted: boolean, isDraft:boolean, isHidden:boolean, isLocked:boolean, isOnHold: boolean, isReadOnly: boolean, isRetained: boolean, recordType: {id:number, name: string}, createdBy: {id:number, name: string}, updatedBy: {id:number, name: string}}, localFile: {hasFile:boolean, isModified:boolean, pageCount:Number, extension: {type:number, extensions:Array, description:string}}, fieldValues: {id: number, name:string, fieldDataType: number, fieldDataTypeName: string, value: string}[], flyingFields: {id:number, sequence:number}[], operations: {name: string, allowed: boolean, valid: boolean}[], agendaItemOperations: {name: string, allowed: boolean, valid: boolean}[], meetingOperations: {name: string, allowed: boolean, valid: boolean}[]}}\r\n */\r\n record() {\r\n console.warn(`${this.$options.name} Called Abstract computed record()`);\r\n return undefined;\r\n },\r\n\r\n /**\r\n * compute current record's workflow projects\r\n * remarks: Abstract computed\r\n * @return {*[]}\r\n */\r\n projects() {\r\n console.warn(`${this.$options.name} Called Abstract computed projects()`);\r\n return [];\r\n },\r\n\r\n /**\r\n * allowed View File History\r\n * @return {boolean} true if View File History is allowed\r\n */\r\n allowedViewFileHistory() {\r\n if (this.isPublicAccess) {\r\n return false;\r\n }\r\n return this.record\r\n ? isAllowedOperation(this.record, recordOperation.AccessVersion)\r\n : false;\r\n },\r\n\r\n /**\r\n * visible Sub Records component\r\n * @return {boolean} true if visible Sub Records component\r\n */\r\n visibleSubRecords() {\r\n const typeId = this.record?.recordTypeId ?? -1;\r\n return !(typeId === recordType.RECORD || typeId === recordType.FILE);\r\n },\r\n\r\n /**\r\n * Determines File Versions visibility\r\n * @return {boolean} true if File Versions are visible\r\n */\r\n visibleFileVersions() {\r\n return (\r\n (this.record?.recordTypeId ?? recordType.RECORD) === recordType.FILE &&\r\n this.allowedViewFileHistory\r\n );\r\n },\r\n\r\n /**\r\n * Determines Preview Tab visibility\r\n * @return {boolean} true if Record Preview is visible\r\n */\r\n visiblePreviewTab() {\r\n return canPreview(this.record);\r\n },\r\n\r\n /**\r\n * compute Document Preview visibility\r\n * @return {boolean} true when Document Preview is visible\r\n */\r\n visibleDocumentPreview() {\r\n return this.visiblePreviewTab && !this.visibleDocumentViewerPreview;\r\n },\r\n\r\n /**\r\n * computed full Record Name\r\n * @return {string|string}\r\n */\r\n fullRecordName() {\r\n return this.record ? fullRecordName(this.record) : \"\";\r\n }\r\n }\r\n};\r\n","// services\r\nimport {\r\n canPreviewInDocumentViewer,\r\n previewRecordVersion\r\n} from \"@/services/record/recordService\";\r\n\r\n// Mixins\r\nimport { moduleContentMixin } from \"@/mixins/shared/content/moduleContentMixin\";\r\nimport { contentRecordMixin } from \"@/mixins/shared/content/contentRecordMixin\";\r\nimport { principalMixin } from \"@/mixins/shared/user/principalMixin\";\r\n\r\n/**\r\n * This mixin serves as a base class for Record *Content*.vue components\r\n */\r\nexport const moduleContentRecordMixin = {\r\n mixins: [moduleContentMixin, contentRecordMixin, principalMixin],\r\n data() {\r\n return {\r\n expandedPreview: false\r\n };\r\n },\r\n computed: {\r\n /**\r\n * compute current record Id\r\n * @return {number|number}\r\n */\r\n recordId() {\r\n return this.record?.id ?? -1;\r\n },\r\n\r\n /**\r\n * compute current record version\r\n * @return {*|number}\r\n */\r\n recordVersion() {\r\n return this.record?.version ?? -1;\r\n },\r\n\r\n /**\r\n * compute preview Record Version\r\n * @return {number}\r\n */\r\n previewRecordVersion() {\r\n return previewRecordVersion(this.record);\r\n },\r\n\r\n /**\r\n * compute whether the current record-file can be previewed by Questys Web Document Viewer\r\n * @return {boolean|Boolean}\r\n */\r\n visibleDocumentViewerPreview() {\r\n if (!this.visiblePreviewTab) {\r\n return false;\r\n }\r\n return canPreviewInDocumentViewer(this.record, this.principal);\r\n },\r\n\r\n /**\r\n * get current record's workflow project Count\r\n * @return {number}\r\n */\r\n projectCount() {\r\n return this.projects?.length ?? 0;\r\n },\r\n\r\n /**\r\n * compute Record - Projects Tab visibility\r\n * @return {boolean} true if Record - Projects Tab is visible\r\n */\r\n visibleProjectsTab() {\r\n return (\r\n this.isAvailableProjectsModule &&\r\n (this.record?.id ?? -1) > 0 &&\r\n this.projectCount > 0\r\n );\r\n }\r\n },\r\n methods: {\r\n onExpandedPreview(value) {\r\n this.expandedPreview = value;\r\n }\r\n }\r\n};\r\n","// services\r\nimport { notImplementedMethod } from \"@/services/error/errorMessages\";\r\n\r\n// Mixins\r\nimport { appMixin } from \"@/mixins/shared/base/app/appMixin\";\r\nimport { baseComponentMixin } from \"@/mixins/shared/base/component/baseComponentMixin\";\r\nimport { snackbarableMixin } from \"@/mixins/shared/snackbarable/snackbarableMixin\";\r\nimport { createModuleExpandRecordShortcutContentRouteName } from \"@/router/solution/solutionRoutes\";\r\n\r\n/**\r\n * This mixin serves as a base class for *Content*.vue components\r\n */\r\nexport const moduleContentMixin = {\r\n mixins: [appMixin, snackbarableMixin, baseComponentMixin],\r\n components: {\r\n BaseContentLayout: () => import(\"@/views/shared/layout/BaseContentLayout\"),\r\n ExpansionPanelLayout: () =>\r\n import(\"@/components/shared/core/expansionPanel/ExpansionPanelLayout\")\r\n },\r\n data() {\r\n return {\r\n /**\r\n * Visible Data Table\r\n * @type {Boolean}\r\n */\r\n visibleDataTable: true\r\n };\r\n },\r\n props: {\r\n /**\r\n * Module Item id: used as dynamic segment in the route path\r\n */\r\n id: {\r\n type: Number,\r\n default: -1\r\n }\r\n },\r\n computed: {\r\n /**\r\n * Get selected Module ItemId\r\n * Abstract computed getter\r\n * @return {number}\r\n */\r\n selectedModuleItemId() {\r\n return -1;\r\n },\r\n\r\n /**\r\n * Get selected Module Item Name\r\n * Abstract computed getter\r\n * @return {string}\r\n */\r\n selectedModuleItemName() {\r\n return \"\";\r\n },\r\n\r\n /**\r\n * Get Snackbar Text\r\n * @returns {string}\r\n */\r\n computedSnackbarText() {\r\n return `Selected: ${this.selectedModuleItemName || \"\"}`;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * set Module Item\r\n * Abstract method which has to be implemented by caller\r\n * @param {number} id\r\n * @param {Boolean} isShortcut - optional\r\n * @return {Promise}\r\n */\r\n async setModuleItem(id, isShortcut = false) {\r\n console.warn(\r\n notImplementedMethod(\r\n `${this.$options.name}.setModuleItem(${id})`,\r\n isShortcut\r\n )\r\n );\r\n },\r\n\r\n /**\r\n * set Current selected Module Item\r\n * @return {Promise}\r\n */\r\n async setCurrentModuleItem(isShortcut = false) {\r\n try {\r\n this.clearError();\r\n this.isLoading = true;\r\n console.log(\r\n `${this.$options.name}.setCurrentModuleItem() this.id:`,\r\n this.id\r\n );\r\n await this.setModuleItem(this.id, isShortcut);\r\n } catch (e) {\r\n this.handleError(e);\r\n } finally {\r\n this.isLoading = false;\r\n }\r\n }\r\n },\r\n\r\n // /**\r\n // * In-Component Navigation Guards: beforeRouteEnter\r\n // * @param to\r\n // * @param from\r\n // * @param next\r\n // * @return {Promise}\r\n // */\r\n // async beforeRouteEnter(to, from, next) {\r\n // console.log(`beforeRouteEnter to:`, to);\r\n // // console.log(`beforeRouteEnter from:`, from);\r\n //\r\n // // called before the route that renders this component is confirmed.\r\n // // does NOT have access to `this` component instance,\r\n // // because it has not been created yet when this guard is called!\r\n // next(async vm => {\r\n // //\r\n // // access to component instance via `vm`\r\n // //\r\n // // console.log(`beforeRouteEnter()`, `vm.id: ${vm.id}`);\r\n // // console.log(`beforeRouteEnter()`, `to?.params?.id: ${to?.params?.id}`);\r\n // // console.log(\r\n // // `beforeRouteEnter()`,\r\n // // `vm.id === to?.params?.id: ${vm.id === to?.params?.id}`\r\n // // );\r\n // return await vm.setCurrentModuleItem();\r\n // });\r\n // },\r\n\r\n // /**\r\n // * In-Component Navigation Guards: beforeRouteUpdate\r\n // * @param to\r\n // * @param from\r\n // * @param next\r\n // * @return {Promise}\r\n // */\r\n // async beforeRouteUpdate(to, from, next) {\r\n // try {\r\n // // called when the route that renders this component has changed.\r\n // // This component being reused (by using an explicit `key`)\r\n // // in the new route or not doesn't change anything.\r\n //\r\n // // const id = to?.params?.id;\r\n // // console.log(\"beforeRouteUpdate()\", `id: ${id}`);\r\n //\r\n // // e.g. apply Navigation Guard - prevent going to 'to' route\r\n // // if (id === 259704) {\r\n // // // Cancel navigation to route\r\n // // next(false);\r\n // // return;\r\n // // }\r\n //\r\n // console.log(`beforeRouteUpdate to:`, to);\r\n // // console.log(`beforeRouteUpdate from:`, from);\r\n //\r\n // await this.setCurrentModuleItem();\r\n // next();\r\n // } catch (e) {\r\n // console.error(e.toString());\r\n // next();\r\n // }\r\n // }\r\n\r\n async created() {\r\n console.log(`${this.$options.name}.created()`);\r\n const isShortcut =\r\n this.$route.name ===\r\n createModuleExpandRecordShortcutContentRouteName(\"Folder\") ?? false;\r\n await this.setCurrentModuleItem(isShortcut);\r\n },\r\n\r\n watch: {\r\n // when using routes with params, the same component instance will be reused,\r\n // this also means that the lifecycle hooks of the component will not be called,\r\n // To react to params changes in the same component, we can simply watch the $route object:\r\n //\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n async $route(to) {\r\n try {\r\n console.log(`watch ${this.$options.name}.route to:`, to);\r\n\r\n //Compute if path name is Folder Shortcut\r\n const isShortcut =\r\n to.name ===\r\n createModuleExpandRecordShortcutContentRouteName(\"Folder\") ?? false;\r\n\r\n //Pass isShortcut to get Record Shortcut Data from Api if true\r\n await this.setCurrentModuleItem(isShortcut);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n};\r\n","/**\r\n * Get not Implemented Computed formatted optionJump\r\n * @param {String|string} propertyName\r\n * @param {Boolean|boolean} byClient\r\n * @returns {String|string}\r\n */\r\nconst notImplementedComputed = (propertyName, byClient = true) =>\r\n byClient\r\n ? `Return value of Computed property: '${propertyName}' has to be be implemented by client.`\r\n : `Return value of Computed property: '${propertyName}' has to be be implemented.`;\r\n\r\n/**\r\n * Get not Implemented Method formatted optionJump\r\n * @param {String|string} propertyName\r\n * @param {Boolean|boolean} byClient\r\n * @returns {String|string}\r\n */\r\nconst notImplementedMethod = (propertyName, byClient = true) =>\r\n byClient\r\n ? `Method: '${propertyName}' has to be be implemented by client.`\r\n : `Method: '${propertyName}' has to be be implemented.`;\r\n\r\nexport { notImplementedComputed, notImplementedMethod };\r\n"],"sourceRoot":""}