Files
vuefilemanager/resources/js/components/FilesView/ToolbarButtonUpload.vue
2020-04-28 18:06:38 +02:00

70 lines
1.5 KiB
Vue

<template>
<label label="file" class="button file-input">
<FontAwesomeIcon class="icon" :icon="source"></FontAwesomeIcon>
<input
@change="emmitFiles"
v-show="false"
id="file"
type="file"
name="files[]"
multiple
:disabled="$isThisLocation(['trash', 'trash-root'])"
/>
</label>
</template>
<script>
export default {
name: 'ToolbarButtonUpload',
props: ['source', 'action'],
methods: {
emmitFiles(e) {
this.$uploadFiles(e.target.files)
}
}
}
</script>
<style scoped lang="scss">
@import "@assets/app.scss";
.button {
height: 42px;
width: 42px;
border-radius: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0;
background: $light_background;
text-align: center;
cursor: pointer;
white-space: nowrap;
outline: none;
border: none;
&:hover {
background: rgba($theme, .1);
/deep/ svg path {
@include transition;
fill: $theme;
}
}
.icon {
@include font-size(16);
}
}
@media (prefers-color-scheme: dark) {
.button {
background: $dark_mode_foreground;
}
.icon path {
fill: $dark_mode_text_primary;
}
}
</style>