diff options
| -rw-r--r-- | resources/js/components/activities.vue | 26 | ||||
| -rw-r--r-- | resources/js/components/call-sign-filter.vue | 1 | ||||
| -rw-r--r-- | resources/js/store.js | 13 | 
3 files changed, 38 insertions, 2 deletions
| diff --git a/resources/js/components/activities.vue b/resources/js/components/activities.vue index 976516f..01e7002 100644 --- a/resources/js/components/activities.vue +++ b/resources/js/components/activities.vue @@ -1,5 +1,5 @@  <template> -  <div> +  <div @signChanged="filterChanged()">      <call-sign-filter></call-sign-filter>      <div class="table-responsive mt-2"> @@ -16,6 +16,15 @@                  </tr>              </thead>              <tbody> +              <tr v-for="activity in activities"> +                <td>{{ activity.operatorCall }}</td> +                <td>{{ activity.fromTime }}</td> +                <td>{{ activity.toTime }}</td> +                <td>{{ activity.specialCall }}</td> +                <td>{{ activity.frequencies }}</td> +                <td>{{ activity.modes }}</td> +                <td>{{ activity.qso }}</td> +              </tr>              </tbody>          </table>      </div> @@ -26,6 +35,19 @@  import callSignFilter from './call-sign-filter.vue';  export default { -  components: { callSignFilter } +  components: { callSignFilter }, +  mounted() { +    this.$store.dispatch('fillData'); +  }, +  computed: { +    activities() { +      return this.$store.getters.getData; +    } +  }, +  methods: { +    filterChanged() { +      this.$store.dispatch('fillData'); +    } +  }  }  </script> diff --git a/resources/js/components/call-sign-filter.vue b/resources/js/components/call-sign-filter.vue index 8e3228c..e8d22a5 100644 --- a/resources/js/components/call-sign-filter.vue +++ b/resources/js/components/call-sign-filter.vue @@ -20,6 +20,7 @@ export default {        },        set(value) {          this.$store.dispatch('setSelectedSign', value); +        this.$emit('signChanged');        }      },      options() { diff --git a/resources/js/store.js b/resources/js/store.js index 669f0bc..852ba6b 100644 --- a/resources/js/store.js +++ b/resources/js/store.js @@ -14,6 +14,9 @@ export default new Vuex.Store({      },      getSigns(state) {        return state.callSigns; +    }, +    getData(state) { +      return state.data;      }    },    mutations: { @@ -22,6 +25,9 @@ export default new Vuex.Store({      },      fillSigns(state, signs) {        state.callSigns = signs; +    }, +    setData(state, data) { +      state.data = data;      }    },    actions: { @@ -34,6 +40,13 @@ export default new Vuex.Store({        }).catch(error => {          console.log(error);        }); +    }, +    async fillData(context) { +      await axios.post('/api/activities', {'call-sign': this.state.selectedSign}).then(response => { +        context.commit('setData', response.data.data); +      }).catch(error => { +        console.log(error); +      });      }    }  }); | 
