themblem/web/src/views/assets.vue
2024-09-01 21:51:50 +01:00

74 lines
1.3 KiB
Vue

<template>
<div>
<GenericManager
object_name="文件"
:uri="resource_uri"
:list_fields="show_fields"
:visible_fields="show_fields"
:editable_fields="['link', 'title', 'position']"
show_search=1
no_create=1
no_edit=1
no_details=1
:actions="actions"
ref="gm">
<MediaUploader @change="reload" />
</GenericManager>
<Modal ref="modal" close_only=1>
<img class="preview" :src="modal_url" />
</Modal>
</div>
</template>
<script>
import MediaUploader from '../components/media-uploader';
export default {
name: 'Assets',
props: [],
components: {
MediaUploader,
},
data: function () {
return {
resource_uri: "/api/v1/asset-file/",
item: null,
file: null,
selected_icon_url: null,
modal_url: '',
};
},
computed: {
show_fields: function() {
return ['filename', 'datetime'];
},
actions: function() {
var r = [
{
icon: 'eye',
handler: this.handle_show_file,
},
];
return r;
},
},
methods: {
reload: function() {
this.$refs.gm.reload_data();
},
handle_show_file: function(item) {
this.modal_url = item.url;
this.$refs.modal.show();
},
},
mounted() {
},
}
</script>
<style scoped>
img.preview {
width: 100%;
}
</style>