Browse Source

Paginate order history

tags/v0.1.0
Immanuel Onyeka 3 years ago
parent
commit
63e1d8cbf6
2 changed files with 47 additions and 11 deletions
  1. +19
    -7
      resources/js/panel/panel.vue
  2. +28
    -4
      resources/scss/main.scss

+ 19
- 7
resources/js/panel/panel.vue View File

@@ -48,7 +48,7 @@
<table> <table>
<thead><th>Date</th><th>ID</th><th>Name</th><th>Status</th> <th>Quantity</th></thead> <thead><th>Date</th><th>ID</th><th>Name</th><th>Status</th> <th>Quantity</th></thead>
<tbody> <tbody>
<tr @click="toggleOrderItem($event)" v-bind:key='order.id' v-for='order in orders.slice(0, 10)'>
<tr @click="toggleOrderItem($event)" v-bind:key='order.id' v-for='order in orders.slice(historyPage*10-10, historyPage*10)'>
<td>{{order.updated_at}}</td> <td>{{order.updated_at}}</td>
<td>{{order.id}}</td> <td>{{order.id}}</td>
<td>{{order.service.name}}</td> <td>{{order.service.name}}</td>
@@ -59,8 +59,9 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<img class="nav-btn" src="../../images/arrow-left-circle-fill.svg" alt="">
<img class="nav-btn" src="../../images/arrow-right-circle-fill.svg" alt="">
<img @click="moveHistory(false)" class="nav-btn left" src="../../images/arrow-left-circle-fill.svg" alt="">
<p class="nav-legend">{{historyPage}}/{{Math.ceil(orders.length/10)}}</p>
<img @click="moveHistory(true)" class="nav-btn right" src="../../images/arrow-right-circle-fill.svg" alt="">
</section> </section>
</div> </div>
<div id="main" v-else-if="active === '#exit'"> <div id="main" v-else-if="active === '#exit'">
@@ -83,8 +84,19 @@ function toggleOrderItem(event) {
event.target.parentNode.parentNode.classList.toggle('selected') event.target.parentNode.parentNode.classList.toggle('selected')
} }


function logout(event) {
event.target.parentNode.parentNode.classList.toggle('selected')
function moveHistory(forward) {
if (forward) {
this.historyPage += 1
} else {
this.historyPage -= 1
}
if (this.historyPage < 1) {
this.historyPage = 1
return
} else if (this.historyPage > this.orders.length/10+1) {
this.historyPage -= 1
return
}
} }


export default { export default {
@@ -93,8 +105,8 @@ export default {
}, },
data() { data() {
return {active: window.location.hash, user: '', return {active: window.location.hash, user: '',
token: '', orders: ''}
token: '', orders: '', historyPage: 1}
}, },
methods: {togglePending, toggleOrderItem}
methods: {togglePending, toggleOrderItem, moveHistory}
} }
</script> </script>

+ 28
- 4
resources/scss/main.scss View File

@@ -853,12 +853,36 @@ main.panel {
} }


.history-pane { .history-pane {
table {
overflow: scroll;
overflow: visible;
transition: all 0.2s;
.nav-btn {
width: 1.5em;
transform: translateY(1.5em);

} }
thead {
// display: block;
.nav-btn.right {
bottom: 0px;
right: 1em;
position: absolute;
display: block;
margin-left: auto;
} }
.nav-btn.left {
bottom: 0px;
left: 1em;
position: absolute;
display: block;
margin-right: auto;
}
.nav-legend {
color: grey;
transform: translateX(-1.5em);
text-align: center;
position: absolute;
width: 3em;
left: 50%;
}

} }


.actions { .actions {


Loading…
Cancel
Save