12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <template>
- <div class='modal is-active'>
- <div class='modal-background'></div>
- <div class='modal-card'>
- <header class='modal-card-head'>
- <p class='modal-card-title'>Edit station</p>
- <button class='delete' @click='$parent.toggleModal("editStation")'></button>
- </header>
- <section class='modal-card-body'>
- <label class='label'>Display name</label>
- <div class='control is-grouped'>
- <p class='control is-expanded'>
- <input class='input' type='text' placeholder='Station Display Name' v-model='$parent.station.displayName'>
- </p>
- <p class='control'>
- <a class='button is-info' @click='updateDisplayName()'>Update</a>
- </p>
- </div>
- <label class='label'>Description</label>
- <div class='control is-grouped'>
- <p class='control is-expanded'>
- <input class='input' type='text' placeholder='Station Display Name' v-model='$parent.station.description'>
- </p>
- <p class='control'>
- <a class='button is-info' @click='updateDescription()'>Update</a>
- </p>
- </div>
- <label class='label'>Privacy</label>
- <div class='control is-grouped'>
- <p class='control is-expanded'>
- <span class='select'>
- <select v-model='$parent.station.privacy'>
- <option v-bind:value=''public''>Public</option>
- <option v-bind:value=''unlisted''>Unlisted</option>
- <option v-bind:value=''private''>Private</option>
- </select>
- </span>
- </p>
- <p class='control'>
- <a class='button is-info' @click='updatePrivacy()'>Update</a>
- </p>
- </div>
- </section>
- </div>
- </div>
- </template>
- <script>
- import { Toast } from 'vue-roaster';
- export default {
- methods: {
- updateDisplayName: function () {
- this.socket.emit('stations.updateDisplayName', this.$parent.stationId, this.$parent.station.displayName, res => {
- if (res.status == 'success') return Toast.methods.addToast(res.message, 4000);
- Toast.methods.addToast(res.message, 8000);
- });
- },
- updateDescription: function () {
- this.socket.emit('stations.updateDescription', this.$parent.stationId, this.$parent.station.description, res => {
- if (res.status == 'success') return Toast.methods.addToast(res.message, 4000);
- Toast.methods.addToast(res.message, 8000);
- });
- },
- updatePrivacy: function () {
- this.socket.emit('stations.updatePrivacy', this.$parent.stationId, this.$parent.station.privacy, res => {
- if (res.status == 'success') return Toast.methods.addToast(res.message, 4000);
- Toast.methods.addToast(res.message, 8000);
- });
- }
- },
- ready: function () {
- let _this = this;
- let socketInterval = setInterval(() => {
- if (!!_this.$parent.$parent.socket) {
- _this.socket = _this.$parent.$parent.socket;
- clearInterval(socketInterval);
- }
- }, 100);
- }
- }
- </script>
- <style type='scss' scoped>
- .controls {
- display: flex;
- a {
- display: flex;
- align-items: center;
- }
- }
- .table { margin-bottom: 0; }
- h5 { padding: 20px 0; }
- </style>
|