materio-d9/web/themes/custom/materiotheme/vuejs/components/User/UserFlags.vue

95 lines
2.0 KiB
Vue
Raw Normal View History

<template lang="html">
<div id="user-flags">
<h4
class="mdi mdi-folder-outline"
>My folders</h4>
<ul>
2020-11-19 17:09:48 +01:00
<li v-if="flags" v-for="flag in flags" :key="flag.id">
<h5>{{ flag.name }}</h5>
2020-11-19 19:02:04 +01:00
<span
class="mdi mdi-trash-can-outline"
:flagid="flag.id"
@click.prevent="onDeleteFlag"
/>
</li>
<li ref="create-flag">
2020-11-19 17:09:48 +01:00
<span class="mdi mdi-folder-plus-outline"/>
<input
placeholder="new folder"
v-model="new_folder_name"
/>
<span
class="mdi mdi-plus-box"
v-if="new_folder_name"
2020-11-19 19:02:04 +01:00
@click.prevent="onCreateFlag"
2020-11-19 17:09:48 +01:00
/>
</li>
</ul>
</div>
</template>
<script>
import { mapState, mapActions } from 'vuex'
export default {
name: "userFlags",
data: () => ({
2020-11-19 17:09:48 +01:00
new_folder_name: ""
}),
computed: {
...mapState({
flags: state => state.User.flags
})
},
methods: {
...mapActions({
2020-11-19 19:02:04 +01:00
createFlag: 'User/createFlag',
deleteFlag: 'User/deleteFlag'
}),
2020-11-19 17:09:48 +01:00
onCreateFlag () {
console.log("UserFlags onCreateFlag", this.new_folder_name)
2020-11-19 19:02:04 +01:00
this.createFlag(this.new_folder_name)
.then(data => {
console.log("onCreateFlag then", data);
this.new_folder_name = "";
})
},
onDeleteFlag (e) {
let flagid = e.target.getAttribute('flagid');
console.log("UserFlags onDeleteFlag", flagid);
this.deleteFlag(flagid)
.then(data => {
console.log("onDeleteFlag then", data);
this.new_folder_name = "";
})
}
}
}
</script>
<style lang="scss" scoped>
2020-11-19 17:09:48 +01:00
li{
2020-11-19 19:02:04 +01:00
width:100%;
2020-11-19 17:09:48 +01:00
// cursor: pointer;
2020-11-19 19:02:04 +01:00
display: flex;
flex-direction: row;
align-items: baseline;
flex-wrap: nowrap;
h5{
// flex-grow:10;
width:100%;
}
2020-11-19 17:09:48 +01:00
input{
border: none
}
2020-11-19 19:02:04 +01:00
span.mdi{
flex-basis:1em;
}
span.mdi-plus-box,
span.mdi-trash-can-outline{
2020-11-19 17:09:48 +01:00
cursor: pointer;
}
}
</style>