<template> <div> <section class="pending-pane"> <div class="actions"><a class="new-order" href="#new-order">New</a><a class="new-order" href="#credits">Add Credits</a></div> <h4>Pending Orders</h4> <ul> <template v-bind:key='order.id' v-for="order in orders"> <div class="pending-item" v-if="order.status == 'pending'"> <div class="pending-heading"> <li @click="togglePending($event)">{{order.service.name}} ({{order.updated_at}})</li> <img class="chevron" src="../../images/chevron-down.svg" alt=""> </div> <div class="pending-content"> <p>ID: {{order.id}}<br>URL: {{order.url}}<br>Quantity: {{order.quantity}}<br>Note: {{order.note}}</p> </div> </div> </template> </ul> </section> <div class="info-grey"><p>Orders are typically completed within 1-5 days.</p><div></div></div> <section class="history-pane"> <h4>Order History</h4> <div class="table-scroller"> <table> <thead><th>Date</th><th>ID</th><th>Name</th><th>Status</th> <th>Quantity</th></thead> <tbody> <tr v-bind:key='order.id' v-for='order in orders.slice(historyPage*10-10, historyPage*10)'> <td>{{order.updated_at}}</td> <td>{{order.id}}</td> <td>{{order.service.name}}</td> <td :class="order.status" class="status"><span>{{order.status.charAt(0).toUpperCase() + order.status.slice(1)}}</span></td> <td>{{order.quantity}}</td> <td> <eye @click="select(order)"></eye> </td> </tr> </tbody> </table> </div> <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> <order-item v-if="selected" @close="close" :selected="selected" :token="token" @change-url="(url) => selected.url = url"></order-item> </div> </template> <script> import Eye from '../icons/eye-fill.vue' import OrderItem from './order-item.vue' function togglePending(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 } } function close() { this.selected = null } function select(order) { this.selected = order } export default { components: {Eye, OrderItem}, data() {return {historyPage: 1, selected: null}}, methods: { togglePending, moveHistory, close, select }, props: ['orders', 'token'], } </script>