marketplacepos 2.2.5 → 2.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Marketplace/common.js +46 -0
- package/Marketplace/common.js.map +1 -0
- package/Marketplace/{default-src_app_services_checkbrowser_service_ts-node_modules_angular_forms_fesm2020_forms_mjs.js → default-node_modules_angular_forms_fesm2020_forms_mjs.js} +2 -43
- package/Marketplace/default-node_modules_angular_forms_fesm2020_forms_mjs.js.map +1 -0
- package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js +797 -0
- package/Marketplace/default-node_modules_angular_material_fesm2020_paginator_mjs.js.map +1 -0
- package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js +4632 -0
- package/Marketplace/default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js.map +1 -0
- package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js +6836 -0
- package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_date-e7a231.js.map +1 -0
- package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_slid-566c11.js +722 -0
- package/Marketplace/default-src_app_menu_nav-tab_nav-tab_component_ts-node_modules_angular_material_fesm2020_slid-566c11.js.map +1 -0
- package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js +19951 -0
- package/Marketplace/default-src_app_sharing-module_datepicker_datepicker_component_ts.js.map +1 -0
- package/Marketplace/index.html +2 -2
- package/Marketplace/main.js +161 -161
- package/Marketplace/main.js.map +1 -1
- package/Marketplace/runtime.js +1 -1
- package/Marketplace/runtime.js.map +1 -1
- package/Marketplace/src_app_login_login_module_ts.js +3 -3
- package/Marketplace/src_app_login_login_module_ts.js.map +1 -1
- package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js +1060 -0
- package/Marketplace/src_app_menu_ReportOrder_report_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_channels_channels_module_ts.js +9710 -0
- package/Marketplace/src_app_menu_channels_channels_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_inventory_inventory_module_ts.js +1069 -0
- package/Marketplace/src_app_menu_inventory_inventory_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_logistic_logistic_module_ts.js +232 -0
- package/Marketplace/src_app_menu_logistic_logistic_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_menu_module_ts.js +27869 -86265
- package/Marketplace/src_app_menu_menu_module_ts.js.map +1 -1
- package/Marketplace/src_app_menu_notification_notification_module_ts.js +192 -0
- package/Marketplace/src_app_menu_notification_notification_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_object-log_logs_module_ts.js +1997 -0
- package/Marketplace/src_app_menu_object-log_logs_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_orders_orders_module_ts.js +2449 -0
- package/Marketplace/src_app_menu_orders_orders_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_price_price_module_ts.js +1713 -0
- package/Marketplace/src_app_menu_price_price_module_ts.js.map +1 -0
- package/Marketplace/src_app_menu_products_product_module_ts.js +2196 -0
- package/Marketplace/src_app_menu_products_product_module_ts.js.map +1 -0
- package/Marketplace/styles.css +3 -0
- package/Marketplace/styles.css.map +1 -1
- package/package.json +1 -1
- package/Marketplace/default-src_app_services_checkbrowser_service_ts-node_modules_angular_forms_fesm2020_forms_mjs.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src_app_menu_price_price_module_ts.js","mappings":"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","sources":["./src/app/menu/price/price-pos/price-pos.component.ts","./src/app/menu/price/price-pos/price-pos.component.html","./src/app/menu/price/price-realtime/price-realtime.component.ts","./src/app/menu/price/price-realtime/price-realtime.component.html","./src/app/menu/price/price-routing.module.ts","./src/app/menu/price/price-single-channel/infinite-list-pagination-service/infinite-list-pagination.service.ts","./src/app/menu/price/price-single-channel/price-single-channel.component.ts","./src/app/menu/price/price-single-channel/price-single-channel.component.html","./src/app/menu/price/price.component.ts","./src/app/menu/price/price.component.html","./src/app/menu/price/price.module.ts","./src/app/sharing-module/radio-options/radio-options.ts","./src/app/sharing-module/radio-options/radio-options.html","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { HttpService } from '../../../services/http.service';\r\nimport { Data } from '../../../model/Data';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ScanDialogComponent } from '../../products/scan-dialog/scan-dialog.component';\r\nimport { ModalUpdateChannelsComponent } from '../../inventory/inventory-pos/modal-update-channels/modal-update-channels.component';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Channel } from 'src/app/model/Channel';\r\n\r\n@Component({\r\n selector: 'app-price-pos',\r\n templateUrl: './price-pos.component.html',\r\n styleUrls: ['./price-pos.component.scss']\r\n})\r\nexport class PricePosComponent implements OnInit {\r\n\r\n Channel: any;\r\n filter: {\r\n ID: string,\r\n IsMarketplaceAppActive: boolean,\r\n PageNumber: number,\r\n RowCount: number,\r\n ScanFull : any\r\n }\r\n loading: boolean = false;\r\n data: Data[];\r\n info: any;\r\n pageData: any;\r\n filterModel : any;\r\n Options : any;\r\n constructor(private http: HttpService, private toastr: ToastrService,public dialog: MatDialog) {\r\n this.LoaderChannel();\r\n this.Options = [\r\n { Key : 1, Value : \"All\"},\r\n { Key : 3, Value : \"Difference\"}\r\n ];\r\n this.filterModel = 1;\r\n this.pageData = {\r\n Title: \"Price\",\r\n Nav: [\r\n { Title: 'Price Cache', Url: '/menu/price', Active: true },\r\n { Title: 'Price Realtime', Url: '/menu/price/realtime', Active: false }\r\n ]\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n LoaderChannel(): void {\r\n this.http.post<any>('/api/PriceLoader/LoadMultiple', {}).subscribe(result => {\r\n this.Channel = result.Options.Channel;\r\n this.filter = result.Filter;\r\n this.Filter();\r\n })\r\n }\r\n\r\n /**\r\n * Opens the scan dialog and pass the Channel list and the filter variable\r\n * It will return the modified filter and will run the scan function that the user has selected (full or quick)\r\n */\r\n openScanDialog(){\r\n const dialogRef = this.dialog.open(ScanDialogComponent, {\r\n data: {\r\n filter: this.filter,\r\n Channel: this.Channel\r\n },\r\n width: '30%'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n this.filter = result.filter; \r\n this.RefreshChannel();\r\n }\r\n });\r\n \r\n }\r\n\r\n RefreshChannel(): void {\r\n let params = {\r\n ID : this.filter.ID,\r\n ScanFull : this.filter.ScanFull\r\n }\r\n this.http.post<any>('/api/product/ScanOptimized', params).subscribe(result => {\r\n this.info = result.Data;\r\n this.Filter();\r\n this.toastr.success(\"Successfully scanned from \" + this.getChannelName(this.filter.ID), \"Success\");\r\n })\r\n}\r\n\r\n Filter(event?:any): void {\r\n let params = {\r\n text : event,\r\n filterModel : this.filterModel,\r\n PageNumber : this.filter.PageNumber,\r\n RowCount : this.filter.RowCount\r\n }\r\n this.http.post<any>('/api/Price/GetMultipleChannelComparison', params).subscribe(result => {\r\n this.data = result.Data;\r\n })\r\n }\r\n\r\n UpdatePrice(): void {\r\n let listSelected: any[] = this.getSelected();\r\n if (listSelected.length > 0) {\r\n\r\n let Request: any[] = [];\r\n listSelected.forEach(m => Request.push({\r\n ID : m.ID,\r\n Code : m.Code,\r\n Price : m.UnitPrice\r\n }));\r\n\r\n var selectedID : any[] = [];\r\n for ( let ch of this.Channel){\r\n if (ch.selected){\r\n selectedID.push(ch.ID);\r\n }\r\n }\r\n\r\n let params = {\r\n ListChannelID: selectedID,\r\n ListPrice: Request\r\n }\r\n this.http.post<any>('/api/Price/UpdateChannel', params).subscribe(result => {\r\n this.info = result.Data;\r\n this.Filter();\r\n this.toastr.success(\"Successfully updated \" + params.ListPrice.length +\" items in \" + params.ListChannelID.length + \" channels\" , \"Success\" );\r\n\r\n })\r\n }\r\n\r\n }\r\n\r\n getSelected(): any[] {\r\n let listvariant = Array();\r\n if (this.data) {\r\n\r\n for (let p of this.data) {\r\n for (let v of p.Variants) {\r\n if (v.selected) {\r\n listvariant.push(v);\r\n }\r\n }\r\n }\r\n return listvariant;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n\r\n hasSelection(): boolean {\r\n if (this.data) {\r\n let selected = this.getSelected();\r\n if (selected.length > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n UpdatePriceByVariant(item: any): void {\r\n let params = {\r\n ID: item.ChannelID,\r\n ChannelItemID: item.ChannelItemID,\r\n ChannelVariantID: item.ChannelVariationID,\r\n Price: item.Price - 0,\r\n VariantID: item.ID\r\n }\r\n this.http.post<any>('/api/Price/UpdatePriceByID', params).subscribe(result => {\r\n this.info = result.Data;\r\n this.toastr.success(\"Successfully updated \" + item.ItemName + '(' + item.VarName + \") price in \" + this.getChannelName(params.ID) + \" to \" + params.Price , \"Success\" );\r\n this.Filter();\r\n })\r\n }\r\n\r\n //Function: getChannelName() will return the Channel's name based on the ID given as input\r\n getChannelName(ID: string) {\r\n let channel = this.Channel.find(x => x.ID == ID);\r\n return channel.Name;\r\n }\r\n\r\n public onUpdateItems() {\r\n const selectedItems = this.getSelected();\r\n this.dialog.open(ModalUpdateChannelsComponent, {\r\n data: {\r\n selectedItems: selectedItems,\r\n channels: this.Channel\r\n },\r\n width: '40%'\r\n })\r\n .afterClosed()\r\n .pipe(filter(val => val !== undefined))\r\n .subscribe((channels: Channel) => {\r\n this.Channel = channels;\r\n this.UpdatePrice();\r\n })\r\n }\r\n\r\n}\r\n","<mainpanel [Title]=\"'Price Comparison'\" [pageData]=\"pageData\" [hideSearchBox]=\"false\" [hideSearchDropdown]=\"false\"\r\n [textButton]=\"'Search'\" (onSubmit)=\"Filter($event)\">\r\n\r\n <filters>\r\n <div container>\r\n <div>\r\n <h6>Filter by</h6>\r\n <radio-options [(model)]=\"filterModel\" [options]=\"Options\" name=\"filterModel\" [border]=\"false\">\r\n </radio-options>\r\n </div>\r\n </div>\r\n </filters>\r\n\r\n <actions>\r\n <div class=\"d-flex\">\r\n <div>\r\n <button type=\"button\" data-cy=\"scanInPos\" class=\"btn btn-outline-secondary shadow rounded me-3\"\r\n (click)=\"openScanDialog()\"><i class=\"fas fa-lg fa-crosshairs\"></i>\r\n Scan Channel\r\n </button>\r\n\r\n <button type=\"button\" class=\"btn btn-success shadow rounded\" data-toggle=\"modal\"\r\n [hidden]=\"!hasSelection()\" (click)=\"onUpdateItems()\"><i class=\"fas fa-chevron-circle-up\"></i>\r\n Update\r\n </button>\r\n </div>\r\n </div>\r\n </actions>\r\n\r\n <content>\r\n <div class=\"container-fluid mt-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <app-table table=\"price\" [data]=\"data\" [channel]=\"Channel\" (onSubmit)=\"UpdatePriceByVariant($event)\"\r\n [filter]=\"filter\"></app-table>\r\n </div>\r\n </div>\r\n </div>\r\n </content>\r\n</mainpanel>","import { Component, OnInit } from '@angular/core';\r\nimport { HttpService } from '../../../services/http.service';\r\nimport { Data } from '../../../model/Data';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ModalUpdateChannelsComponent } from '../../inventory/inventory-pos/modal-update-channels/modal-update-channels.component';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Channel } from 'src/app/model/Channel';\r\n\r\n@Component({\r\n selector: 'app-price-realtime',\r\n templateUrl: './price-realtime.component.html',\r\n styleUrls: ['./price-realtime.component.scss']\r\n})\r\nexport class PriceRealtimeComponent implements OnInit {\r\n\r\n Channel : any;\r\n filter : any = {\r\n ChannelID : \"\"\r\n };\r\n loading : boolean = false;\r\n filterModel : any;\r\n data : Data[];\r\n info:any;\r\n pageData :any;\r\n checkboxState: boolean = false; \r\n Options : any;\r\n constructor(private http: HttpService, private toastr: ToastrService, public dialog: MatDialog) {\r\n this.LoaderChannel();\r\n this.Options = [\r\n { Key : 1, Value : \"All\"},\r\n { Key : 3, Value : \"Difference\"}\r\n ]; \r\n this.filterModel = 1;\r\n this.pageData = {\r\n Title : \"Price Realtime\",\r\n Nav : [\r\n { Title : 'Price Cache' , Url : '/menu/price', Active : false}\r\n ]\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n \r\n LoaderChannel(): void {\r\n this.http.post<any>('/api/PriceLoader/LoadMultiple', {}).subscribe(result => {\r\n this.Channel = result.Options.Channel;\r\n this.filter = result.Filter;\r\n this.filter.HiddenIPOSInventory = false;\r\n this.Filter();\r\n })\r\n }\r\n\r\n onCheckboxStateChange(): void {\r\n for(let item of this.data)\r\n {\r\n for(let v of item.Variants)\r\n {\r\n v.selected = this.checkboxState\r\n }\r\n }\r\n }\r\n\r\n getSelected(): any[] {\r\n let listvariant = Array();\r\n if (this.data) {\r\n\r\n for (let p of this.data) {\r\n for (let v of p.Variants) {\r\n if (v.selected) {\r\n listvariant.push(v);\r\n }\r\n }\r\n }\r\n return listvariant;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n\r\n hasSelection(): boolean {\r\n if (this.data) {\r\n let selected = this.getSelected();\r\n if (selected.length > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n \r\n Filter(event?:any): void {\r\n let params = {\r\n text : event,\r\n filterModel : this.filterModel,\r\n PageNumber : this.filter.PageNumber,\r\n RowCount : this.filter.RowCount\r\n }\r\n this.http.post<any>('/api/Price/GetOutletPrice', params).subscribe(result=>{\r\n this.data = result.Data;\r\n })\r\n }\r\n\r\n UpdatePrice(): void {\r\n let listSelected: any[] = this.getSelected();\r\n if (listSelected.length > 0) {\r\n\r\n let listIds: any[] = [];\r\n listSelected.forEach(m => listIds.push(m.ID));\r\n\r\n var selectedID : any[] = [];\r\n for ( let ch of this.Channel){\r\n if (ch.selected){\r\n selectedID.push(ch.ID);\r\n }\r\n }\r\n\r\n let params = {\r\n ListChannelID: selectedID,\r\n ListID: listIds\r\n }\r\n this.http.post<any>('/api/Price/UpdateChannelOutletPrice', params).subscribe(result => {\r\n this.info = result.Data;\r\n this.Filter();\r\n this.toastr.success(\"Successfully updated \" + params.ListID.length +\" items in \" + params.ListChannelID.length + \" channels\" , \"Success\" );\r\n })\r\n }\r\n\r\n }\r\n\r\n getItemFromChannel(v: any, ID: string) {\r\n return v.Channel.find(x => x.ChannelID == ID);\r\n }\r\n\r\n Actual(item: any) {\r\n return item.Price;\r\n }\r\n\r\n Expected(item: any) {\r\n return item.PriceExpected;\r\n }\r\n\r\n UpdatePriceByVariant(ChannelItemID : any,ChannelVariantID:any,Price:any,VariantID:any): void\r\n {\r\n let params = {\r\n ID : this.filter.ChannelID,\r\n ChannelItemID : ChannelItemID,\r\n ChannelVariantID : ChannelVariantID,\r\n Price : Price,\r\n VariantID : VariantID,\r\n }\r\n this.http.post<any>('/api/Price/UpdatePriceByID',params).subscribe(result=>{\r\n this.toastr.success(result.Data , \"Success\", {\r\n closeButton: true,\r\n positionClass : \"toast-bottom-right\"\r\n });\r\n\r\n for(let p of this.data)\r\n {\r\n if(p.ChannelItemID === ChannelItemID)\r\n {\r\n for(let v of p.Variants)\r\n {\r\n if(v.ChannelVariationID == ChannelVariantID)\r\n {\r\n v.Price = parseFloat(Price);\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n public onUpdateItems() {\r\n const selectedItems = this.getSelected();\r\n this.dialog.open(ModalUpdateChannelsComponent, {\r\n data: {\r\n selectedItems: selectedItems,\r\n channels: this.Channel\r\n },\r\n width: '40%'\r\n })\r\n .afterClosed()\r\n .pipe(filter(val => val !== undefined))\r\n .subscribe((channels: Channel) => {\r\n this.Channel = channels;\r\n this.UpdatePrice();\r\n })\r\n }\r\n}\r\n","<mainpanel [Title]=\"'Price Comparison'\" [pageData]=\"pageData\" [hideSearchBox]=\"false\" [hideSearchDropdown]=\"false\"\r\n[textButton]=\"'Search'\" (onSubmit)=\"Filter($event)\">\r\n\r\n<filters>\r\n <div container>\r\n <div>\r\n <h6>Filter by</h6>\r\n <radio-options [(model)]=\"filterModel\" [options]=\"Options\" name=\"filterModel\" [border]=\"false\">\r\n </radio-options>\r\n </div>\r\n </div>\r\n</filters>\r\n\r\n <actions>\r\n <div class=\"d-flex\">\r\n <button type=\"button\" class=\"btn btn-success shadow rounded\" data-toggle=\"modal\"\r\n [hidden]=\"!hasSelection()\" (click)=\"onUpdateItems()\"><i class=\"fas fa-chevron-circle-up\"></i>\r\n Update\r\n </button>\r\n </div>\r\n </actions>\r\n\r\n <content>\r\n <div class=\"container-fluid mt-3\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table\">\r\n <thead class=\"thead-light sticky-top-thead\">\r\n <tr>\r\n <th colspan=\"5\"></th>\r\n <th scope=\"col\" *ngFor=\"let ch of Channel\" colspan=\"2\"\r\n class=\"text-center border-bottom-0 border w-10 text-uppercase\">{{ch.Name}}</th>\r\n </tr>\r\n <tr>\r\n <th scope=\"col\" class=\"text-center w-20\" colspan=\"2\">Product</th>\r\n <th scope=\"col\" class=\"text-start \">Variant</th>\r\n <th scope=\"col\" class=\"text-start w-10 \">SKU</th>\r\n <th [hidden]=\"filter.HiddenIPOSInventory\"> <input type=\"checkbox\" [(ngModel)]=\"checkboxState\" (ngModelChange)=\"onCheckboxStateChange()\" />\r\n </th>\r\n <ng-container *ngFor=\"let ch of Channel\">\r\n <th class=\"text-end border-top-0 border w-10\">\r\n Expected (POS)\r\n </th>\r\n <th class=\"text-end border-top-0 border w-10\">\r\n Channel\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody *ngFor=\"let item of data\">\r\n <tr *ngFor=\"let v of item.Variants; let i = index\">\r\n <ng-container *ngIf=\"i == 0\">\r\n <td [rowSpan]=\"item?.Variants.length\" class=\"text-center\" [ngClass]=\"{'border-bottom': (i+1) == data.length}\">\r\n <img *ngIf=\"item?.ImageUrl; else elsePic\" class=\"border rounded w-img\"\r\n src=\"{{item?.ImageUrl}}\" />\r\n <ng-template #elsePic>\r\n <img class=\"border rounded w-img\"\r\n src=\"//res.cloudinary.com/pos/image/upload/w_40/POS/Images/Icon/products_thumb.png\" />\r\n </ng-template>\r\n </td>\r\n <td [rowSpan]=\"item?.Variants.length\" class=\"text-center border-bottom\">\r\n\r\n <h5 class=\"mb-0 item-name\">{{item?.Name}}</h5>\r\n <br /><small>({{item?.Category}})</small>\r\n </td>\r\n </ng-container>\r\n <td class=\"text-start border-bottom\">{{v?.Model}}</td>\r\n <td class=\"text-start border-bottom\">{{v?.Code}}</td>\r\n <td class=\"align-middle\" [hidden]=\"filter.HiddenIPOSInventory\">\r\n <input type=\"checkbox\" [(ngModel)]=\"v.selected\" />\r\n </td>\r\n <ng-container *ngFor=\"let ch of Channel\">\r\n <ng-container *ngIf=\"getItemFromChannel(v,ch.ID); let obj; else elseCol;\">\r\n <td class=\"text-end border pointer cell-hover\">\r\n {{ obj.PriceExpected | number}} \r\n </td>\r\n <td class=\"text-end border pointer cell-hover\" [ngClass]=\"{'bg-err': obj.Price != obj.PriceExpected }\">\r\n <div class=\"row justify-content-end me-0\">\r\n <div class=\"col-8 px-0 text-center\">\r\n \r\n {{ obj.Price | number}} <br>\r\n </div>\r\n <div class=\"col-2 ps-0 text-start align-self-center\">\r\n <a [href]=\"obj.Url\" target=\"_blank\"><i\r\n class=\"fas fa-lg fa-external-link-alt\"></i></a>\r\n </div>\r\n </div>\r\n </td>\r\n </ng-container>\r\n <ng-template #elseCol>\r\n <td class=\"table-white border text-end\" style=\"color: red;\">X</td>\r\n <td class=\"table-white border text-end\" style=\"color: red;\">X</td>\r\n </ng-template>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"modal pe-0 ps-5 ms-5\" id=\"ModalScan\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"ModalScan\"\r\n aria-hidden=\"true\">\r\n <div class=\"modal-dialog modal-dialog-centered w-75\">\r\n <div class=\"modal-content w-50\">\r\n <div class=\"modal-header\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\">Update Price from POS to Channel</h5>\r\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body\">\r\n <div>\r\n <h6 class=\"fw-light\">Updating {{getSelected().length}} items <br> <br>\r\n Choose channels to update : <br><br>\r\n </h6>\r\n <ul class=\"no-bullet\">\r\n <li *ngFor=\"let ch of Channel\">\r\n <mat-checkbox [(ngModel)]=\"ch.selected\">\r\n <div class=\"d-flex\">\r\n <h6 class=\"fw-light me-2 my-auto\">{{ch.Name}}</h6>\r\n </div>\r\n </mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close</button>\r\n <button type=\"button\" class=\"btn btn-success\" (click)=\"UpdatePrice()\">Update</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </content>\r\n</mainpanel>","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { PriceComponent } from \"./price.component\";\r\nimport { PricePosComponent } from \"./price-pos/price-pos.component\";\r\nimport { PriceRealtimeComponent } from \"./price-realtime/price-realtime.component\";\r\nimport { PriceSingleChannelComponent } from \"./price-single-channel/price-single-channel.component\";\r\nimport { AuthGuard } from \"src/app/services/auth.guard\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"\",\r\n component: PriceComponent,\r\n children: [\r\n {\r\n path: \"\",\r\n redirectTo: \"SingleChannel\",\r\n pathMatch: \"full\",\r\n },\r\n {\r\n path: \"pos\",\r\n component: PricePosComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Global Price Comparison\" },\r\n },\r\n {\r\n path: \"OutletPrice\",\r\n component: PriceRealtimeComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Outlet Price Comparison\" },\r\n },\r\n {\r\n path: \"SingleChannel\",\r\n component: PriceSingleChannelComponent,\r\n canActivate: [AuthGuard],\r\n data: { title: \"Price Single Channel Comparison\" },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule.forChild(routes)\r\n ]\r\n})\r\nexport class PriceRoutingModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { concatMap, filter, map, scan, shareReplay, tap, withLatestFrom } from 'rxjs/operators';\r\nimport { HttpService } from 'src/app/services/http.service';\r\nimport { FetchDataResponse } from './model/FetchDataResponse';\r\nimport { Pagination } from './model/Pagination';\r\nimport { Product } from './model/Product';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfiniteListPaginationService {\r\n data$: Observable<Product[]>;\r\n fetchDataEndpoint: string;\r\n\r\n /** Notify to fetch data with loader*/\r\n pagination$ = new BehaviorSubject<Pagination>(null);\r\n\r\n footerPageNumber: number;\r\n hideCount: boolean;\r\n disableNextButton: boolean;\r\n goToLastPage: boolean;\r\n\r\n constructor(private http: HttpService) {\r\n this.data$ = this.pagination$.pipe(\r\n filter((pagination: Pagination) => pagination != null),\r\n concatMap((pagination: Pagination) => {\r\n return this.http.post<FetchDataResponse>(`/API/${this.fetchDataEndpoint}`, JSON.stringify(pagination))\r\n .pipe(\r\n map((response: FetchDataResponse) => response.Data),\r\n )\r\n }),\r\n withLatestFrom(this.pagination$),\r\n scan((acc, value) => {\r\n const [previousData, pagination] = acc;\r\n const [nextData] = value;\r\n return pagination.PageNumber == 1 ? [nextData, pagination] : [previousData.concat(nextData), pagination]\r\n }),\r\n tap(([products, pagination]: [Product[], Pagination]) => {\r\n this.setPageNumberFooter(pagination);\r\n this.setPaginationButtonState(pagination, (products).length)\r\n }),\r\n map(([product]) => product as Product[]),\r\n shareReplay()\r\n );\r\n }\r\n\r\n onNextPage(pagination: Pagination) {\r\n pagination.PageNumber += 1;\r\n this.pagination$.next(pagination);\r\n }\r\n\r\n setPageNumberFooter(pagination: Pagination) {\r\n this.footerPageNumber = pagination.PageNumber;\r\n }\r\n\r\n setPaginationButtonState(pagination:Pagination, dataLength: number) {\r\n if (dataLength == 0) {\r\n this.disableNextButton = true;\r\n }\r\n else {\r\n this.disableNextButton = dataLength < pagination.RowCount * pagination.PageNumber ? false : true;\r\n }\r\n }\r\n\r\n resetToFirstPage(pagination: Pagination) {\r\n pagination.PageNumber = 1;\r\n this.pagination$.next(pagination);\r\n this.hideCount = true;\r\n this.goToLastPage = false;\r\n }\r\n\r\n getAllData(pagination: Pagination, totalDataLength: number) {\r\n pagination.RowCount = totalDataLength;\r\n this.pagination$.next(pagination);\r\n this.goToLastPage = true;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { filter, tap } from 'rxjs/operators';\r\nimport { HttpService } from 'src/app/services/http.service';\r\nimport { ScanDialogComponent } from '../../products/scan-dialog/scan-dialog.component';\r\nimport { TableDialogComponent } from '../../table/table-dialog/table-dialog.component';\r\nimport { InfiniteListPaginationService } from './infinite-list-pagination-service/infinite-list-pagination.service';\r\n\r\n@Component({\r\n selector: 'app-price-single-channel',\r\n templateUrl: './price-single-channel.component.html',\r\n styleUrls: ['./price-single-channel.component.scss']\r\n})\r\nexport class PriceSingleChannelComponent implements OnInit {\r\n readonly pageTitle = 'Price Single Channel Comparison'\r\n\r\n toggleDifferentInventory: boolean = false;\r\n\r\n loader$;\r\n readonly loaderEndpoint = 'PriceLoader/Load';\r\n\r\n readonly dataEndpoint = 'Price/GetSingleChannelComparison';\r\n\r\n allDataCount$;\r\n readonly allDataCountEndpoint = 'Inventory/GetInventoryByChannelRowCount'\r\n\r\n\r\n constructor(private http: HttpService, private infPagination: InfiniteListPaginationService,\r\n private toastr: ToastrService, private dialog: MatDialog) { }\r\n\r\n get infP() {\r\n return this.infPagination;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.infP.fetchDataEndpoint = this.dataEndpoint\r\n this.loader$ = this.http.post(`/API/${this.loaderEndpoint}`)\r\n .pipe(\r\n tap((loaderResponse: any) => {\r\n this.infP.resetToFirstPage(loaderResponse.Filter)\r\n })\r\n );\r\n }\r\n onToggleDifferentInventory(loader) {\r\n if (!this.toggleDifferentInventory) {\r\n loader.Filter.filterModel = 3;\r\n }\r\n else {\r\n loader.Filter.filterModel = 1;\r\n }\r\n this.search(loader.Filter)\r\n }\r\n onCheckboxStateProduct(data, id) {\r\n let selectedProduct = data.filter(x => x.ID == id);\r\n if (selectedProduct.length > 0) {\r\n selectedProduct[0].Variants.forEach(v => v.selected = selectedProduct[0].selected)\r\n }\r\n }\r\n openScanDialog(filterVal, loader) {\r\n this.dialog.open(ScanDialogComponent, {\r\n data: {\r\n filter: filterVal,\r\n Channel: loader.Options.Channel\r\n },\r\n width: '30%'\r\n }).afterClosed()\r\n .pipe(\r\n filter(val => val)\r\n )\r\n .subscribe((result: any) => {\r\n this.refreshChannel(loader);\r\n });\r\n }\r\n refreshChannel(loader): void {\r\n\r\n let params = {\r\n ID: loader.Filter.ID,\r\n ScanFull: loader.Filter.ScanFull\r\n }\r\n console.log(loader, params)\r\n this.http.post<any>('/api/product/ScanOptimized', params).subscribe(() => {\r\n this.search(loader.Filter);\r\n this.toastr.success(\"Successfully scanned from \" + this.getChannelName(loader.Options.Channel, params.ID), \"Success\");\r\n })\r\n }\r\n getChannelName(channels, ID: string) {\r\n let channel = channels.find(x => x.ID == ID);\r\n return channel.Name;\r\n }\r\n updateStock(data, filter) {\r\n const selectedList = data\r\n let requestList = []\r\n selectedList.forEach(i => i.Variants.filter(v => v.selected)?.forEach(v => {\r\n const obj = {\r\n ID: v.ID,\r\n ChannelID: v.Channel[0].ChannelID,\r\n Code: v.Code,\r\n Price: v.UnitPrice\r\n }\r\n requestList.push(obj)\r\n }))\r\n\r\n let reqPayload = {\r\n ListChannelID: [filter.ID],\r\n ListPrice: requestList\r\n }\r\n this.http.post<any>('/api/Price/UpdateChannel', reqPayload).subscribe(() => {\r\n this.search(filter);\r\n this.toastr.success(\"Successfully updated \" + reqPayload.ListPrice.length + \" variants in \" + reqPayload.ListChannelID.length + \" channels\", \"Success\");\r\n })\r\n }\r\n getSelectedProduct(data) {\r\n return data.filter(d => d.selected)\r\n }\r\n /**\r\n * Function called in search button\r\n * Set pageNumber to the first page\r\n * @param filter \r\n */\r\n search(filter) {\r\n this.infP.resetToFirstPage(filter)\r\n }\r\n getAllDataCount(filter) {\r\n this.infP.hideCount = false;\r\n //TODO: Error handling to set hideCount back to true\r\n this.allDataCount$ = this.http.post<any>(`/API/${this.allDataCountEndpoint}`, filter);\r\n }\r\n nextPage(filter) {\r\n this.infP.onNextPage(filter);\r\n }\r\n getAllData(filter) {\r\n this.http.post(`/API/${this.allDataCountEndpoint}`, filter)\r\n .subscribe({\r\n next: (response: { Total: number }) => {\r\n this.infP.getAllData(filter, response.Total);\r\n }\r\n })\r\n }\r\n openTableDialog(name: string, item: any, ID: string, ChannelItemID: string, data, loader) {\r\n const dialogRef = this.dialog.open(TableDialogComponent, {\r\n data: {\r\n Name: name,\r\n Variant: item,\r\n ChannelID: ID,\r\n Table: 'price',\r\n ChannelItemID: ChannelItemID\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result != null) {\r\n this.updateItemAfterDialog(result, data, loader);\r\n }\r\n\r\n });\r\n }\r\n updateItemAfterDialog(item: any, data, loader): void {\r\n let params = {\r\n ID: item.ChannelID,\r\n ChannelItemID: item.ChannelItemID,\r\n ChannelVariantID: item.ChannelVariationID,\r\n Price: parseFloat(item.Price),\r\n VariantID: item.ID,\r\n SKU: item.Sku\r\n }\r\n this.http.post('/api/Price/UpdatePriceByID', params).subscribe(result => {\r\n this.toastr.success(\"Successfully updated \" + item.ItemName + '(' + item.VarName + \") inventory in \" + this.getChannelName(loader.Options.Channel, params.ID) + \" to \" + params.Price, \"Success\");\r\n })\r\n }\r\n onSelectAllSKU(checked, data) {\r\n data.forEach(d => d.Variants.forEach(v => v.selected = checked))\r\n }\r\n}\r\n","<mainpanel *ngIf=\"loader$ | async as loader\" [Title]=\"pageTitle\" [(text)]=\"loader.Filter.text\" (onSubmit)=\"search(loader.Filter)\">\r\n <filters>\r\n <div container>\r\n <!-- <div>\r\n <label>Page Number</label>\r\n <input type=\"number\" [(ngModel)]=\"loader.Filter.PageNumber\"/>\r\n </div> -->\r\n <div>\r\n <label>Page Size</label>\r\n <input type=\"number\" [(ngModel)]=\"loader.Filter.RowCount\"/>\r\n </div>\r\n </div>\r\n </filters>\r\n <actions *ngIf=\"infP.data$ | async as data\">\r\n <div class=\"d-flex\">\r\n <div>\r\n <button type=\"button\" data-cy=\"scanInPos\" class=\"btn btn-outline-secondary shadow rounded me-3\"\r\n (click)=\"openScanDialog(loader.Filter, loader)\"><i class=\"fas fa-lg fa-crosshairs\"></i>\r\n Channel\r\n </button>\r\n <button class=\"btn btn-success\" (click)=\"updateStock(data, loader.Filter)\">\r\n <i class=\"fas fa-chevron-circle-up\"></i> Update\r\n </button>\r\n </div>\r\n </div>\r\n <div>\r\n \r\n </div>\r\n <div>\r\n \r\n </div>\r\n </actions>\r\n <content *ngIf=\"infP.data$ | async as data\">\r\n <div class=\"container-fluid mt-5\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table\">\r\n <thead class=\"thead-light sticky-top-thead\">\r\n <tr>\r\n <th class=\"text-center\" colspan=\"2\">\r\n Product\r\n <div>\r\n <mat-slide-toggle [(ngModel)]=\"toggleDifferentInventory\" name=\"differentInventory\" (toggleChange)=\"onToggleDifferentInventory(loader)\">\r\n <small class=\"font-weight-bold\">Filter Different Inventory</small>\r\n </mat-slide-toggle>\r\n </div>\r\n </th>\r\n <th class=\"text-left\">Variant</th>\r\n <th class=\"text-right\">SKU</th>\r\n <th>\r\n <input type=\"checkbox\"\r\n class=\"me-3\"\r\n (change)=\"onSelectAllSKU($event.target.checked, data)\" />\r\n </th>\r\n <th class=\"text-right\">POS</th>\r\n <th>\r\n <ng-select [clearable]=\"false\" [(ngModel)]=\"loader.Filter.ID\" name=\"channelOption\" (change)=\"search(loader.Filter)\">\r\n <ng-option *ngFor=\"let c of loader.Options.Channel\" [value]=\"c.ID\"><img src=\"{{c.Img}}\" style=\"width:18px;margin-right:10px\"/>{{c.Name}}</ng-option>\r\n </ng-select>\r\n </th>\r\n <th></th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let row of data\">\r\n <tr *ngFor=\"let v of row.Variants; let i = index\">\r\n <ng-container *ngIf=\"i == 0\">\r\n <td [rowSpan]=\"row.Variants.length\" class=\"text-center\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n <input *ngIf=\"v.Inventory >= 0 || row.Variants.length > 1\" type=\"checkbox\"\r\n [(ngModel)]=\"row.selected\" class=\"me-3\"\r\n (ngModelChange)=\"onCheckboxStateProduct(data, row.ID)\" />\r\n <img *ngIf=\"row.ThumbnailUrl; else elsePic\" class=\"border rounded w-img\"\r\n src=\"{{row.ThumbnailUrl}}\" />\r\n <ng-template #elsePic><img class=\"border rounded w-img\"\r\n src=\"//res.cloudinary.com/pos/image/upload/w_40/POS/Images/Icon/products_thumb.png\" />\r\n </ng-template>\r\n </div>\r\n </td>\r\n <td [rowSpan]=\"row.Variants.length\" class=\"text-center\">\r\n <span class=\"item-name mb-0\">{{row.Name}}</span>\r\n <br /><small>({{row.Category}})</small>\r\n </td>\r\n </ng-container>\r\n <td class=\"text-left\">{{v.Model}}</td>\r\n <td class=\"text-right\">\r\n {{v.Code}}\r\n </td>\r\n <td class=\"align-middle\">\r\n <input type=\"checkbox\" *ngIf=\"v.Inventory >= 0\" [(ngModel)]=\"v.selected\" />\r\n </td>\r\n <td class=\"text-right\">\r\n {{v.UnitPrice | number}}\r\n </td>\r\n <td class=\"text-center\" *ngIf=\"v.Channel.length > 0\"\r\n [ngClass]=\"{'bg-err': v.UnitPrice != v.Channel[0].Price }\">\r\n <div class=\"row justify-content-end me-0\">\r\n <div class=\"col-8 px-0 text-center\" style=\"cursor: pointer;\"\r\n (click)=\"openTableDialog(row.Name, v, v?.Channel[0].ChannelID, v.Channel[0].ChannelItemID, data, loader)\">\r\n {{v.Channel[0].Price | number}}\r\n </div>\r\n <div class=\"col-2 ps-0 text-left align-self-center\">\r\n <a [href]=\"v.Channel[0].Url\" target=\"_blank\"><i\r\n class=\"fas fa-lg fa-external-link-alt\"></i></a>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n <div class=\"d-flex justify-content-between mt-5\">\r\n <div class=\"me-auto d-sm-block collapse mt-3\">\r\n <div class=\"font-weight-bold font-italic hidden-xxs\">\r\n Showing 1 -\r\n {{ data?.length | number}}\r\n of <span style=\"cursor:pointer\" *ngIf=\"infP.hideCount\"\r\n (click)=\"getAllDataCount(loader.Filter)\"><i\r\n title=\"Retreive rows count\" class=\"border p-3\">?</i> </span>\r\n <span\r\n *ngIf=\"!infP.hideCount && allDataCount$ | async as allDataCount\">{{ allDataCount.Total | number\r\n }}</span> records ~\r\n {{infP.footerPageNumber}} Page\r\n </div>\r\n </div>\r\n <div class=\"btn-group\">\r\n <a role=\"button\" class=\"btn btn-outline-secondary btn-sm text-primary\"\r\n *ngIf=\"infP.disableNextButton && !infP.goToLastPage\" (click)=\"nextPage(loader.Filter)\"\r\n title=\"Load more for 20 products\"><i class=\"fas fa-arrow-right\"></i>\r\n Next</a>\r\n <a role=\"button\" class=\"btn btn-outline-secondary btn-sm text-primary\"\r\n *ngIf=\"infP.disableNextButton && !infP.goToLastPage\"\r\n (click)=\"getAllData(loader.Filter)\"\r\n title=\"Load all products\"><i class=\"fas fa-share\"></i> Last</a>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n </content>\r\n</mainpanel>","import { Component, OnInit } from '@angular/core';\r\nimport { HttpService } from '../../services/http.service';\r\nimport { Data } from '../../model/Data';\r\n\r\n\r\n@Component({\r\n selector: 'app-price',\r\n templateUrl: './price.component.html',\r\n styleUrls: ['./price.component.scss']\r\n})\r\nexport class PriceComponent implements OnInit {\r\n priceTabs : any = [\r\n { Title : 'Price Single Channel' , Url : '/menu/price/SingleChannel' },\r\n { Title : 'POS vs Channel Price' , Url : '/menu/price/pos' },\r\n { Title : 'Custom Channel Price' , Url : '/menu/price/OutletPrice' }\r\n ];\r\n\r\n constructor(){\r\n }\r\n\r\n ngOnInit(){\r\n }\r\n \r\n\r\n}\r\n","<nav class=\"navbar page-nav navbar-default py-0 navbar-expand-lg\">\r\n <div class=\"container-fluid \">\r\n <div>\r\n <!-- add nav-tab here -->\r\n <nav-tab [Tabs]=\"priceTabs\"></nav-tab>\r\n </div>\r\n </div>\r\n</nav>\r\n<router-outlet></router-outlet>\r\n\r\n","import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PricePosComponent } from './price-pos/price-pos.component';\r\nimport { PriceRealtimeComponent } from './price-realtime/price-realtime.component';\r\nimport { PriceSingleChannelComponent } from './price-single-channel/price-single-channel.component';\r\nimport { NavTabModule } from '../nav-tab/nav-tab.component';\r\nimport { MainPanelModule } from '../main-panel/main-panel.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { PriceComponent } from './price.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { PriceRoutingModule } from './price-routing.module';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { RadioOptionsModule } from 'src/app/sharing-module/radio-options/radio-options';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NavTabModule,\r\n MainPanelModule,\r\n RouterModule,\r\n NgSelectModule,\r\n PriceRoutingModule,\r\n ReactiveFormsModule,\r\n MatSlideToggleModule,\r\n RadioOptionsModule,\r\n MatCheckboxModule\r\n ],\r\n declarations: [\r\n PriceComponent,\r\n PricePosComponent,\r\n PriceRealtimeComponent,\r\n PriceSingleChannelComponent\r\n ],\r\n schemas: [NO_ERRORS_SCHEMA]\r\n})\r\nexport class PriceModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, Input, Output, EventEmitter, NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\n\r\n@Component({\r\n selector: 'radio-options',\r\n templateUrl: './radio-options.html',\r\n styleUrls: ['./radio-options.scss']\r\n})\r\nexport class RadioOptionsComponent {\r\n @Input() model: number | string;\r\n @Output() modelChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Input() options: Array<any>;\r\n @Input() border?: boolean = false;\r\n @Input() name: string;\r\n @Input() tooltipsText: any[] = [];\r\n\r\n change(event): void {\r\n this.modelChange.emit(event);\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MatRadioModule,\r\n FormsModule\r\n ],\r\n declarations: [RadioOptionsComponent],\r\n exports: [RadioOptionsComponent]\r\n})\r\nexport class RadioOptionsModule { }\r\n\r\n","<div class=\"form-control h-100\" [ngClass]=\"{'border-0': border == false}\">\r\n <mat-radio-group [ngModel]=\"model\" (ngModelChange)=\"change($event)\">\r\n <mat-radio-button *ngFor=\"let item of options; let index = index\" [value]=\"item.Key\" [name]=\"name\" class=\"me-5\" [title]=\"tooltipsText[index] ? tooltipsText[index] : ''\"\r\n data-toggle=\"tooltip\" data-placement=\"right\">\r\n {{item.Value}}</mat-radio-button>\r\n </mat-radio-group>\r\n</div>","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, noop));\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n"],"names":["filter","tap","ScanDialogComponent","TableDialogComponent","i0","_r27","ChannelID","v_r20","ChannelItemID","data_r10","loader_r1","PriceSingleChannelComponent","constructor","http","infPagination","toastr","dialog","infP","ngOnInit","fetchDataEndpoint","dataEndpoint","loader$","post","loaderEndpoint","pipe","loaderResponse","resetToFirstPage","Filter","onToggleDifferentInventory","loader","toggleDifferentInventory","filterModel","search","onCheckboxStateProduct","data","id","selectedProduct","x","ID","length","Variants","forEach","v","selected","openScanDialog","filterVal","open","Channel","Options","width","afterClosed","val","subscribe","result","refreshChannel","params","ScanFull","console","log","success","getChannelName","channels","channel","find","Name","updateStock","selectedList","requestList","i","obj","Code","Price","UnitPrice","push","reqPayload","ListChannelID","ListPrice","getSelectedProduct","d","getAllDataCount","hideCount","allDataCount$","allDataCountEndpoint","nextPage","onNextPage","getAllData","next","response","Total","openTableDialog","name","item","dialogRef","Variant","Table","updateItemAfterDialog","ChannelVariantID","ChannelVariationID","parseFloat","VariantID","SKU","Sku","ItemName","VarName","onSelectAllSKU","checked","selectors","decls","vars","consts","template","operate","createOperatorSubscriber","innerFrom","identity","noop","popResultSelector","withLatestFrom","inputs","project","source","subscriber","len","otherValues","Array","hasValue","map","ready","value","every","values"],"sourceRoot":"webpack:///"}
|