{"version":3,"sources":["webpack:///./src/components/record/RecordList.vue","webpack:///src/components/record/RecordList.vue","webpack:///./src/components/record/RecordList.vue?24a5","webpack:///./src/components/record/RecordList.vue?89c1","webpack:///./src/model/common/events/eventConst.js","webpack:///./src/components/record/RecordList.vue?bece","webpack:///./src/mixins/shared/base/dragDrop/dragDropRecordMixin.js","webpack:///./src/services/dom/windowService.js"],"names":["render","_vm","this","_c","_self","_l","computedRecords","record","index","key","id","class","getDropClass","attrs","createChildRecordTargetRoute","marginSize","on","$event","startDrag","endDrag","dragOver","onDrop","openContextMenu","handleTouchStart","handleTouchEnd","scopedSlots","_u","fn","isExpandableRecord","canNavigateToRecord","createRecordTargetRoute","_e","_v","_s","tooltipSelectedRecord","proxy","getStateDescription","displayRecordName","ref","selectedRecord","movedRecord","movedRecords","records","onContextMenuAction","staticRenderFns","name","mixins","dragDropRecordMixin","badgeableRecordMixin","components","BaseNavList","BaseMenuItem","ExpandRecordButton","RecordBadgeButton","ContextMenu","data","undefined","iconShortcut","iconPasteShortcut","fontAwesomeSolidIcon","createFontAwesomeSolidIcon","fasIcon","fasIconName","longHoldTimer","isTouchEvent","props","type","Function","required","Object","default","computed","_this$records","_size$size","size","size4","isAllowedAuthor","methods","_record$isLink","_findRecordType","_record$recordTypeId","isLink","fullRecordName","findRecordType","recordTypeId","recordType","RECORD","_record$stateDescript","stateDescription","isRecordShortcut","_record$isLink2","isRecordExpandable","event","console","log","$options","isMobile","preventDefault","$refs","menu","open","e","error","touches","length","setTimeout","openTouch","clearTimeout","action","contextMenuRecordOperation","Select","$router","push","payload","$emit","eventNames","performContextMenuAction","component","freeze","resetDetails","deleteDetails","saveDetails","deleteSelectedItems","printSelectedItems","configureDataTable","openSelectedItem","dialogCancel","dialogOK","closed","close","opened","selectedNotification","selectedOption","alertVisibilityChanged","activated","expanded","remove","click","listItemGroupChange","moreText","removeField","databaseLookup","categoryChanged","updateRecord","agendaTemplateChanged","AgendaItemTemplateChanged","AgendaSectionTemplateChanged","selectedExtension","insertFile","customPage","overwriteFile","expandedPreview","agendaPacketOptions","onRecordMoved","onFileDropped","checkInOptionChanged","uploadFileChanged","ocrTextSaved","itemSelected","optionChanged","downloadReport","taskValidation","onEventClicked","onContextAction","calendarContextAction","onEventRightClicked","onFileChanged","onSearchAction","onSearchChipRemoved","openDefaultPdfViewer","onCheckout","onDialogOpened","onDialogClosedAfterAction","onOk","draggedRecord","destinationRecord","move","file","draggedFile","droppedRecord","canMoveShortcut","dropIndex","dropPosition","insertOptions","treeInsertOptions","resetVariables","isAllowedLocalFileDrop","dataTransfer","dropEffect","isAllowedDrop","isValidOperation","recordOperation","Move","beforeSibling","lastChild","afterSibling","dropLocalFileHandler","insertPosition","ev","items","forEach","item","i","isFile","getAsFile","files","dragRecord","dropRecord","_dragRecord$recordTyp","_dropRecord$recordTyp","_dragRecord$isLink","dragRecordTypeId","dropRecordTypeId","isBackupMaterial","canMoveBackupMaterial","isAncestorMeeting","canMoveMeetingContent","canMoveRecord","FILE","canMoveFile","FOLDER","canMoveFolder","DOCUMENT","canMoveDocument","MEETING","canMoveMeeting","ITEM","canMoveItem","isAllowedCopy","sourceRecord","isPasteShortcut","_sourceRecord$recordT","_destinationRecord$re","sourceRecordTypeId","destinationRecordTypeId","canCopyRecord","canCopyFile","canCopyFolder","canCopyDocument","canCopyItem","isCompoundFile","allowMoveCompoundFile","canMoveFileToDocument","SECTION","_dropRecord$ancestor$","_dropRecord$ancestor","boundingRect","target","getBoundingClientRect","offset","clientY","top","isNotDocument","isRecordTypeFile","height","dropRecordParentTypeId","ancestor","isDragSection","isDropSection","isMultiPageTif","_this$draggedRecord$e","_this$draggedRecord","_this$draggedRecord$p","_this$draggedRecord2","extension","toLowerCase","includes","extensionName","tif","pageCount","_record$ancestor$reco","_record$ancestor","ancestorTypeId","_sourceRecord$id","_destinationRecord$id","parentId","result","canCreateShortcut","Number","watch","_this$droppedRecord","isShortcutCreatable","browserName","window","navigator","appName","_window$navigator$use","_window","userAgentData","mobile"],"mappings":"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","file":"js/chunk-39525fbc.556f320d.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('base-nav-list',_vm._l((_vm.computedRecords),function(record,index){return _c('base-menu-item',{key:record.id,class:_vm.getDropClass(index),attrs:{\"to\":_vm.createChildRecordTargetRoute(record),\"margin-size\":_vm.marginSize},on:{\"dragstart\":function($event){return _vm.startDrag($event, record)},\"dragend\":_vm.endDrag,\"dragover\":function($event){return _vm.dragOver($event, index, record)},\"drop\":function($event){return _vm.onDrop($event, record)},\"contextmenu\":function($event){return _vm.openContextMenu($event, record)},\"touchstart\":function($event){return _vm.handleTouchStart($event, record)},\"touchend\":_vm.handleTouchEnd},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [(_vm.isExpandableRecord(record))?_c('expand-record-button',{attrs:{\"record\":record,\"disabled\":!_vm.canNavigateToRecord(record.id),\"to\":_vm.createRecordTargetRoute(record.id)}}):_vm._e(),_c('record-badge-button',{attrs:{\"record\":record,\"to\":_vm.createChildRecordTargetRoute(record)},scopedSlots:_vm._u([{key:\"tooltip\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.tooltipSelectedRecord(record))+\" \")]},proxy:true}],null,true)})]},proxy:true},{key:\"tooltipContent\",fn:function(){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.getStateDescription(record))+\" \")])]},proxy:true}],null,true)},[_vm._v(\" \"+_vm._s(_vm.displayRecordName(record))+\" \")])}),1),_c('context-menu',{ref:\"menu\",attrs:{\"selected-record\":_vm.selectedRecord,\"moved-record\":_vm.movedRecord,\"moved-records\":_vm.movedRecords,\"records\":_vm.records},on:{\"onContextMenuAction\":_vm.onContextMenuAction}})],1)\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 {{ tooltipSelectedRecord(record) }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ getStateDescription(record) }}\r\n \r\n \r\n\r\n \r\n {{ displayRecordName(record) }}\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!./RecordList.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!./RecordList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RecordList.vue?vue&type=template&id=74843a1b&scoped=true\"\nimport script from \"./RecordList.vue?vue&type=script&lang=js\"\nexport * from \"./RecordList.vue?vue&type=script&lang=js\"\nimport style0 from \"./RecordList.vue?vue&type=style&index=0&id=74843a1b&prod&scoped=true&lang=css\"\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 \"74843a1b\",\n null\n \n)\n\nexport default component.exports","/**\r\n * Event Names\r\n * @type {Readonly<{deleteSelectedItems: string, selectedNotification: string, saveDetails: string, openSelectedItem: string, dialogCancel: string, dialogOK: string, selectedOption: string, click: string, alertVisibilityChanged: string, remove: string, listItemGroupChange: string, deleteDetails: string, printSelectedItems: string, closed: string, configureDataTable: string, close: string, resetDetails: string, activated: string}>}\r\n */\r\nconst eventNames = Object.freeze({\r\n resetDetails: \"resetDetails\",\r\n deleteDetails: \"deleteDetails\",\r\n saveDetails: \"saveDetails\",\r\n deleteSelectedItems: \"deleteSelectedItems\",\r\n printSelectedItems: \"printSelectedItems\",\r\n configureDataTable: \"configureDataTable\",\r\n openSelectedItem: \"open-selected-item\",\r\n dialogCancel: \"cancel\",\r\n dialogOK: \"ok\",\r\n closed: \"closed\",\r\n close: \"close\",\r\n opened: \"opened\",\r\n selectedNotification: \"selectedNotification\",\r\n selectedOption: \"selectedOption\",\r\n alertVisibilityChanged: \"alertVisibilityChanged\",\r\n activated: \"activated\",\r\n expanded: \"expanded\",\r\n remove: \"remove\",\r\n click: \"click\",\r\n listItemGroupChange: \"listItemGroupChange\",\r\n moreText: \"moreText\",\r\n removeField: \"removeField\",\r\n databaseLookup: \"databaseLookup\",\r\n categoryChanged: \"categoryChanged\",\r\n updateRecord: \"update-record\",\r\n agendaTemplateChanged: \"agendaTemplateChanged\",\r\n AgendaItemTemplateChanged: \"AgendaItemTemplateChanged\",\r\n AgendaSectionTemplateChanged: \"AgendaSectionTemplateChanged\",\r\n selectedExtension: \"selected-extension\",\r\n insertFile: \"insert-file\",\r\n customPage: \"custom-page\",\r\n overwriteFile: \"overwrite-option\",\r\n expandedPreview: \"expandedPreview\",\r\n agendaPacketOptions: \"agendaPacketOptions\",\r\n onRecordMoved: \"onRecordMoved\",\r\n onFileDropped: \"onFileDropped\",\r\n performContextMenuAction: \"performContextMenuAction\",\r\n onContextMenuAction: \"onContextMenuAction\",\r\n checkInOptionChanged: \"checkInOptionChanged\",\r\n uploadFileChanged: \"uploadFileChanged\",\r\n ocrTextSaved: \"ocrTextSaved\",\r\n itemSelected: \"itemSelected\",\r\n optionChanged: \"optionChanged\",\r\n downloadReport: \"download-report\",\r\n taskValidation: \"task-validation\",\r\n onEventClicked: \"onEventClicked\",\r\n onContextAction: \"onContextAction\",\r\n calendarContextAction: \"calendarContextAction\",\r\n onEventRightClicked: \"onEventRightClicked\",\r\n onFileChanged: \"onFileChanged\",\r\n onSearchAction: \"onSearchAction\",\r\n onSearchChipRemoved: \"onSearchChipRemoved\",\r\n openDefaultPdfViewer: \"openDefaultPdfViewer\",\r\n onCheckout: \"onCheckout\",\r\n onDialogOpened: \"onDialogOpened\",\r\n onDialogClosedAfterAction: \"onDialogClosedAfterAction\",\r\n onOk: \"onOk\"\r\n});\r\n\r\nexport { eventNames };\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordList.vue?vue&type=style&index=0&id=74843a1b&prod&scoped=true&lang=css\"","import {\r\n recordOperation,\r\n recordType,\r\n treeInsertOptions\r\n} from \"@/model/record/recordModel\";\r\nimport { eventNames } from \"@/model/common/events/eventConst\";\r\nimport {\r\n isAncestorMeeting,\r\n isBackupMaterial,\r\n isCompoundFile,\r\n isValidOperation\r\n} from \"@/services/record/recordService\";\r\nimport { extensionName } from \"@/model/record/fileModel\";\r\nimport { canCreateShortcut } from \"@/services/api/apiContent\";\r\n\r\nexport const dragDropRecordMixin = {\r\n data() {\r\n return {\r\n draggedRecord: undefined,\r\n destinationRecord: undefined,\r\n move: \"move\",\r\n file: \"file\",\r\n draggedFile: undefined,\r\n droppedRecord: undefined,\r\n canMoveShortcut: false,\r\n dropIndex: null,\r\n dropPosition: null, // 'top' or 'inside'\r\n insertOptions: treeInsertOptions\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n /**\r\n * Event initiated when record is dragged\r\n * @param event\r\n * @param record\r\n */\r\n startDrag(event, record) {\r\n try {\r\n //reset Record dragged and dropped\r\n this.resetVariables();\r\n this.draggedRecord = record;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Event initiated when dragged is ended\r\n */\r\n endDrag() {\r\n try {\r\n //reset Record dragged and dropped\r\n this.resetVariables();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Event initiated when dragged record is hovered over other records\r\n * @param event\r\n * @param index\r\n * @param record\r\n */\r\n dragOver(event, index, record) {\r\n try {\r\n //this check is used for local file drop\r\n // in this case startDrag() is not called and dragged record is not set\r\n if (!this.draggedRecord) {\r\n if (this.isAllowedLocalFileDrop(record)) {\r\n event.dataTransfer.dropEffect = this.move;\r\n event.preventDefault();\r\n } else {\r\n event.dataTransfer.dropEffect = \"none\";\r\n event.preventDefault();\r\n }\r\n return;\r\n }\r\n\r\n // this method verifies if drop is allowed based on record type\r\n if (\r\n this.isAllowedDrop(this.draggedRecord, record, index) &&\r\n isValidOperation(this.draggedRecord, recordOperation.Move)\r\n )\r\n event.preventDefault();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Get Class for On Dropped Record\r\n * @param index\r\n * @return {{\"hover-inside\": boolean, \"hover-top\": boolean, \"hover-bottom\": boolean}}\r\n */\r\n getDropClass(index) {\r\n return {\r\n \"hover-top\":\r\n this.dropIndex === index &&\r\n this.dropPosition === this.insertOptions.beforeSibling,\r\n \"hover-inside\":\r\n this.dropIndex === index &&\r\n this.dropPosition === this.insertOptions.lastChild,\r\n \"hover-bottom\":\r\n this.dropIndex === index &&\r\n this.dropPosition === this.insertOptions.afterSibling\r\n };\r\n },\r\n\r\n /**\r\n * Event initiated when dragged record is dropped on other record\r\n * @param event\r\n * @param destinationRecord\r\n */\r\n onDrop(event, destinationRecord) {\r\n try {\r\n //this check is used for local file drop\r\n // in this case startDrag() is not called and dragged record is not set\r\n if (!this.draggedRecord) {\r\n this.draggedFile = this.dropLocalFileHandler(event);\r\n const payload = {\r\n draggedFile: this.draggedFile,\r\n destinationRecord: destinationRecord\r\n };\r\n this.$emit(eventNames.onFileDropped, payload);\r\n return;\r\n }\r\n\r\n this.destinationRecord = destinationRecord;\r\n\r\n const payload = {\r\n draggedRecord: this.draggedRecord,\r\n destinationRecord: this.destinationRecord,\r\n insertPosition: this.dropPosition\r\n };\r\n //Emit Event to parent with payload\r\n this.$emit(eventNames.onRecordMoved, payload);\r\n this.draggedRecord = undefined;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Handle Local File Drop\r\n * @param ev drop-event\r\n * @return {File|file} file\r\n */\r\n dropLocalFileHandler(ev) {\r\n try {\r\n // Prevent default behavior (Prevent file from being opened)\r\n ev.preventDefault();\r\n let file = undefined;\r\n if (ev.dataTransfer.items) {\r\n // Use DataTransferItemList interface to access the file(s)\r\n [...ev.dataTransfer.items].forEach((item, i) => {\r\n // If dropped items aren't files, reject them\r\n file = this.isFile(item.getAsFile());\r\n console.log(\r\n `${this.$options.name} dropLocalFileHandler() file[${i}].name: `,\r\n file\r\n );\r\n });\r\n return file;\r\n } else {\r\n // Use DataTransfer interface to access the file(s)\r\n [...ev.dataTransfer.files].forEach((item, i) => {\r\n file = this.isFile(item.getAsFile());\r\n console.log(\r\n `${this.$options.name} dropLocalFileHandler() file[${i}].name: `,\r\n file\r\n );\r\n });\r\n return file;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Verifies if dragged record can be dropped on another record\r\n * @param dragRecord - Record that is dragged\r\n * @param dropRecord - Record on which user want to drop the dragged record\r\n * @param index - Drop Record Index- Used for dropping before,after or inside\r\n * @return {boolean}\r\n */\r\n isAllowedDrop(dragRecord, dropRecord, index = -1) {\r\n try {\r\n //reset dragged record for context menu\r\n this.draggedRecord = dragRecord;\r\n this.droppedRecord = dropRecord;\r\n const dragRecordTypeId = dragRecord?.recordTypeId ?? -1;\r\n const dropRecordTypeId = dropRecord?.recordTypeId ?? -1;\r\n\r\n //Condition to not drop on same dragged record\r\n if (dragRecord?.id === dropRecord?.id) {\r\n return false;\r\n }\r\n\r\n if (dragRecord?.isLink ?? false) {\r\n return this.canMoveShortcut;\r\n }\r\n\r\n // Verify if Dragged Record is Backup Material for sequencing/re-ordering\r\n if (isBackupMaterial(dragRecord)) {\r\n return this.canMoveBackupMaterial(dragRecord, dropRecord, index);\r\n }\r\n\r\n // Verify if Dragged Record is Meeting Child for sequencing/re-ordering\r\n if (isAncestorMeeting(dragRecord)) {\r\n return this.canMoveMeetingContent(dragRecord, dropRecord, index);\r\n }\r\n\r\n switch (dragRecordTypeId) {\r\n case recordType.RECORD:\r\n return this.canMoveRecord(dropRecordTypeId);\r\n case recordType.FILE:\r\n return this.canMoveFile(dropRecordTypeId);\r\n case recordType.FOLDER:\r\n return this.canMoveFolder(dropRecordTypeId);\r\n case recordType.DOCUMENT:\r\n return this.canMoveDocument(dropRecordTypeId);\r\n case recordType.MEETING:\r\n return this.canMoveMeeting(dropRecordTypeId);\r\n case recordType.ITEM:\r\n return this.canMoveItem(dropRecordTypeId);\r\n default:\r\n return false;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Verifies if record can be copied to another record\r\n * @param sourceRecord - Record that is copied\r\n * @param destinationRecord - Record on which user want to copy\r\n * @param {{Boolean}} isPasteShortcut\r\n * @return {boolean}\r\n */\r\n isAllowedCopy(sourceRecord, destinationRecord, isPasteShortcut = false) {\r\n try {\r\n const sourceRecordTypeId = sourceRecord?.recordTypeId ?? -1;\r\n const destinationRecordTypeId = destinationRecord?.recordTypeId ?? -1;\r\n\r\n //Condition to not copy on same record\r\n if (sourceRecord?.id === destinationRecord?.id) {\r\n return false;\r\n }\r\n switch (sourceRecordTypeId) {\r\n case recordType.RECORD:\r\n return this.canCopyRecord(destinationRecordTypeId);\r\n case recordType.FILE:\r\n return this.canCopyFile(destinationRecordTypeId);\r\n case recordType.FOLDER:\r\n return isPasteShortcut\r\n ? this.canCopyFolder(destinationRecordTypeId)\r\n : false;\r\n case recordType.DOCUMENT:\r\n return this.canCopyDocument(destinationRecordTypeId);\r\n case recordType.ITEM:\r\n return this.canCopyItem(destinationRecordTypeId);\r\n default:\r\n return false;\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Reset data to default\r\n */\r\n resetVariables() {\r\n this.draggedRecord = undefined;\r\n this.destinationRecord = undefined;\r\n this.droppedRecord = undefined;\r\n this.dropIndex = null;\r\n this.dropPosition = null;\r\n },\r\n\r\n /**\r\n * Determine record types where record can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveRecord(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.FOLDER ||\r\n dropRecordTypeId === recordType.ITEM\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where file can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveFile(dropRecordTypeId) {\r\n if (isCompoundFile(this.draggedRecord)) {\r\n return this.allowMoveCompoundFile(dropRecordTypeId);\r\n }\r\n return (\r\n dropRecordTypeId === recordType.FOLDER ||\r\n this.canMoveFileToDocument(dropRecordTypeId) ||\r\n dropRecordTypeId === recordType.MEETING ||\r\n dropRecordTypeId === recordType.ITEM\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where folder can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveFolder(dropRecordTypeId) {\r\n return dropRecordTypeId === recordType.FOLDER;\r\n },\r\n\r\n /**\r\n * Determine record types where Document can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveDocument(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.FOLDER ||\r\n dropRecordTypeId === recordType.MEETING ||\r\n dropRecordTypeId === recordType.ITEM\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where Meeting can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveMeeting(dropRecordTypeId) {\r\n return dropRecordTypeId === recordType.FOLDER;\r\n },\r\n\r\n /**\r\n * Determine record types where Item can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canMoveItem(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.ITEM ||\r\n dropRecordTypeId === recordType.SECTION\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where Agenda Item BackupMaterial can be moved\r\n * @param dragRecord\r\n * @param dropRecord\r\n * @param index\r\n * @return {boolean}\r\n */\r\n canMoveBackupMaterial(dragRecord, dropRecord, index) {\r\n // if index === -1, means its not drag and drop, rather a context Menu Cut/Paste\r\n // No need for handling drag/drop events\r\n if (index === -1) {\r\n return (\r\n dropRecord?.recordTypeId === recordType?.FOLDER ||\r\n dropRecord?.recordTypeId === recordType?.DOCUMENT\r\n );\r\n }\r\n const boundingRect = event.target.getBoundingClientRect();\r\n const offset = event.clientY - boundingRect.top;\r\n\r\n // Check if dropRecord.recordTypeId is not equal to recordType?.Document\r\n const isNotDocument = dropRecord?.recordTypeId !== recordType?.DOCUMENT;\r\n\r\n // Check if dragRecordTypeId is equal to recordType?.Record\r\n const isRecordTypeFile = dragRecord?.recordTypeId === recordType?.FILE;\r\n\r\n // Adjust logic to determine hover position\r\n if (offset < boundingRect.height * 0.1) {\r\n this.dropPosition = treeInsertOptions.beforeSibling;\r\n } else {\r\n this.dropPosition = isNotDocument\r\n ? treeInsertOptions.afterSibling\r\n : !isRecordTypeFile // makes sure only record type File is inserted into Compound Documents\r\n ? treeInsertOptions.afterSibling\r\n : treeInsertOptions.lastChild;\r\n }\r\n\r\n this.dropIndex = index;\r\n\r\n const dropRecordParentTypeId = dropRecord?.ancestor?.recordType?.id ?? -1;\r\n\r\n return dropRecordParentTypeId === recordType?.ITEM;\r\n },\r\n\r\n /**\r\n * Determine record types where Meeting Content (section,packets,drafts,documents) can be moved\r\n * @param dragRecord\r\n * @param dropRecord\r\n * @param index\r\n * @return {boolean}\r\n */\r\n canMoveMeetingContent(dragRecord, dropRecord, index) {\r\n // if index === -1, means its not drag and drop, rather a context Menu Cut/Paste\r\n // No need for handling drag/drop events\r\n if (index === -1) {\r\n return (\r\n dropRecord?.recordTypeId === recordType?.FOLDER ||\r\n dropRecord?.recordTypeId === recordType?.DOCUMENT\r\n );\r\n }\r\n\r\n const boundingRect = event.target.getBoundingClientRect();\r\n const offset = event.clientY - boundingRect.top;\r\n\r\n // Adjust logic to determine hover position\r\n if (offset < boundingRect.height * 0.1) {\r\n this.dropPosition = treeInsertOptions.beforeSibling;\r\n } else {\r\n this.dropPosition = treeInsertOptions.afterSibling;\r\n }\r\n\r\n this.dropIndex = index;\r\n\r\n const isDragSection = dragRecord?.recordTypeId === recordType?.SECTION;\r\n const isDropSection = dropRecord?.recordTypeId === recordType?.SECTION;\r\n\r\n return (\r\n (isDragSection && isDropSection) || (!isDragSection && !isDropSection)\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where record can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canCopyRecord(dropRecordTypeId) {\r\n return dropRecordTypeId === recordType.FOLDER;\r\n },\r\n\r\n /**\r\n * Determine record types where file can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canCopyFile(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.FOLDER ||\r\n dropRecordTypeId === recordType.DOCUMENT ||\r\n dropRecordTypeId === recordType.MEETING ||\r\n dropRecordTypeId === recordType.ITEM\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where folder can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canCopyFolder(dropRecordTypeId) {\r\n return dropRecordTypeId === recordType.FOLDER;\r\n },\r\n\r\n /**\r\n * Determine record types where Document can be moved\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canCopyDocument(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.FOLDER ||\r\n dropRecordTypeId === recordType.ITEM\r\n );\r\n },\r\n\r\n /**\r\n * Determine record types where Item can be copied\r\n * @param {Number|number} dropRecordTypeId\r\n */\r\n canCopyItem(dropRecordTypeId) {\r\n return (\r\n dropRecordTypeId === recordType.ITEM ||\r\n dropRecordTypeId === recordType.SECTION\r\n );\r\n },\r\n\r\n /**\r\n * Verify if File Can be Moved to Compound Document\r\n * @param dropRecordTypeId\r\n * @return {boolean}\r\n */\r\n canMoveFileToDocument(dropRecordTypeId) {\r\n return dropRecordTypeId === recordType.DOCUMENT && !this.isMultiPageTif();\r\n },\r\n\r\n /**\r\n * Verify if File is a multi page Tif\r\n * @return {boolean}\r\n */\r\n isMultiPageTif() {\r\n return (\r\n (this.draggedRecord?.extension ?? \"\")\r\n .toLowerCase()\r\n .includes(extensionName.tif) &&\r\n (this.draggedRecord?.pageCount ?? 0) > 1\r\n );\r\n },\r\n\r\n /**\r\n * Verify if local file drop to a record is allowed\r\n * Note: Core implementation, currently limited to file and record under a folder and agenda item only\r\n * @param record\r\n * @return {boolean}\r\n */\r\n isAllowedLocalFileDrop(record) {\r\n const recordTypeId = record?.recordTypeId ?? -1;\r\n const ancestorTypeId = record?.ancestor?.recordType?.id ?? -1;\r\n return (\r\n recordTypeId === recordType.ITEM ||\r\n ((recordTypeId === recordType.RECORD ||\r\n recordTypeId === recordType.FILE ||\r\n recordTypeId === recordType.FOLDER) &&\r\n ancestorTypeId === recordType.FOLDER)\r\n );\r\n },\r\n\r\n /**\r\n * Verify if dropped item is File\r\n * @param item\r\n * @return {{type}|*|undefined}\r\n */\r\n isFile(item) {\r\n if (!item.type && item.size % 4096 === 0) {\r\n return undefined;\r\n }\r\n return item;\r\n },\r\n\r\n /**\r\n * Determine if Shortcut is Creatable\r\n * @param sourceRecord\r\n * @param destinationRecord\r\n * @return {Promise<*>}\r\n */\r\n async isShortcutCreatable(sourceRecord, destinationRecord) {\r\n try {\r\n const payload = {\r\n id: sourceRecord?.id ?? -1,\r\n parentId: destinationRecord?.id ?? -1\r\n };\r\n const result = await canCreateShortcut(payload);\r\n return result?.data;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * Determine if compound files can be moved within\r\n * @param dropRecordTypeId\r\n * @return {boolean|boolean}\r\n */\r\n allowMoveCompoundFile(dropRecordTypeId) {\r\n return Number(this.draggedRecord.name) ===\r\n Number(this.droppedRecord.name) + 1\r\n ? false\r\n : dropRecordTypeId === recordType.FILE;\r\n }\r\n },\r\n\r\n watch: {\r\n async droppedRecord() {\r\n if (this.droppedRecord?.recordTypeId !== recordType.FOLDER) return false; //Verify if dropped Record is Folder\r\n\r\n //Determine if Dragged record shortcut is already present in selected Record\r\n //Determine if Dragged Original Record is already present in selected Record\r\n // Determine if shortcut is Creatable\r\n // Will be used to disable drop Command\r\n this.canMoveShortcut = await this.isShortcutCreatable(\r\n this.draggedRecord,\r\n this.droppedRecord\r\n );\r\n }\r\n }\r\n};\r\n","// The Window interface represents a window containing a DOM document;\r\n\r\n//\r\n// Add window functionality here:\r\n//\r\n\r\n/**\r\n * Browser Name\r\n * @type {string}\r\n */\r\nconst browserName = window.navigator.appName;\r\n\r\n/**\r\n * Deprecated: This feature is no longer recommended.\r\n * indicating whether the device is a mobile device\r\n * @return {boolean} returns a boolean, true if this is a mobile device.\r\n */\r\nconst isMobile = () => {\r\n try {\r\n return window?.navigator?.userAgentData?.mobile ?? false;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n};\r\n\r\n/**\r\n * Deprecated: This feature is no longer recommended.\r\n * get the platform of the browser\r\n * @return {string|undefined} returns a string, representing the platform of the browser\r\n */\r\nconst getPlatform = () => {\r\n try {\r\n return window?.navigator?.userAgentData?.platform;\r\n } catch (e) {\r\n console.error(e);\r\n return undefined;\r\n }\r\n};\r\n\r\nexport { browserName, isMobile, getPlatform };\r\n"],"sourceRoot":""}