{"version":3,"sources":["webpack:///./src/mixins/shared/record/badgeableRecordMixin.js","webpack:///./src/model/folder/folderModel.js","webpack:///./src/mixins/shared/record/recordIconMixin.js","webpack:///./src/mixins/shared/record/recordStateColorMixin.js","webpack:///./src/components/record/RecordDetailsBanner.vue","webpack:///src/components/record/RecordDetailsBanner.vue","webpack:///./src/components/record/RecordDetailsBanner.vue?ee2e","webpack:///./src/components/record/RecordDetailsBanner.vue?f999","webpack:///./src/mixins/shared/slottable/slottableMixin.js","webpack:///./src/mixins/shared/record/recordAttributeMixin.js"],"names":["badgeableRecordMixin","mixins","recordAttributeMixin","recordStateColorMixin","methods","showRecordBadge","record","infoOnly","_this$badgeRecordFont","this","badgeRecordFontAwesomeIcon","iconName","isHistoryMode","badgeRecordIcon","_record$id","iconInfo","id","iconAsterisk","recordAttributeIcon","_record$id2","createFontAwesomeSolidIcon","fasIconName","info","asterisk","recordAttributeFontAwesomeIcon","badgeRecordColor","_record$id3","_record$stateId","colorTheme","colorRecordNewClass","stateId","recordState","checkedOut","recordStateColor","recordAttributeColor","folderColor","Color","colorMD","yellow","variantType","darken","variantNumber","n2","documentColor","indigo","n1","folderColorClass","getClassColor","documentColorClass","recordIconMixin","menuItemSettingsMixin","recordIcon","recordTypeId","recordType","FILE","findFileTypeIcon","extension","findRecordTypeIcon","recordTypeIcon","typeId","recordIconColorClass","_record$recordTypeId","recordTypeIconColorClass","RECORD","undefined","FOLDER","MEETING","SECTION","ITEM","DOCUMENT","menuItemColorClass","principalMixin","isUserStateOwner","colorRecordCheckedOutClass","colorRecordLockedClass","checkedIn","colorRecordCheckedInClass","new","created","colorRecordCreatedClass","published","colorMeetingPublishedClass","submitted","colorAgendaItemSubmittedClass","recordStateTextColor","white","lighten","n3","render","_vm","_c","_self","scopedSlots","_u","key","fn","attrs","proxy","_t","hasSlot","staticRenderFns","name","components","RecordBadgeIcon","DetailsBannerLayout","slottableMixin","props","data","iconShortcut","iconPasteShortcut","fontAwesomeSolidIcon","fasIcon","isRecordShortcut","_record$isLink","isLink","component","$slots","mapGetters","createNamespacedHelpers","faIconName","computed","principal","hasAttributeIcon","_ref","_record$localFile","isLocked","isReadOnly","isDeleted","localFile","hasFile","_ref2","_record$localFile2","_this$record$canUpdat","_this$record","iconCheck","posted","iconPostMeeting","iconGlobe","iconLock","iconReadOnly","iconTrash","iconEdit","canUpdate","_this$record2","reason","cannotUpdateReason","accessDenied","iconAccessDenied","iconFileCheckOut","locked","readOnly","onHold","iconOnHold","notInitialized","iconError","retained","iconWarning","invalidOperation","_ref3","_record$localFile3","_this$record$canUpdat2","_this$record3","IsCheckedOutForDigitalSigning","signOut","check","clock","globe","lock","eye","trash","pencil","_this$record4","eyeSlash","hand","xmark","triangleExclamation","_ref4","_record$localFile$has","_record$localFile4","_this$record$canUpdat3","_this$record5","colorMeetingPostedClass","colorRecordReadOnlyClass","colorRecordDeletedClass","colorRecordInheritedReadOnlyClass"],"mappings":"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","file":"js/chunk-5e15b4ad.3cd0ca7a.js","sourcesContent":["// model\r\nimport { recordState } from \"@/model/record/recordModel\";\r\nimport { colorRecordNewClass } from \"@/model/record/recordModel\";\r\n\r\n// plugins\r\nimport { createFontAwesomeSolidIcon, fasIconName } from \"@/plugins/fontawesome\";\r\n\r\n// design\r\nimport { colorTheme } from \"@/design/colors/mdColors\";\r\nimport { iconAsterisk, iconInfo } from \"@/design/icon/iconConst\";\r\n\r\n// mixins\r\nimport { recordAttributeMixin } from \"@/mixins/shared/record/recordAttributeMixin\";\r\nimport { recordStateColorMixin } from \"@/mixins/shared/record/recordStateColorMixin\";\r\n\r\nexport const badgeableRecordMixin = {\r\n mixins: [recordAttributeMixin, recordStateColorMixin],\r\n methods: {\r\n /**\r\n * Show Record Badge\r\n * @param {{id:number, isReadOnly:boolean, isLocked:boolean}} record\r\n * @param {boolean} infoOnly display information Badge\r\n * @return {boolean}\r\n */\r\n showRecordBadge(record, infoOnly = false) {\r\n //return !!this.badgeRecordIcon(record, infoOnly);\r\n return (\r\n !!this.badgeRecordFontAwesomeIcon(record, infoOnly)?.iconName &&\r\n !this.isHistoryMode\r\n );\r\n },\r\n /**\r\n * Badge Record Icon\r\n * @param {{id:number, isReadOnly:boolean, isLocked:boolean}} record\r\n * @param {boolean} infoOnly display information Badge icon\r\n * @return {string|undefined}\r\n */\r\n badgeRecordIcon(record, infoOnly = false) {\r\n if (infoOnly) {\r\n return iconInfo;\r\n }\r\n\r\n return (record?.id ?? -1) < 0\r\n ? iconAsterisk\r\n : this.recordAttributeIcon(record);\r\n },\r\n /**\r\n * badge Record Font Awesome Icon\r\n * @param record\r\n * @param {boolean} infoOnly display information Badge icon\r\n * @return {{iconName: string, prefix: string}|undefined}\r\n */\r\n badgeRecordFontAwesomeIcon(record, infoOnly = false) {\r\n if (infoOnly) {\r\n return createFontAwesomeSolidIcon(fasIconName.info);\r\n }\r\n\r\n if ((record?.id ?? -1) < 0) {\r\n return createFontAwesomeSolidIcon(fasIconName.asterisk);\r\n }\r\n\r\n return this.recordAttributeFontAwesomeIcon(record);\r\n },\r\n /**\r\n * Badge Record Color\r\n * @param {{id:number, isReadOnly:boolean, isLocked:boolean, stateId:number}} record\r\n * @param {boolean} infoOnly display information Badge\r\n * @return {string|*|undefined}\r\n */\r\n badgeRecordColor(record, infoOnly = false) {\r\n if (infoOnly) {\r\n return colorTheme.info;\r\n }\r\n\r\n if ((record?.id ?? -1) < 0) {\r\n return colorRecordNewClass;\r\n }\r\n\r\n return (record?.stateId ?? -1) === recordState.checkedOut\r\n ? this.recordStateColor(record)\r\n : this.recordAttributeColor(record);\r\n }\r\n }\r\n};\r\n","import {\r\n Color,\r\n colorMD,\r\n variantNumber,\r\n variantType\r\n} from \"@/design/colors/Color\";\r\n\r\n/**\r\n * Get Material Design folder Color\r\n * @returns {{name:string, variant: string, variantNumber:number}}\r\n */\r\nconst folderColor = new Color(\r\n colorMD.yellow,\r\n variantType.darken,\r\n variantNumber.n2\r\n);\r\n\r\n/**\r\n * Get Material Design compound document Color\r\n */\r\nconst documentColor = new Color(\r\n colorMD.indigo,\r\n variantType.darken,\r\n variantNumber.n1\r\n);\r\n\r\n/**\r\n * Folder Color Class\r\n * @returns {string|*}\r\n */\r\nconst folderColorClass = folderColor.getClassColor();\r\n\r\n/**\r\n * Compound document Color Class\r\n * @type {string|*}\r\n */\r\nconst documentColorClass = documentColor.getClassColor();\r\n\r\nexport { folderColor, documentColor, folderColorClass, documentColorClass };\r\n","// model\r\nimport { recordType, findRecordTypeIcon } from \"@/model/record/recordModel\";\r\nimport {\r\n documentColorClass,\r\n folderColorClass\r\n} from \"@/model/folder/folderModel\";\r\nimport { findFileTypeIcon } from \"@/model/record/fileModel\";\r\n\r\n// mixins\r\nimport { menuItemSettingsMixin } from \"../base/settings/menuItemSettingsMixin\";\r\n\r\nexport const recordIconMixin = {\r\n mixins: [menuItemSettingsMixin],\r\n methods: {\r\n /**\r\n * Get record Icon name\r\n * @param {{recordTypeId:number, children:number, extension:string}} record\r\n * @return {string|string}\r\n */\r\n recordIcon(record) {\r\n if (!record) {\r\n return undefined;\r\n }\r\n switch (record.recordTypeId) {\r\n // case recordType.FOLDER:\r\n // case recordType.DOCUMENT: {\r\n // return (record?.children ?? 0) > 0\r\n // ? iconFolderPlus\r\n // : findRecordTypeIcon(type);\r\n // }\r\n // case recordType.SECTION: {\r\n // return (record?.children ?? 0) > 0\r\n // ? iconAgendaSectionPlus\r\n // : findRecordTypeIcon(type);\r\n // }\r\n case recordType.FILE: {\r\n return findFileTypeIcon(record.extension);\r\n }\r\n default: {\r\n return findRecordTypeIcon(record.recordTypeId);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Get record Type Icon\r\n * @param {Number|number} typeId\r\n * @return {string}\r\n */\r\n recordTypeIcon(typeId) {\r\n return findRecordTypeIcon(typeId);\r\n },\r\n\r\n /**\r\n * Get record Icon Color Class\r\n * @param {{recordTypeId:number}} record\r\n * @return {undefined|string}\r\n */\r\n recordIconColorClass(record) {\r\n return record\r\n ? this.recordTypeIconColorClass(\r\n record?.recordTypeId ?? recordType.RECORD\r\n )\r\n : undefined;\r\n },\r\n\r\n /**\r\n * record Type Icon Color Class\r\n * @param {Number|number} typeId\r\n * @return {undefined|string}\r\n */\r\n recordTypeIconColorClass(typeId) {\r\n switch (typeId) {\r\n case recordType.FOLDER:\r\n case recordType.MEETING:\r\n case recordType.SECTION:\r\n case recordType.ITEM: {\r\n return folderColorClass;\r\n }\r\n case recordType.DOCUMENT: {\r\n return documentColorClass;\r\n }\r\n case recordType.RECORD: {\r\n return undefined;\r\n }\r\n default: {\r\n return this.menuItemColorClass;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","// model\r\nimport {\r\n colorRecordCheckedInClass,\r\n colorRecordCheckedOutClass,\r\n colorRecordCreatedClass,\r\n colorRecordLockedClass,\r\n colorRecordNewClass,\r\n colorMeetingPublishedClass,\r\n colorAgendaItemSubmittedClass,\r\n recordState\r\n} from \"@/model/record/recordModel\";\r\n\r\n// design\r\nimport { Color } from \"@/design/colors/Color\";\r\n\r\n// design\r\nimport { colorMD, variantNumber, variantType } from \"@/design/colors/mdColors\";\r\n\r\n// mixins\r\nimport { principalMixin } from \"../user/principalMixin\";\r\n\r\nexport const recordStateColorMixin = {\r\n mixins: [principalMixin],\r\n methods: {\r\n /**\r\n * Record State Color\r\n * @param record\r\n * @return {string|undefined}\r\n */\r\n recordStateColor(record) {\r\n switch (record?.stateId ?? -1) {\r\n case recordState.checkedOut: {\r\n return this.isUserStateOwner(record)\r\n ? colorRecordCheckedOutClass\r\n : colorRecordLockedClass;\r\n }\r\n case recordState.checkedIn: {\r\n return colorRecordCheckedInClass;\r\n }\r\n case recordState.new: {\r\n return colorRecordNewClass;\r\n }\r\n case recordState.created: {\r\n return colorRecordCreatedClass;\r\n }\r\n case recordState.published: {\r\n return colorMeetingPublishedClass;\r\n }\r\n case recordState.submitted: {\r\n return colorAgendaItemSubmittedClass;\r\n }\r\n default: {\r\n return undefined;\r\n }\r\n }\r\n },\r\n /**\r\n * Record State Text Color\r\n * @param record\r\n * @return {string|undefined}\r\n */\r\n recordStateTextColor(record) {\r\n if (!record) return undefined;\r\n\r\n return new Color(\r\n colorMD.white,\r\n variantType.lighten,\r\n variantNumber.n3\r\n ).getClassColor();\r\n }\r\n }\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('details-banner-layout',{scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('record-badge-icon',{attrs:{\"record\":_vm.record}})]},proxy:true},{key:\"default\",fn:function(){return [_vm._t(\"default\")]},proxy:true},(_vm.hasSlot('actions'))?{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}:null],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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!./RecordDetailsBanner.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!./RecordDetailsBanner.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RecordDetailsBanner.vue?vue&type=template&id=ee91a132\"\nimport script from \"./RecordDetailsBanner.vue?vue&type=script&lang=js\"\nexport * from \"./RecordDetailsBanner.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","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","// design\r\nimport {\r\n iconLock,\r\n iconReadOnly,\r\n iconCheck,\r\n iconTrash,\r\n iconEdit,\r\n iconGlobe,\r\n iconPostMeeting,\r\n iconAccessDenied,\r\n iconFileCheckOut,\r\n iconOnHold,\r\n iconError,\r\n iconWarning\r\n} from \"@/design/icon/iconConst\";\r\n\r\n// plugins\r\nimport { createFontAwesomeSolidIcon, fasIconName } from \"@/plugins/fontawesome\";\r\n\r\n// model\r\nimport {\r\n colorRecordDeletedClass,\r\n colorRecordLockedClass,\r\n colorRecordReadOnlyClass,\r\n colorRecordCheckedOutClass,\r\n recordState,\r\n colorMeetingPublishedClass,\r\n colorAgendaItemSubmittedClass,\r\n colorMeetingPostedClass,\r\n colorRecordInheritedReadOnlyClass\r\n} from \"@/model/record/recordModel\";\r\nimport { IsCheckedOutForDigitalSigning } from \"@/services/record/recordService\";\r\n\r\n// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapGetters } = createNamespacedHelpers(\"user\");\r\n\r\nexport const recordAttributeMixin = {\r\n data() {\r\n return {\r\n faIconName: fasIconName\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n principal: \"principal\"\r\n })\r\n },\r\n methods: {\r\n hasAttributeIcon(record) {\r\n if (!record) return false;\r\n\r\n if (record.isLocked) return true;\r\n if (record.isReadOnly) return true;\r\n if (record.isDeleted) return true;\r\n if (\r\n (record?.localFile?.hasFile &&\r\n record.stateId !== recordState.checkedOut) ??\r\n false\r\n ) {\r\n return true;\r\n }\r\n\r\n switch (record.stateId) {\r\n case recordState.checkedOut: {\r\n return true;\r\n }\r\n case recordState.published:\r\n case recordState.submitted: {\r\n return true;\r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n },\r\n recordAttributeIcon(record) {\r\n if (!record) return \"undefined\";\r\n\r\n // record.state takes priority\r\n switch (record.stateId) {\r\n case recordState.checkedOut: {\r\n return iconCheck;\r\n }\r\n case recordState.posted: {\r\n return iconPostMeeting;\r\n }\r\n case recordState.published:\r\n case recordState.submitted: {\r\n return iconGlobe;\r\n }\r\n }\r\n\r\n if (record.isLocked) return iconLock;\r\n if (record.isReadOnly) return iconReadOnly;\r\n if (record.isDeleted) return iconTrash;\r\n if (\r\n (record?.localFile?.hasFile &&\r\n record.stateId !== recordState.checkedOut) ??\r\n false\r\n ) {\r\n return iconEdit;\r\n }\r\n\r\n if (!(this.record?.canUpdate ?? false)) {\r\n // accessDenied, checkedOut, inherited, invalidOperation, locked, notInitialized, onHold, readOnly, retained\r\n const reason = this.record?.cannotUpdateReason;\r\n if (reason) {\r\n if (reason.accessDenied) return iconAccessDenied;\r\n else if (reason.checkedOut) return iconFileCheckOut;\r\n else if (reason.locked) return iconLock;\r\n else if (reason.readOnly) return iconReadOnly;\r\n else if (reason.onHold) return iconOnHold;\r\n else if (reason.notInitialized) return iconError;\r\n else if (reason.retained) return iconWarning;\r\n else if (reason.invalidOperation) return iconError;\r\n }\r\n }\r\n\r\n return undefined;\r\n },\r\n /**\r\n * record Attribute Font Awesome Icon\r\n * @param record\r\n * @return {{iconName: string, prefix: string}|undefined}\r\n */\r\n recordAttributeFontAwesomeIcon(record) {\r\n if (!record) return createFontAwesomeSolidIcon(\"\");\r\n\r\n // record.state takes priority\r\n switch (record.stateId) {\r\n case recordState.checkedOut: {\r\n return IsCheckedOutForDigitalSigning(record)\r\n ? createFontAwesomeSolidIcon(fasIconName.signOut)\r\n : createFontAwesomeSolidIcon(fasIconName.check);\r\n }\r\n case recordState.posted: {\r\n return createFontAwesomeSolidIcon(fasIconName.clock);\r\n }\r\n case recordState.published:\r\n case recordState.submitted: {\r\n return createFontAwesomeSolidIcon(fasIconName.globe);\r\n }\r\n }\r\n\r\n if (record.isLocked) return createFontAwesomeSolidIcon(fasIconName.lock);\r\n if (record.isReadOnly) return createFontAwesomeSolidIcon(fasIconName.eye);\r\n if (record.isDeleted)\r\n return createFontAwesomeSolidIcon(fasIconName.trash);\r\n if (\r\n (record?.localFile?.hasFile &&\r\n record.stateId !== recordState.checkedOut) ??\r\n false\r\n )\r\n return createFontAwesomeSolidIcon(fasIconName.pencil);\r\n\r\n if (!(this.record?.canUpdate ?? false)) {\r\n // accessDenied, checkedOut, inherited, invalidOperation, locked, notInitialized, onHold, readOnly, retained\r\n const reason = this.record?.cannotUpdateReason;\r\n if (reason) {\r\n if (reason.accessDenied)\r\n return createFontAwesomeSolidIcon(fasIconName.eyeSlash);\r\n else if (reason.checkedOut)\r\n return createFontAwesomeSolidIcon(fasIconName.check);\r\n else if (reason.locked)\r\n return createFontAwesomeSolidIcon(fasIconName.lock);\r\n else if (reason.readOnly)\r\n return createFontAwesomeSolidIcon(fasIconName.eye);\r\n else if (reason.onHold)\r\n return createFontAwesomeSolidIcon(fasIconName.hand);\r\n else if (reason.notInitialized)\r\n return createFontAwesomeSolidIcon(fasIconName.xmark);\r\n else if (reason.retained)\r\n return createFontAwesomeSolidIcon(fasIconName.triangleExclamation);\r\n else if (reason.invalidOperation)\r\n return createFontAwesomeSolidIcon(fasIconName.xmark);\r\n }\r\n }\r\n\r\n return createFontAwesomeSolidIcon(\"\");\r\n },\r\n recordAttributeColor(record) {\r\n if (!record) {\r\n return undefined;\r\n }\r\n\r\n // record.state takes priority\r\n switch (record.stateId) {\r\n case recordState.posted:\r\n return colorMeetingPostedClass;\r\n case recordState.published: {\r\n return colorMeetingPublishedClass;\r\n }\r\n case recordState.submitted: {\r\n return colorAgendaItemSubmittedClass;\r\n }\r\n }\r\n\r\n if (record.isReadOnly) return colorRecordReadOnlyClass;\r\n if (record.isLocked) return colorRecordLockedClass;\r\n if (record.isDeleted) return colorRecordDeletedClass;\r\n if (\r\n ((record.localFile?.hasFile ?? false) &&\r\n (record.stateId ?? -1) !== recordState.checkedOut) ??\r\n false\r\n ) {\r\n return colorRecordCheckedOutClass;\r\n }\r\n\r\n if (!(this.record?.canUpdate ?? false)) {\r\n return colorRecordInheritedReadOnlyClass;\r\n }\r\n\r\n return undefined;\r\n }\r\n }\r\n};\r\n"],"sourceRoot":""}