Skip to content

Commit 0366468

Browse files
committed
Update
- Added : order fields on OrderAfterCreatedEvent - Added : identifier for cart button - Fixed : ensure type promises execute completely.
1 parent c04bde4 commit 0366468

File tree

4 files changed

+300
-279
lines changed

4 files changed

+300
-279
lines changed

public/js/pos.js

Lines changed: 42 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/js/vendor.js

Lines changed: 221 additions & 211 deletions
Large diffs are not rendered by default.

resources/ts/pages/dashboard/pos/ns-pos-cart.vue

Lines changed: 35 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -186,19 +186,19 @@
186186
</table>
187187
</div>
188188
<div class="h-16 flex flex-shrink-0 border-t border-gray-200">
189-
<div @click="payOrder()" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-green-500 text-white hover:bg-green-600 border-r border-green-600 flex-auto">
189+
<div @click="payOrder()" id="pay-button" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-green-500 text-white hover:bg-green-600 border-r border-green-600 flex-auto">
190190
<i class="mr-2 text-xl lg:text-3xl las la-cash-register"></i>
191191
<span class="text-lg lg:text-2xl">Pay</span>
192192
</div>
193-
<div @click="holdOrder()" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-blue-500 text-white border-r hover:bg-blue-600 border-blue-600 flex-auto">
193+
<div @click="holdOrder()" id="hold-button" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-blue-500 text-white border-r hover:bg-blue-600 border-blue-600 flex-auto">
194194
<i class="mr-2 text-xl lg:text-3xl las la-pause"></i>
195195
<span class="text-lg lg:text-2xl">Hold</span>
196196
</div>
197-
<div @click="openDiscountPopup( order, 'cart' )" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-white border-r border-gray-200 hover:bg-indigo-100 flex-auto text-gray-700">
197+
<div @click="openDiscountPopup( order, 'cart' )" id="discount-button" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-white border-r border-gray-200 hover:bg-indigo-100 flex-auto text-gray-700">
198198
<i class="mr-2 text-xl lg:text-3xl las la-percent"></i>
199199
<span class="text-lg lg:text-2xl">Discount</span>
200200
</div>
201-
<div @click="voidOngoingOrder( order )" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-red-500 text-white border-gray-200 hover:bg-red-600 flex-auto">
201+
<div @click="voidOngoingOrder( order )" id="void-button" class="flex-shrink-0 w-1/4 flex items-center font-bold cursor-pointer justify-center bg-red-500 text-white border-gray-200 hover:bg-red-600 flex-auto">
202202
<i class="mr-2 text-xl lg:text-3xl las la-trash"></i>
203203
<span class="text-lg lg:text-2xl">Void</span>
204204
</div>
@@ -216,7 +216,7 @@ import nsPosQuantityPopupVue from '@/popups/ns-pos-quantity-popup.vue';
216216
import { ProductQuantityPromise } from "./queues/products/product-quantity";
217217
import nsPosDiscountPopupVue from '@/popups/ns-pos-discount-popup.vue';
218218
import nsPosOrderTypePopupVue from '@/popups/ns-pos-order-type-popup.vue';
219-
import { nsSnackBar } from '@/bootstrap';
219+
import { nsHooks, nsSnackBar } from '@/bootstrap';
220220
import nsPosCustomerPopupVue from '@/popups/ns-pos-customer-select-popup.vue';
221221
import { ProductsQueue } from "./queues/order/products-queue";
222222
import { CustomerQueue } from "./queues/order/customer-queue";
@@ -343,11 +343,13 @@ export default {
343343
return nsSnackBar.error( 'Unable to hold an order which payment status has been updated already.' ).subscribe();
344344
}
345345
346-
const queues = [
346+
const queues = nsHooks.applyFilters( 'ns-hold-queue', [
347347
ProductsQueue,
348348
CustomerQueue,
349349
TypeQueue,
350-
];
350+
]);
351+
352+
console.log( queues );
351353
352354
for( let index in queues ) {
353355
try {
@@ -362,25 +364,34 @@ export default {
362364
}
363365
}
364366
365-
const promise = new Promise( ( resolve, reject ) => {
366-
Popup.show( nsPosHoldOrdersPopupVue, { resolve, reject, order : this.order });
367-
});
367+
/**
368+
* overriding hold popup
369+
* This will be useful to inject custom
370+
* hold popup.
371+
*/
372+
const popup = nsHooks.applyFilters( 'ns-override-hold-popup', () => {
373+
const promise = new Promise( ( resolve, reject ) => {
374+
Popup.show( nsPosHoldOrdersPopupVue, { resolve, reject, order : this.order });
375+
});
368376
369-
promise.then( result => {
370-
this.order.title = result.title;
371-
this.order.payment_status = 'hold';
372-
POS.order.next( this.order );
377+
promise.then( result => {
378+
this.order.title = result.title;
379+
this.order.payment_status = 'hold';
380+
POS.order.next( this.order );
373381
374-
const popup = Popup.show( nsPosLoadingPopupVue );
375-
376-
POS.submitOrder().then( result => {
377-
popup.close();
378-
nsSnackBar.success( result.message ).subscribe();
379-
}, ( error ) => {
380-
popup.close();
381-
nsSnackBar.error( error.message ).subscribe();
382-
});
383-
})
382+
const popup = Popup.show( nsPosLoadingPopupVue );
383+
384+
POS.submitOrder().then( result => {
385+
popup.close();
386+
nsSnackBar.success( result.message ).subscribe();
387+
}, ( error ) => {
388+
popup.close();
389+
nsSnackBar.error( error.message ).subscribe();
390+
});
391+
})
392+
});
393+
394+
popup();
384395
},
385396
386397
openDiscountPopup( reference, type ) {

resources/ts/popups/ns-pos-order-type-popup.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default {
3939
methods: {
4040
resolveIfQueued,
4141
42-
select( type ) {
42+
async select( type ) {
4343
const index = this.types.indexOf( type );
4444
this.types.forEach( type => type.selected = false );
4545
this.types[ index ].selected = true;
@@ -52,7 +52,7 @@ export default {
5252
* that are registered within
5353
* the orderType queue
5454
*/
55-
POS.triggerOrderTypeSelection( selectedType );
55+
await POS.triggerOrderTypeSelection( selectedType );
5656
5757
this.resolveIfQueued( selectedType );
5858
}

0 commit comments

Comments
 (0)