import { AfterViewChecked, Component, ElementRef, EventEmitter, Injector, Output, ViewChild } from '@angular/core'; import { AppConsts } from '@shared/AppConsts'; import { AppComponentBase } from '@shared/common/app-component-base'; import { TagTypeServiceProxy, CreateTagInput, TagServiceProxy, TagTypeListDto, ShippingPackageListDto, OrderServiceProxy, ShippingPackageServiceProxy, CreateOrderPackageInput, OrderListDto, OrderPackageServiceProxy, OrderPackageListDto, UpdateOrderInput, UpdateOrderPackageInput} from '@shared/service-proxies/service-proxies'; import { ModalDirective } from 'ngx-bootstrap'; import * as _ from 'lodash'; import { finalize } from 'rxjs/operators'; import { OrderList } from 'primeng/primeng'; @Component({ selector: 'updateOrderPackageModal', templateUrl: './update-order-package-modal.component.html' }) export class UpdateOrderPackageModalComponent extends AppComponentBase { @ViewChild('createOrEditModal', {static: false}) modal: ModalDirective; @Output() modalSave: EventEmitter = new EventEmitter(); active = false; saving = false; orderPackage: OrderPackageListDto = new OrderPackageListDto(); package: ShippingPackageListDto = new ShippingPackageListDto(); orderPackageUpdate: UpdateOrderPackageInput = new UpdateOrderPackageInput(); packageFilter: ShippingPackageListDto = new ShippingPackageListDto(); filteredPackage: any; orderFilter: OrderListDto = new OrderListDto(); filteredOrder: any; packageId:number; orderId:number; constructor( injector: Injector, private _orderAppService: OrderServiceProxy, private _tagAppService: TagServiceProxy, private _packageAppService: ShippingPackageServiceProxy, private _orderPackageAppService: OrderPackageServiceProxy ) { super(injector); } // show(): void { // this.orderPackage = new CreateOrderPackageInput(); // this.package = new ShippingPackageListDto(); // this.orderFilter = new OrderListDto(); // // console.log(this.orderStatusType); // this.active = true; // this.modal.show(); // } show(orderPackage): void { this.orderPackage = orderPackage; this.getSelected(orderPackage.orderId); this.orderId = this.orderPackage.orderId; this.packageId = this.orderPackage.packageId; // console.log(this.orderStatusType); this.active = true; this.modal.show(); } onShown(): void { $('.kt-select2').select2({ placeholder: "Select.." }); this.filterPackage(); this.filterOrder(); // document.getElementById('Code').focus(); } save(): void { this.saving = true; this.orderPackageUpdate.id = this.orderPackage.id; this.orderPackageUpdate.orderId = Number((document.getElementById('Order')).value); this.orderPackageUpdate.packageId = Number((document.getElementById('Package')).value); // this.orderPackageUpdate.orderId = this.orderFilter.id; // this.orderPackageUpdate.packageId = this.orderPackage.package.id; this.orderPackageUpdate.quantity = this.orderPackage.quantity; this._orderPackageAppService.updateOrderPackage(this.orderPackageUpdate) .pipe(finalize(() => { this.saving = false; })) .subscribe(() => { this.notify.info(this.l('SavedSuccessfully')); this.close(); this.modalSave.emit(null); }); } close(): void { this.active = false; this.modal.hide(); } filterPackage(): void { this._packageAppService.getShippingPackage( undefined, undefined, undefined, undefined, undefined, undefined ).subscribe(result => { this.filteredPackage = result.items; }); } filterOrder(): void { this._orderAppService.getOrder( undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined ).subscribe(result => { this.filteredOrder = result.items; }); } getSelected(orderId): void { this._orderAppService.getOrder( orderId, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, ).subscribe(result => { this.orderFilter = result.items[0]; }); } }