{"version":3,"sources":["webpack:///./src/mixins/shared/record/badgeableRecordMixin.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","principalMixin","isUserStateOwner","colorRecordCheckedOutClass","colorRecordLockedClass","checkedIn","colorRecordCheckedInClass","new","created","colorRecordCreatedClass","published","colorMeetingPublishedClass","submitted","colorAgendaItemSubmittedClass","recordStateTextColor","Color","colorMD","white","variantType","lighten","variantNumber","n3","getClassColor","render","_vm","_c","_self","scopedSlots","_u","key","fn","attrs","proxy","_t","hasSlot","staticRenderFns","name","components","RecordBadgeIcon","DetailsBannerLayout","recordIconMixin","slottableMixin","props","undefined","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-7051c506.f39b4348.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","// 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":""}