photoprism/frontend/src/dialog/p-photo-album-dialog.vue

58 lines
2.1 KiB
Vue
Raw Normal View History

<template>
<v-dialog v-model="show" persistent max-width="350" class="p-photo-album-dialog" @keydown.esc="cancel">
<v-card raised elevation="24">
<v-container fluid class="pb-2 pr-2 pl-2">
<v-layout row wrap>
<v-flex xs3 text-xs-center>
<v-icon size="54" color="grey lighten-1">folder</v-icon>
</v-flex>
<v-flex xs9 text-xs-left align-self-center>
<v-select
label="Album"
flat solo hide-details
color="secondary-dark"
item-value="AlbumUUID"
item-text="AlbumName"
v-model="album"
:items="config.albums">
</v-select>
<!-- div class="subheading pr-1">Add to album</div -->
</v-flex>
<v-flex xs12 text-xs-right class="pt-3">
<v-btn @click.stop="cancel" depressed color="grey lighten-3" class="p-photo-dialog-cancel">
Cancel
</v-btn>
<v-btn color="blue-grey lighten-2" depressed dark @click.stop="confirm"
class="p-photo-dialog-confirm">Add to album
</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-card>
</v-dialog>
</template>
<script>
export default {
name: 'p-photo-album-dialog',
props: {
show: Boolean,
},
data() {
const defaultAlbum = this.$config.values.albums[0];
return {
album: defaultAlbum.AlbumUUID,
config: this.$config.values,
}
},
methods: {
cancel() {
this.$emit('cancel');
},
confirm() {
this.$emit('confirm', this.album);
},
}
}
</script>