albums: more refactor for metadata
Signed-off-by: Varun Patil <radialapps@gmail.com>pull/767/head
parent
d7a09cfbd3
commit
846294fae5
|
@ -2,7 +2,7 @@
|
||||||
<div class="outer" v-if="fileid">
|
<div class="outer" v-if="fileid">
|
||||||
<div v-if="albums.length" class="albums">
|
<div v-if="albums.length" class="albums">
|
||||||
<div class="section-title">{{ t('memories', 'Albums') }}</div>
|
<div class="section-title">{{ t('memories', 'Albums') }}</div>
|
||||||
<AlbumsList :albums="albums" />
|
<AlbumsList :albums="albums" @click="openAlbum" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="section-title">{{ t('memories', 'Metadata') }}</div>
|
<div class="section-title">{{ t('memories', 'Metadata') }}</div>
|
||||||
|
@ -74,6 +74,7 @@ import TagIcon from 'vue-material-design-icons/Tag.vue';
|
||||||
|
|
||||||
import * as utils from '../services/Utils';
|
import * as utils from '../services/Utils';
|
||||||
import { API } from '../services/API';
|
import { API } from '../services/API';
|
||||||
|
import router from '../router';
|
||||||
|
|
||||||
import type { IAlbum, IImageInfo, IPhoto } from '../types';
|
import type { IAlbum, IImageInfo, IPhoto } from '../types';
|
||||||
|
|
||||||
|
@ -373,6 +374,16 @@ export default defineComponent({
|
||||||
return (this.albums = list);
|
return (this.albums = list);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
openAlbum(album: IAlbum) {
|
||||||
|
router.push({
|
||||||
|
name: 'albums',
|
||||||
|
params: {
|
||||||
|
name: album.name,
|
||||||
|
user: album.user,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
handleFileUpdated({ fileid }: { fileid: number }) {
|
handleFileUpdated({ fileid }: { fileid: number }) {
|
||||||
if (fileid && this.fileid === fileid) {
|
if (fileid && this.fileid === fileid) {
|
||||||
this.update(this.fileid);
|
this.update(this.fileid);
|
||||||
|
|
|
@ -275,7 +275,7 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
|
|
||||||
globalThis.mViewer.open(photo, this.list);
|
globalThis.mViewer.open(photo, this.list);
|
||||||
} else if (from?.hash?.startsWith('#v') && !to.hash?.startsWith('#v') && viewerIsOpen) {
|
} else if (!to.hash?.startsWith('#v') && viewerIsOpen) {
|
||||||
// Close viewer
|
// Close viewer
|
||||||
globalThis.mViewer.close();
|
globalThis.mViewer.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div v-if="!showAlbumCreationForm" class="album-picker">
|
<div v-if="!showAlbumCreationForm" class="album-picker">
|
||||||
<XLoadingIcon v-if="loadingAlbums" class="loading-icon" />
|
<XLoadingIcon v-if="loadingAlbums" class="loading-icon centered" />
|
||||||
|
|
||||||
<ul class="albums-container">
|
<ul class="albums-container">
|
||||||
<AlbumsList ref="albumsList" :albums="albums" @click="toggleAlbumSelection">
|
<AlbumsList ref="albumsList" :albums="albums" @click="toggleAlbumSelection">
|
||||||
|
@ -126,6 +126,8 @@ export default defineComponent({
|
||||||
|
|
||||||
async loadAlbums() {
|
async loadAlbums() {
|
||||||
try {
|
try {
|
||||||
|
this.loadingAlbums = true;
|
||||||
|
|
||||||
// this only makes sense when we try to add single photo to albums
|
// this only makes sense when we try to add single photo to albums
|
||||||
const fileid = this.photos.length === 1 ? this.photos[0].fileid : -1;
|
const fileid = this.photos.length === 1 ? this.photos[0].fileid : -1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue