Skip to content
Snippets Groups Projects
Button.vue 1.05 KiB
Newer Older
  • Learn to ignore specific revisions
  • <template>
      <button @click="toggleRadio" :class="['ui', 'blue', {'inverted': running}, 'button']">
        <i class="ui feed icon"></i>
        <template v-if="running">Stop</template>
        <template v-else>Start</template>
        radio
      </button>
    </template>
    
    <script>
    
    export default {
      props: {
    
        customRadioId: {required: false},
        type: {type: String, required: false},
    
        objectId: {type: Number, default: null}
      },
      methods: {
        toggleRadio () {
          if (this.running) {
    
            this.$store.dispatch('radios/stop')
    
            this.$store.dispatch('radios/start', {type: this.type, objectId: this.objectId, customRadioId: this.customRadioId})
    
          let state = this.$store.state.radios
          let current = state.current
          if (!state.running) {
    
            return current.type === this.type & current.objectId === this.objectId
    
          }
        }
      }
    }
    </script>
    
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
    i {
      cursor: pointer;
    }
    </style>