From b3e27ec28651a38638f165f551002fc0ee6ec5ab Mon Sep 17 00:00:00 2001 From: Ricky Kenendy <13516105@std.stei.itb.ac.id> Date: Fri, 19 Apr 2019 21:36:14 +0700 Subject: [PATCH] finished re-render table budget after change activity --- src/components/pages/PanelAdministrator.vue | 25 ++++++++++- src/components/partials/TableBudget.vue | 49 ++++++++------------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/src/components/pages/PanelAdministrator.vue b/src/components/pages/PanelAdministrator.vue index 2569971..a615523 100644 --- a/src/components/pages/PanelAdministrator.vue +++ b/src/components/pages/PanelAdministrator.vue @@ -24,7 +24,7 @@ </b-card> </b-tab> <b-tab v-if="this.$store.state.user.role == 2" title="Pengaturan Admin"> - <table-budget :data='dataTable'/> + <table-budget :data='dataTable' :key="dataTable.current_item.id" v-on:changeActivity="updateActivity($event)" /> </b-tab> </b-tabs> </b-card> @@ -167,7 +167,28 @@ export default { filterTrigger(item) { this.totalRows = item.length this.currentPage = 1 - } + }, + + updateCurrentActivity: function(id, activity_name, admin_name) { + this.dataTable.current_item.id = id; + this.dataTable.current_item.activity_name = activity_name; + this.dataTable.current_item.admin_name = admin_name; + console.log(this.dataTable.current_item.activity_name) + }, + + updateActivity: function(event) { + var element = this.dataTable.items.find( function(element){ + if (element.id === event ){ + console.log("before"); + console.log(element); + return element; + } + }) + + this.updateCurrentActivity(element.id, element.activity_name, element.admin_name); + + }, + } } </script> diff --git a/src/components/partials/TableBudget.vue b/src/components/partials/TableBudget.vue index 4783fce..c55eff5 100644 --- a/src/components/partials/TableBudget.vue +++ b/src/components/partials/TableBudget.vue @@ -17,7 +17,7 @@ size="sm" /> <b-button - @click="assignAdmin(row)" + @click="updateAdmin()" variant="primary" size="sm" class="float-right mt-2 ml-2" @@ -58,7 +58,7 @@ Ubah Admin </b-button> <b-button - v-on:click="clearButtonHandler(row)" + v-on:click="removeAdmin()" variant="danger" size="sm" > @@ -99,38 +99,11 @@ <template slot="actions" slot-scope="row" > <b-button size="sm" - v-on:click="switchToggleDratails(row)" + v-on:click="seeDetail(row)" > Lihat </b-button> </template> - <template slot="row-details" slot-scope="row"> - <b-card - bg-variant="light" - > - <small><b>Mohon pilih Admin dari daftar di bawah ini:</b></small> - <b-form-select - v-model="selected" - :options="options" - size="sm" - /> - <b-button - @click="assignAdmin(row)" - variant="primary" - size="sm" - class="float-right mt-2 ml-2" - > - Pilih Admin - </b-button> - <b-button - @click="switchToggleDetails(null)" - size="sm" - class="float-right mt-2" - > - Batalkan - </b-button> - </b-card> - </template> </b-table> <b-pagination @@ -151,7 +124,9 @@ export default { }, props:{ - data : Object + data : { + type : Object + } }, data() { return { @@ -164,6 +139,7 @@ export default { { value: '2', text: 'William Rukmansa' }, { value: '3', text: 'Ricky Kennedy' } ], + selected : 0, } }, computed: { @@ -201,6 +177,17 @@ export default { changeShowCardState : function() { this.showCard = !this.showCard; + }, + + removeAdmin : function() { + this.data.current_item.admin_name = '--'; + }, + + updateAdmin : function() { + this.data.current_item.admin_name = this.options[this.selected].text; + }, + seeDetail : function(row) { + this.$emit('changeActivity',row.item.id); } }, -- GitLab