1010 :data-handler =" handlerId" >
1111 <component :is =" currentFile.modal"
1212 v-if =" !currentFile.failed"
13- :key =" currentFile | uniqueKey"
13+ :key =" uniqueKey(currentFile) "
1414 ref =" content"
1515 :active =" true"
1616 :can-swipe =" false"
102102 <!-- COMPARE FILE -->
103103 <div v-if =" comparisonFile && !comparisonFile.failed && showComparison" class =" viewer__file-wrapper" >
104104 <component :is =" comparisonFile.modal"
105- :key =" comparisonFile | uniqueKey"
105+ :key =" uniqueKey(comparisonFile) "
106106 ref =" comparison-content"
107107 v-bind =" comparisonFile"
108108 :active =" true"
117117 </div >
118118
119119 <!-- PREVIOUS -->
120- <div v-if =" previousFile "
121- :key =" previousFile | uniqueKey"
120+ <div v-if =" hasPreviousFile "
121+ :key =" uniqueKey(previousFile) "
122122 class =" viewer__file-wrapper viewer__file-wrapper--hidden"
123123 aria-hidden =" true"
124124 inert >
134134 </div >
135135
136136 <!-- CURRENT -->
137- <div :key =" currentFile | uniqueKey" class =" viewer__file-wrapper" >
137+ <div :key =" uniqueKey(currentFile) " class =" viewer__file-wrapper" >
138138 <component :is =" currentFile.modal"
139139 v-if =" !currentFile.failed"
140140 ref =" content"
154154 </div >
155155
156156 <!-- NEXT -->
157- <div v-if =" nextFile "
158- :key =" nextFile | uniqueKey"
157+ <div v-if =" hasNextFile "
158+ :key =" uniqueKey(nextFile) "
159159 class =" viewer__file-wrapper viewer__file-wrapper--hidden"
160160 aria-hidden =" true"
161161 inert >
@@ -223,12 +223,6 @@ export default defineComponent({
223223 Pencil,
224224 },
225225
226- filters: {
227- uniqueKey (file ) {
228- return ' ' + file .fileid + file .source
229- },
230- },
231-
232226 mixins: [isFullscreen, isMobile],
233227
234228 data () {
@@ -319,6 +313,15 @@ export default defineComponent({
319313 return this .currentIndex === this .fileList .length - 1
320314 },
321315
316+ hasPreviousFile () {
317+ // Check if empty object
318+ return Object .keys (this .previousFile ).length > 0
319+ },
320+ hasNextFile () {
321+ // Check if empty object
322+ return Object .keys (this .nextFile ).length > 0
323+ },
324+
322325 isImage () {
323326 return [' image/jpeg' , ' image/png' , ' image/webp' ].includes (this .currentFile ? .mime )
324327 },
@@ -562,6 +565,10 @@ export default defineComponent({
562565 },
563566
564567 methods: {
568+ uniqueKey (file ) {
569+ return ' ' + file .fileid + file .source
570+ },
571+
565572 /**
566573 * If there is no download permission also hide the context menu.
567574 * @param {MouseEvent} event The mouse click event
@@ -773,7 +780,7 @@ export default defineComponent({
773780 }
774781 } else {
775782 // RESET
776- this .previousFile = null
783+ this .previousFile = {}
777784 }
778785
779786 if (next) {
@@ -783,7 +790,7 @@ export default defineComponent({
783790 }
784791 } else {
785792 // RESET
786- this .nextFile = null
793+ this .nextFile = {}
787794 }
788795
789796 },
0 commit comments