{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/_directives/alert.component.html","webpack:///./src/app/_directives/alert.component.ts","webpack:///./src/app/_directives/index.ts","webpack:///./src/app/_guards/auth.guard.ts","webpack:///./src/app/_guards/index.ts","webpack:///./src/app/_helpers/fake-backend.ts","webpack:///./src/app/_helpers/index.ts","webpack:///./src/app/_helpers/jwt.interceptor.ts","webpack:///./src/app/_models/flexibenefit.ts","webpack:///./src/app/_models/fragmences.ts","webpack:///./src/app/_models/orders.ts","webpack:///./src/app/_services/alert.service.ts","webpack:///./src/app/_services/authentication.service.ts","webpack:///./src/app/_services/flexibenefit.service.ts","webpack:///./src/app/_services/index.ts","webpack:///./src/app/_services/orders.service.ts","webpack:///./src/app/_services/user.service.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/appdown/appdown.component.html","webpack:///./src/app/appdown/appdown.component.ts","webpack:///./src/app/currency-input-mask.directive.ts","webpack:///./src/app/forgotpassword/forgotPassword.component.html","webpack:///./src/app/forgotpassword/forgotPassword.component.ts","webpack:///./src/app/forgotpassword/index.ts","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/home/index.ts","webpack:///./src/app/login/index.ts","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/modal/modal.component.css","webpack:///./src/app/modal/modal.component.html","webpack:///./src/app/modal/modal.component.ts","webpack:///./src/app/register/index.ts","webpack:///./src/app/register/register.component.html","webpack:///./src/app/register/register.component.ts","webpack:///./src/app/two-digit-decima-number.directive.ts","webpack:///./src/assets/app.css","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.bd951df4a4a60871ba11.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error('Cannot find module \"' + req + '\".');\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
{{message.text}}
\"","import { Component, OnInit } from '@angular/core';\n\nimport { AlertService } from '../_services/index';\n\n@Component({\n moduleId: module.id.toString(),\n selector: 'alert',\n templateUrl: 'alert.component.html?v=${new Date().getTime()}'\n})\n\nexport class AlertComponent {\n message: any;\n\n constructor(private alertService: AlertService) { }\n\n ngOnInit() {\n this.alertService.getMessage().subscribe(message => { this.message = message; });\n }\n}","export * from './alert.component';","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport {AuthenticationService, UserService} from '../_services/index';\nimport {User} from '../_models/user'\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n currentUser:User;\n constructor(private router: Router,private authenticationService:AuthenticationService) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n if (localStorage.getItem('currentUser')) {\n this.currentUser=JSON.parse(localStorage.getItem('currentUser'));\n this.authenticationService.login(this.currentUser.UserName,this.currentUser.Password);\n \n return true;\n }\n console.log(state.url);\n // not logged in so redirect to login page with the return url\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\n return false;\n }\n}","export * from './auth.guard';","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpResponse, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/observable/throw';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/mergeMap';\nimport 'rxjs/add/operator/materialize';\nimport 'rxjs/add/operator/dematerialize';\n\n@Injectable()\nexport class FakeBackendInterceptor implements HttpInterceptor {\n\n constructor() { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // array in local storage for registered users\n let users: any[] = JSON.parse(localStorage.getItem('users')) || [];\n\n // wrap in delayed observable to simulate server api call\n return Observable.of(null).mergeMap(() => {\n\n // authenticate\n if (request.url.endsWith('/api/authenticate') && request.method === 'POST') {\n console.log('hi');\n // find if any user matches login credentials\n let filteredUsers = users.filter(user => {\n return user.username === request.body.username && user.password === request.body.password;\n });\n \n if (filteredUsers.length) {\n // if login details are valid return 200 OK with user details and fake jwt token\n let user = filteredUsers[0];\n let body = {\n id: user.id,\n username: user.username,\n token: 'fake-jwt-token'\n };\n\n return Observable.of(new HttpResponse({ status: 200, body: body }));\n } else {\n // else return 400 bad request\n return Observable.throw('Username or password is incorrect');\n }\n }\n\n // get users\n if (request.url.endsWith('/api/users') && request.method === 'GET') {\n // check for fake auth token in header and return users if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n return Observable.of(new HttpResponse({ status: 200, body: users }));\n } else {\n // return 401 not authorised if token is null or invalid\n return Observable.throw('Unauthorised');\n }\n }\n\n // get user by id\n if (request.url.match(/\\/api\\/users\\/\\d+$/) && request.method === 'GET') {\n // check for fake auth token in header and return user if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n // find user by id in users array\n let urlParts = request.url.split('/');\n let id = parseInt(urlParts[urlParts.length - 1]);\n let matchedUsers = users.filter(user => { return user.id === id; });\n let user = matchedUsers.length ? matchedUsers[0] : null;\n\n return Observable.of(new HttpResponse({ status: 200, body: user }));\n } else {\n // return 401 not authorised if token is null or invalid\n return Observable.throw('Unauthorised');\n }\n }\n\n // create user\n if (request.url.endsWith('/api/users') && request.method === 'POST') {\n // get new user object from post body\n let newUser = request.body;\n\n // validation\n //let duplicateUser = users.filter(user => { return user.username === newUser.username; }).length;\n // if (duplicateUser) {\n // return Observable.throw('Username \"' + newUser.username + '\" is already taken');\n // }\n\n // save new user\n newUser.id = users.length + 1;\n users.push(newUser);\n localStorage.setItem('users', JSON.stringify(users));\n\n // respond 200 OK\n return Observable.of(new HttpResponse({ status: 200 }));\n }\n\n // delete user\n if (request.url.match(/\\/api\\/users\\/\\d+$/) && request.method === 'DELETE') {\n // check for fake auth token in header and return user if valid, this security is implemented server side in a real application\n if (request.headers.get('Authorization') === 'Bearer fake-jwt-token') {\n // find user by id in users array\n let urlParts = request.url.split('/');\n let id = parseInt(urlParts[urlParts.length - 1]);\n for (let i = 0; i < users.length; i++) {\n let user = users[i];\n if (user.id === id) {\n // delete user\n users.splice(i, 1);\n localStorage.setItem('users', JSON.stringify(users));\n break;\n }\n }\n\n // respond 200 OK\n return Observable.of(new HttpResponse({ status: 200 }));\n } else {\n // return 401 not authorised if token is null or invalid\n return Observable.throw('Unauthorised');\n }\n }\n\n // pass through any requests not handled above\n return next.handle(request);\n \n })\n\n // call materialize and dematerialize to ensure delay even if an error is thrown (https://github.com/Reactive-Extensions/RxJS/issues/648)\n .materialize()\n .delay(500)\n .dematerialize();\n }\n}\n\nexport let fakeBackendProvider = {\n // use fake backend in place of Http service for backend-less development\n provide: HTTP_INTERCEPTORS,\n useClass: FakeBackendInterceptor,\n multi: true\n};","export * from './jwt.interceptor';\nexport * from './fake-backend';","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // add authorization header with jwt token if available\n let currentUser = JSON.parse(localStorage.getItem('currentUser'));\n if (currentUser && currentUser.token) {\n request = request.clone({\n setHeaders: { \n Authorization: `Bearer ${currentUser.token}`\n }\n });\n }\n\n return next.handle(request);\n }\n}","export class FlexiBenefits {\r\n // Id: number;\r\n // ReceiptDate: string;\r\n // Category: string;\r\n // NTA: number;\r\n // TA: number;\r\n // FileName: string;\r\n // Status: string;\r\n // CustId: number;\r\n // Attachment: any\r\n fb: any = [];\r\n ClaimEntitlementValue: number=0;\r\n ClaimUtilisationValue: number=0;\r\n AllowedFlexiBenefitLimit :number =0;\r\n IsAdmin:boolean= false;\r\n CreateRequestAllowed:boolean= false;\r\n newFBList: any = [\r\n {Id: 0,\r\n ReceiptDate :'',\r\n Category: '',\r\n NTA: 0.00,\r\n TA: 0.00,\r\n NTAFlag: true,\r\n TAFlag: true,\r\n FileName: '',\r\n Status: '',\r\n CustId: '',\r\n Attachment: File},\r\n {\r\n Id: 0,\r\n ReceiptDate :'',\r\n Category: '',\r\n NTA: 0.00,\r\n TA: 0.00,\r\n NTAFlag: true,\r\n TAFlag: true,\r\n FileName: '',\r\n Status: '',\r\n CustId: '',\r\n Attachment: File\r\n },\r\n {\r\n Id: 0,\r\n ReceiptDate :'',\r\n Category: '',\r\n NTA: 0.00,\r\n TA: 0.00,\r\n NTAFlag: true,\r\n TAFlag: true,\r\n FileName: '',\r\n Status: '',\r\n CustId: '',\r\n Attachment: File\r\n }\r\n ];\r\n CategoryDropDown: any = [];\r\n CategoryDropDownSG: any = [\r\n {\r\n CategoryName: 'Childcare Subsidy Non-Taxable',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Childcare Subsidy Taxable',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Dental',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Health Screening',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Maternity Expenses',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Outpatient Clinical & Specialist',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Traditional Chinese Medicine',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Holiday Trip',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Insurance Coverage',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'IT-related Equipment',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Membership',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Optical / Vision',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Personal Development & Enrichment',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Personal Image',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Professional Subscriptions',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Recreation Activities',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Wellness Package',\r\n NTAFlag: false,\r\n TAFlag: true\r\n }\r\n ];\r\n CategoryDropDownMY: any = [\r\n {\r\n CategoryName: 'Dental',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Maternity Expenses',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Traditional Chinese Medicine',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Holiday Trip',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Insurance Coverage',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Internet Subscriptions',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'IT-related Equipment',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Membership',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Optical / Vision',\r\n NTAFlag: true,\r\n TAFlag: false\r\n },\r\n {\r\n CategoryName: 'Personal Image',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Professional Subscriptions',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Recreation Activities',\r\n NTAFlag: false,\r\n TAFlag: true\r\n },\r\n {\r\n CategoryName: 'Wellness Package',\r\n NTAFlag: false,\r\n TAFlag: true\r\n }\r\n ];\r\n draft: any = [];\r\n done: any = [];\r\n done2: any = [];\r\n adminFBList: any = [];\r\n draftNtaTotal : number;\r\n draftTaTotal : number;\r\n draftGrandTotal : number;\r\n doneNtaTotal :number;\r\n doneTaTotal : number;\r\n doneGrandTotal :number;\r\n doneAdminNtaTotal = 0;\r\n doneAdminTaTotal = 0;\r\n doneAdminGrandTotal = 0;\r\n constructor() { }\r\n\r\n // initializeNewFB() {\r\n // for (let i = 0; i < 10; i++) {\r\n // let newItem = { ReceiptDate: new Date(), Category: \"\", NTA:0,TA:0,Attachment:null }; // Object.assign({}, item);\r\n // this.newFB.push(newItem);\r\n // }\r\n // }\r\n}\r\nexport class NewFB {\r\n Id: number;\r\n ReceiptDate :Date;\r\n Category: string;\r\n NTA: number;\r\n TA: number;\r\n FileName: string;\r\n Status: string;\r\n CustId: number;\r\n Attachment: any;\r\n}\r\n\r\n// type NewFB = Array<{ Id: number;\r\n// ReceiptDate :Date;\r\n// Category: string;\r\n// NTA: number;\r\n// TA: number;\r\n// FileName: string;\r\n// Status: string;\r\n// CustId: number;\r\n// Attachment: any; }>;","export class FragmencesModel {\n fragmences: any = [];\n merchandiseCategory: any;\n subCategory: any;\n category: any;\n brand: any;\n\n constructor() { }\n GetDDData() {\n\n return { merchandiseCategory: this.merchandiseCategory, category: this.category, subCategory: this.subCategory, brand: this.brand};\n }\n\n\n}\n","export class OrdersModel {\n orderMasterId = 0;\n draftOrderMasterId = 0;\n selectedDraft: any = { 'orders': { '$values': [] } };\n selectedDone: any = { 'orders': { '$values': [] } };\n orders: any = [];\n qtys: Array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n types = [\n new Types('C', 'Complimentary'),\n /* new Types('N', 'Staff Purchase'), -- commented for the future version*/\n ];\n savedOrder: any = [];\n type = new Types('C', 'Complimentary');\n qty: number;\n totalOrderQty = 0;\n ordergracevalue = 0;\n totalOrderColor = '';\n totalOrderPrice = 0;\n orderinfo: any;\n newOrders: any = [];\n todayDate = Date.now();\n sku: any = [];\n inprogress: any = [];\n inprogressItems = false;\n SKUSearch = \"\";\n UniqueBrand: any;\n ListOfBrands: any = [];\n StoreLocatorVisible = false;\n SelectedStore: any;\n ListOfStores: any = [];\n selectedInprogress: any = { 'orders': { '$values': [] } };\n draft: any = [];\n done: any = [];\n priceRange: any = {};\n ranges: any = [new Types('0', 'Please select'), new Types('1', '0-10'),\n new Types('2', '11-20'),\n new Types('3', '21-50'),\n new Types('4', '51-100'),\n new Types('5', '101-500'),\n new Types('6', '501-1000'),\n new Types('7', '1000-99999')];\n range = new Types('0', 'Please select');\n editInProgressAmt = 0;\n getActiveFragrances: any = [];\n\n constructor() { }\n\n devideOrders() {\n this.inprogress = this.orders.filter(item => item.OrderStatus === 'In Progress');\n if (this.inprogress.length > 0) {\n this.inprogressItems = true;\n this.selectInprogressOrder(this.inprogress[0].OrderMasterId);\n } else {\n this.selectedInprogress = { 'orders': { '$values': [] } };\n }\n\n this.draft = this.orders.filter(item => item.OrderStatus === 'Draft');\n if (this.draft.length > 0) {\n this.selectDraftOrder(this.draft[0].OrderMasterId);\n } else {\n this.selectedDraft = { 'orders': { '$values': [] } };\n }\n\n this.done = this.orders.filter(item => item.OrderStatus === 'Done');\n if (this.done.length > 0) {\n this.selectDoneOrder(this.done[0].OrderMasterId);\n } else {\n this.selectedDone = { 'orders': { '$values': [] } };\n }\n }\n selectInprogressOrder(i: number) {\n this.selectedInprogress = this.inprogress.filter(item => item.OrderMasterId === i)[0];\n if (this.ListOfStores.length > 0 && this.selectedInprogress.StoreCode) {\n var store = this.ListOfStores.filter(item => item.m_Item1 == this.selectedInprogress.StoreCode)[0];\n if (store) {\n this.selectedInprogress.StoreName = store.m_Item2;\n }\n }\n }\n\n\n selectDraftOrder(i: number) {\n this.selectedDraft = this.draft.filter(item => item.OrderMasterId === i)[0];\n this.orderMasterId = i;\n this.draftOrderMasterId = i;\n this.totalOrderQty = 0;\n this.totalOrderPrice = 0;\n this.newOrders = [];\n if (this.selectedDraft != undefined) {\n this.SelectedStore = this.StoreLocatorVisible && this.selectedDraft.StoreCode ? this.selectedDraft.StoreCode : 0;\n for (const item of this.selectedDraft.orders.$values) {\n item.totalPrice = item.OrderQty * item.RetailPrice;\n item.totalPrice = parseFloat(item.totalPrice.toFixed(2));\n let newItem = Object.assign({}, item);\n this.newOrders.push(newItem);\n this.totalOrderQty = this.totalOrderQty + item.OrderQty;\n this.totalOrderPrice = this.totalOrderPrice + item.totalPrice;\n\n }\n this.newOrders.Status = \"Draft\";\n this.totalOrderPrice = parseFloat(this.totalOrderPrice.toFixed(2));\n }\n\n // this.newOrders= this.selectedDraft.orders.$values;\n\n }\n\n\n selectDoneOrder(i: number) {\n this.selectedDone = this.done.filter(item => item.OrderMasterId === i)[0];\n if (this.ListOfStores.length > 0 && this.selectedDone.StoreCode) {\n var store = this.ListOfStores.filter(item => item.m_Item1 == this.selectedDone.StoreCode)[0];\n if(store){\n this.selectedDone.StoreName = store.m_Item2;\n }\n }\n }\n\n addSKU(articleCode: number, totalBonus: number, type: string) {\n if (this.newOrders.filter(item => item.ArticleCode === articleCode).length === 0) {\n this.newOrders.push(this.sku.filter(item => item.ArticleCode === articleCode)[0]);\n if (!this.newOrders.Status) {\n this.newOrders.Status = \"New\"\n }\n this.getTotalQty(totalBonus, type);\n }\n }\n\n removeOrders(index: number, totalBonus: number, type: string) {\n this.newOrders.splice(index, 1);\n if (this.newOrders.length === 0) {\n //this.newOrders.Status = null;\n }\n this.getTotalQty(totalBonus, type);\n }\n\n clearCurrentOrder() {\n this.newOrders = [];\n this.totalOrderQty = 0;\n this.totalOrderPrice = 0;\n this.orderMasterId = 0;\n this.draftOrderMasterId = 0;\n this.editInProgressAmt = 0;\n this.SelectedStore = 0;\n }\n\n getTotalQty(totalBonus, type) {\n this.totalOrderQty = 0;\n this.totalOrderPrice = 0;\n this.totalOrderColor = '';\n for (const item of this.newOrders) {\n this.totalOrderQty = this.totalOrderQty + item.OrderQty;\n this.totalOrderPrice = this.totalOrderPrice + item.totalPrice;\n }\n this.totalOrderPrice = parseFloat(this.totalOrderPrice.toFixed(2))\n var mydate = new Date();\n\n if (mydate.getMonth() == 9 || mydate.getMonth() == 10 || mydate.getMonth() == 11)\n this.ordergracevalue = 10;\n \n \n if(totalBonus <= 0) {\n console.log(\"getTotalQty : \" + totalBonus + \"/\" + type + \"/\" + (this.totalOrderPrice - this.editInProgressAmt) + \"/\" + totalBonus);\n \n if (this.totalOrderPrice - this.editInProgressAmt === 0) {\n this.totalOrderColor = '';\n } else if ((this.totalOrderPrice - this.editInProgressAmt) > totalBonus && type === 'C') {\n this.totalOrderColor = 'red';\n }\n }\n \n if(totalBonus > 0) {\n console.log(\"getTotalQty : \" + totalBonus + \"/\" + type + \"/\" + (this.totalOrderPrice - this.editInProgressAmt) + \"/\" + (totalBonus + this.ordergracevalue));\n \n if ((this.totalOrderPrice - this.editInProgressAmt) > (totalBonus + this.ordergracevalue) && type === 'C') {\n this.totalOrderColor = 'red';\n }\n }\n }\n\n onQtyChange(index: number, totalBonus: number, type: string) {\n this.newOrders[index].totalPrice = this.newOrders[index].OrderQty * this.newOrders[index].RetailPrice;\n this.newOrders[index].totalPrice = parseFloat(this.newOrders[index].totalPrice.toFixed(2));\n this.getTotalQty(totalBonus, type);\n }\n\n editCompletedOrder(i: number, currentUser) {\n // this.selectedDraft.orders.$values = { 'orders': { '$values': [] } };\n let copiedRecord = this.done.filter(item => item.OrderMasterId === i)[0];\n this.orderMasterId = 0;\n this.newOrders = [];\n this.totalOrderQty = 0;\n this.totalOrderPrice = 0;\n this.SelectedStore = this.StoreLocatorVisible && copiedRecord.StoreCode ? copiedRecord.StoreCode : 0;\n for (const item of copiedRecord.orders.$values) {\n item.totalPrice = item.OrderQty * item.RetailPrice;\n item.totalPrice = parseFloat(item.totalPrice.toFixed(2));\n item.OrderMasterId = 0;\n let newItem = Object.assign({}, item);\n this.newOrders.push(newItem);\n this.totalOrderQty = this.totalOrderQty + item.OrderQty;\n this.totalOrderPrice = this.totalOrderPrice + item.totalPrice;\n }\n this.newOrders.Status = \"Copy\";\n this.totalOrderPrice = parseFloat(this.totalOrderPrice.toFixed(2));\n this.totalOrderColor = '';\n let totalBonus = currentUser.ComplimentaryGoodsValue + currentUser.BonusValue;\n \n console.log(\"editCompletedOrder : \" + this.totalOrderPrice + \"/\" + totalBonus + \"/\" + this.type.id);\n if ((this.totalOrderPrice > totalBonus) && this.type.id === 'C') {\n this.totalOrderColor = 'red';\n }\n }\n\n editInProgressOrder(i: number) {\n //this.selectedDraft.orders.$values = { 'orders': { '$values': [] } };\n let copiedRecord = this.inprogress.filter(item => item.OrderMasterId === i)[0];\n this.totalOrderQty = 0;\n this.totalOrderPrice = 0;\n this.SelectedStore = 0;\n this.newOrders = [];\n this.orderMasterId = i;\n this.totalOrderColor = '';\n this.SelectedStore = this.StoreLocatorVisible && copiedRecord.StoreCode ? copiedRecord.StoreCode : 0;\n for (const item of copiedRecord.orders.$values) {\n item.totalPrice = item.OrderQty * item.RetailPrice;\n item.totalPrice = parseFloat(item.totalPrice.toFixed(2));\n let newItem = Object.assign({}, item);\n this.newOrders.push(newItem);\n this.totalOrderQty = this.totalOrderQty + item.OrderQty;\n this.totalOrderPrice = this.totalOrderPrice + item.totalPrice;\n }\n this.newOrders.Status = \"In Progress\";\n this.totalOrderPrice = parseFloat(this.totalOrderPrice.toFixed(2));\n this.editInProgressAmt = this.totalOrderPrice;\n\n }\n\n deleteInProgressOrder(i: number) {\n this.totalOrderPrice = 0;\n this.orderMasterId = i;\n let deleteRecord = this.inprogress.filter(item => item.OrderMasterId === i)[0];\n //console.log(deleteRecord);\n for (const item of deleteRecord.orders.$values) {\n item.totalPrice = item.OrderQty * item.RetailPrice;\n item.totalPrice = parseFloat(item.totalPrice.toFixed(2));\n this.totalOrderPrice = this.totalOrderPrice + item.totalPrice;\n }\n this.totalOrderPrice = parseFloat(this.totalOrderPrice.toFixed(2));\n //console.log(this.totalOrderPrice);\n }\n}\n\nexport class Types {\n constructor(public id: string, public name: string) { }\n}\n\n\n\n\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationStart } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { Subject } from 'rxjs/Subject';\n\n@Injectable()\nexport class AlertService {\n private subject = new Subject();\n private keepAfterNavigationChange = false;\n\n constructor(private router: Router) {\n // clear alert message on route change\n router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterNavigationChange) {\n // only keep for a single location change\n this.keepAfterNavigationChange = false;\n } else {\n // clear alert\n this.subject.next();\n }\n }\n });\n }\n\n success(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'success', text: message });\n }\n\n error(message: string, keepAfterNavigationChange = false) {\n this.keepAfterNavigationChange = keepAfterNavigationChange;\n this.subject.next({ type: 'error', text: message });\n }\n\n clearMessage(){\n this.subject.next();\n }\n\n getMessage(): Observable {\n return this.subject.asObservable();\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/map'\nimport { UserService } from './user.service';\nimport { User } from '../_models/user';\n\n@Injectable()\nexport class AuthenticationService {\n userService = UserService; currentUser: User; currentUsername: any;\n constructor(private http: HttpClient) { }\n\n /****** mini.luxasia.com ******/\n //PROD URL\n //apiurl = 'http://116.12.52.170/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/'; \n\n //UAT URL\n //apiurl = 'http://116.12.52.170/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\n\n /****** plesk.luxasia.com ******/\n //PROD URL\n apiurl = 'https://plesk.luxasia.com/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/';\n\n //UAT URL\n //apiurl = 'http://115.42.209.163/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\n\n // apiurl = 'http://localhost:9287/api/cmg/'; /* local URL*/ \n\n login(username: string, password: string) {\n // tslint:disable-next-line:max-line-length\n return this.http.get(this.apiurl + 'GetCustomer/' + username + '/' + password)\n .map(user => {\n if (user) {\n user.ComplimentaryGoodsValue = parseFloat(user.ComplimentaryGoodsValue.toFixed(2));\n this.userService.prototype.setUser(user);\n \n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', JSON.stringify(user));\n this.currentUsername = user.UserName;\n\n }\n\n return user;\n });\n }\n TermsChange(value: any) {\n if (value) {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n return this.http.get(this.apiurl + 'UpdateTerms/' + this.currentUser.CustomerId)\n .map(user => {\n return user;\n });\n }\n }\n create(username: string) {\n return this.http.get(this.apiurl + 'ForGotPassword/' + username + '/')\n .map(user => {\n return user;\n });\n }\n //resetPassword(email: string, username: string) {\n // return this.http.get(this.apiurl + 'ResetPassword/' + email + '/' + username)\n // .map(user => {\n // return user;\n // });\n //}\n forgot(key: string, newpassword: any, cnfPassword: any) {\n return this.http.get(this.apiurl + 'ForGotPassword/' + key + '/')\n .map(user => {\n return user;\n });\n }\n resetPassword(username: string) {\n return this.http.get(this.apiurl + 'ForGotPassword/' + username + '/')\n .map(user => {\n return user;\n });\n }\n changepassword(oldpassword: string, newpassword: any) {\n return this.http.get(this.apiurl + 'ChangePassword/' + this.currentUsername + '/' + newpassword + '/' + oldpassword + '/')\n .map(user => {\n if (user) {\n user.ComplimentaryGoodsValue = parseFloat(user.ComplimentaryGoodsValue.toFixed(2));\n this.userService.prototype.setUser(user);\n \n // store user details and jwt token in local storage to keep user logged in between page refreshes\n localStorage.setItem('currentUser', JSON.stringify(user));\n this.currentUsername = user.UserName;\n\n }\n\n return user;\n });\n }\n\n logout() {\n // remove user from local storage to log user out\n localStorage.removeItem('currentUser');\n }\n\n ValidateDownTime() { //true - down, false - up\n return this.http.get(this.apiurl + 'SiteAccessibility/')\n .map(user => {\n if (this.currentUsername == '30005792') {\n return false;\n } else {\n return user;\n }\n\n //return true; //restrict users to place new orders\n //return user;\n //return true;\n });\n }\n\n ValidateBatchProcessingDownTime() {\n return this.http.get(this.apiurl + 'CheckIfBatchJobProcessing/')\n .map(user => {\n return user;\n });\n }\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/map';\r\nimport { FlexiBenefits } from '../_models/flexibenefit';\r\nimport { User } from '../_models/user';\r\n\r\n\r\n@Injectable()\r\nexport class FlexiBenefitService {\r\n\r\n /****** mini.luxasia.com ******/\r\n //PROD URL\r\n //url = 'http://116.12.52.170/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/'; \r\n\r\n //UAT URL\r\n //url = 'http://116.12.52.170/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\r\n\r\n /****** plesk.luxasia.com ******/\r\n //PROD URL\r\n url = 'https://plesk.luxasia.com/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/';\r\n\r\n //UAT URL\r\n //url = 'http://115.42.209.163/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\r\n\r\n //url = 'http://localhost:9287/api/cmg/'; /* local URL*/ \r\n\r\n currentUser: User;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getFlexiBenefit(customerId: number) {\r\n\r\n return this.http.get(this.url + 'GetFlexiBenefit/' + customerId)\r\n .map(flexiBenefit => {\r\n return flexiBenefit;\r\n });\r\n }\r\n\r\n getFlexiBenefitValues(customerId: number) {\r\n\r\n return this.http.get(this.url + 'GetFlexiBenefitValues/' + customerId)\r\n .map(fbValues => {\r\n return fbValues;\r\n });\r\n }\r\n\r\n downloadFile(fbId: number) {\r\n\r\n // let Options = ;\r\n return this.http.get(this.url + 'DownloadFile/' + fbId, { responseType: 'blob' as 'json' })\r\n .map(fbfile => {\r\n return fbfile;\r\n });\r\n }\r\n\r\n // approverejectFlexiBenefit(fbid: number,approvereject: number, comments: string) {\r\n\r\n // let headerOptions = new HttpHeaders({ 'Content-Type': 'application/json','cache': 'false' });\r\n // return this.http.post(this.url + 'ApproveRejectFlexiBenefit/' + fbid + '/' + approvereject + '/' + comments, {\r\n // headers: headerOptions\r\n // })\r\n // .map(result => {\r\n // return result;\r\n // });\r\n // }\r\n\r\n approverejectFlexiBenefit(formData: FormData): Observable {\r\n var objectToSend = JSON.stringify(formData);\r\n\r\n //let headerOptions = new HttpHeaders({ 'Content-Type': 'false' });\r\n\r\n return this.http.post(this.url + 'ApproveRejectFlexiBenefit', formData)\r\n .map(data => {\r\n return data;\r\n });\r\n }\r\n\r\n deleteFlexiBenefit(fbid: number) {\r\n //return this.http.post(this.url + 'DeleteFlexiBenefit/' + fbid, {\r\n // headers: headerOptions\r\n //})\r\n // .map(result => {\r\n // return result;\r\n // });\r\n return this.http.get(this.url + 'DeleteFlexiBenefit/' + fbid)\r\n .map(result => {\r\n return result;\r\n });\r\n\r\n }\r\n\r\n //getAllFlexiBenefit(isCustom: boolean) {\r\n // \r\n // return this.http.get(this.url + 'GetAllFlexiBenefit/'+ isCustom)\r\n // .map(allFlexiBenefits => {\r\n // return allFlexiBenefits;\r\n // });\r\n //}\r\n\r\n getAllFlexiBenefit(countryCode: string) {\r\n return this.http.get(this.url + 'GetAllFlexiBenefit/' + countryCode)\r\n .map(allFlexiBenefits => {\r\n return allFlexiBenefits;\r\n });\r\n }\r\n\r\n exportFlexiBenefit(StartDate: Date, EndDate: Date, Status: string, Id: string) {\r\n\r\n // return this.http.get(this.url + 'ExportFlexiBenefit/'+ StartDate + '/' + EndDate)\r\n // .map(allFlexiBenefits => {\r\n // return allFlexiBenefits;\r\n // });\r\n if (Id === '') {\r\n Id = '0';\r\n }\r\n return this.http.get(this.url + 'ExportFlexiBenefit/' + StartDate + '/' + EndDate + '/' + Status + '/' + Id, { responseType: 'blob' as 'json' })\r\n .map(fbfile => {\r\n return fbfile;\r\n });\r\n }\r\n\r\n UpdateFlexiBenefit(formData: FormData): Observable {\r\n var objectToSend = JSON.stringify(formData);\r\n\r\n //let headerOptions = new HttpHeaders({ 'Content-Type': 'false' });\r\n\r\n return this.http.post(this.url + 'UpdateFlexiBenefit', formData)\r\n .map(data => {\r\n return data;\r\n });\r\n }\r\n\r\n saveFlexiBenefit(formData: FormData): Observable {\r\n var objectToSend = JSON.stringify(formData);\r\n\r\n //let headerOptions = new HttpHeaders({ 'Content-Type': 'false' });\r\n\r\n return this.http.post(this.url + 'SaveFlexiBenefit', formData)\r\n .map(data => {\r\n return data;\r\n });\r\n }\r\n}","export * from './alert.service';\nexport * from './authentication.service';\nexport * from './user.service';\nexport * from './orders.service';","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/map';\nimport { OrdersModel } from '../_models/orders';\nimport { User } from '../_models/user';\n\n\n@Injectable()\nexport class OrdersService {\n /****** mini.luxasia.com ******/\n //PROD URL\n //url = 'http://116.12.52.170/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/'; \n\n //UAT URL\n //url = 'http://116.12.52.170/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\n\n /****** plesk.luxasia.com ******/\n //PROD URL\n url = 'https://plesk.luxasia.com/plesk-site-preview/api.complimentarygoods.luxasia.com/api/cmg/';\n\n //UAT URL\n //url = 'http://115.42.209.163/plesk-site-preview/uatcmgapi.complimentarygoods.luxasia.com/api/cmg/';\n\n // url = 'http://localhost:9287/api/cmg/'; /* local URL*/ \n\n currentUser: User;\n\n constructor(private http: HttpClient) {\n }\n\n getOrders(customerId: number, ordertype: string) {\n\n return this.http.get(this.url + 'GetCustomerOrders/' + customerId + '/' + ordertype)\n .map(orders => {\n //console.log(orders);\n return orders;\n });\n }\n\n getFragmencesFilter() {\n\n return this.http.get(this.url + 'GetAllCategoriesMasters')\n .map(fragmences => {\n return fragmences;\n });\n }\n\n getCategoriesFilter(userName: string, countryCode: string) {\n\n return this.http.get(this.url + 'GetAllCategories/' + userName + '/' + countryCode)\n .map(categories => {\n return categories;\n });\n }\n\n getCustomerCountry(username: string) {\n\n return this.http.get(this.url + 'GetCustomerCountry/' + username)\n .map(categories => {\n return categories;\n });\n }\n\n getCustomerCountryCurrency(username: string) {\n\n return this.http.get(this.url + 'getCustomerCountryCurrency/' + username)\n .map(categories => {\n return categories;\n });\n }\n\n getFragranceByCodeCountry(code: string, countryCode: string) {\n console.log(\"****\" + code + \" / \" + countryCode);\n\n return this.http.get(this.url + 'GetFragranceByCodeCountry/' + code + '/' + countryCode)\n .map(Fragrance => {\n console.log(\"****\" + Fragrance);\n return Fragrance;\n });\n }\n\n getSubCategoriesFilter(param: string, userName: string, countryCode: string) {\n\n return this.http.get(this.url + 'GetAllSubCategoriesfilter/' + param + '/' + userName + '/' + countryCode)\n .map(subCategories => {\n return subCategories;\n });\n }\n\n getSKUSearch(param: string, userName: string, countryCode: string) {\n //[Route(\"api/cmg/GetAllFragrancesBySearchString/{searchstring}\")]\n return this.http.get(this.url + 'GetAllFragrancesBySearchString/' + param + '/' + userName + '/' + countryCode)\n .map(data => {\n return data;\n });\n }\n\n deleteDraftOrder(orderId: any) {\n return this.http.get(this.url + 'DeleteDraftOrder/' + orderId)\n .map(data => {\n return data;\n });\n }\n\n\n deleteInProgressOrder(orderinfo: any): Observable {\n var objectToSend = JSON.stringify(orderinfo);\n\n let headerOptions = new HttpHeaders({ 'Content-Type': 'application/json' });\n\n console.log(objectToSend);\n return this.http.post(this.url + 'DeleteInProgressOrder', objectToSend, {\n headers: headerOptions\n })\n .map(data => {\n return data;\n });\n }\n\n\n getPriceRangeSearch(param: any, userName: string, countryCode: string) {\n //[Route(\"api/cmg/GetAllFragrancesByPriceRange/{from}/{to}\")]\n return this.http.get(this.url + 'GetAllFragrancesByPriceRange/' + param.min + '/' + param.max + '/' + userName + '/' + countryCode)\n .map(data => {\n return data;\n });\n }\n getDraftOrder(custId: number, oType: string) {\n return this.http.get(this.url + 'GetCustomerDraftOrder/' + custId + '/' + oType)\n .map(data => {\n return data;\n });\n }\n getMechantiseCategoriesFilter(param1: string, param2: string, userName: string, countryCode: string) {\n\n return this.http.get(this.url + 'GetAllMerchndiseCategoryfilter/' + param1 + '/' + param2 + \"/\" + userName + '/' + countryCode)\n .map(mechantiseCategories => {\n return mechantiseCategories;\n });\n }\n getBrandFilter(param1: string, param2: string, param3: string, userName: string, countryCode: string) {\n\n return this.http.get(this.url + 'GetAllBrandsfilter/' + param1 + '/' + param2 + '/' + param3 + '/' + userName + '/' + countryCode)\n .map(brand => {\n return brand;\n });\n }\n\n getFilterBy(params: any, countryCode: string) {\n\n // tslint:disable-next-line:max-line-length\n return this.http.get(this.url + 'GetAllFragrancesByfilters/' + params.merchandiseCategory + '/' + params.category + '/' + params.subCategory + '/' + params.brand + '/' + countryCode)\n .map(data => {\n return data;\n });\n }\n\n /*\n placeOrder(orderinfo: any): Observable {\n var objectToSend = JSON.stringify(orderinfo);\n\n let headerOptions = new HttpHeaders({ 'Content-Type': 'application/json' });\n\n console.log(objectToSend);\n return this.http.post(this.url + 'PlaceOrder', objectToSend, {\n headers: headerOptions\n }).map(data => {\n return data;\n });\n }\n */\n placeOrder(formData: FormData): Observable {\n return this.http.post(this.url + 'PlaceOrder', formData)\n .map(data => {\n return data;\n });\n }\n\n UpdateUserEmail(email: string, customerid: number) {\n\n return this.http.get(this.url + 'UpdateUserEmail/' + email + '/' + customerid)\n .map(data => {\n return data;\n });\n\n }\n UpdateUserPhone(phone: string, customerid: number) {\n\n return this.http.get(this.url + 'UpdateUserPhone/' + phone + '/' + customerid)\n .map(data => {\n return data;\n });\n\n }\n\n SubscribeMarket(marketFlg: String, phone: String, email: String, customerId: string) {\n return this.http.get(this.url + 'MarketConsent/' + customerId + '/' + marketFlg + '/' + email + '/' + phone + '/')\n .map(data => {\n return data;\n });\n }\n\n storeLocatorVisibleCheck(username: string) {\n return this.http.get(this.url + 'StoreLocatorVisibleCheck/' + username)\n .map(result => {\n return result;\n });\n }\n\n getStores(username: string, countryCode: string) {\n return this.http.get(this.url + 'GetStores/' + username + \"/\" + countryCode)\n .map(stores => {\n return stores;\n });\n }\n\n //getUniqueBrandsFilter() {\n // return this.http.get(this.url + 'GetAllBrands')\n // .map(brands => {\n // return brands;\n // });\n //}\n\n getUniqueBrandsByCountryCode(userName, countryCode) {\n\n return this.http.get(this.url + 'GetAllBrandsByCountryCode/' + userName + '/' + countryCode)\n .map(brands => {\n return brands;\n });\n }\n\n\n getActiveFragrancesByCountry(countryCode) {\n console.log(\"getActiveFragrancesByCountry : \" + countryCode);\n return this.http.get(this.url + 'GetActiveFragrancesByCountry/' + countryCode)\n .map(activeFragrances => {\n return activeFragrances;\n });\n }\n\n\n getAllFragrancesByBrand(brand, countryCode) {\n //[Route(\"api/cmg/GetAllFragrancesByBrand/{brand}\")]\n return this.http.get(this.url + 'GetAllFragrancesByBrand/' + brand + \"/\" + countryCode)\n .map(data => {\n return data;\n });\n }\n}\n\n","import { Injectable } from '@angular/core';\n\nimport { User } from '../_models/index';\n\n@Injectable()\nexport class UserService {\n user: User;\n constructor() { }\n\n setUser(userInfo: User) {\n this.user = userInfo;\n }\n\n getUser() {\n return this.user;\n }\n\n\n}\n","module.exports = \"\\n\\n \\n \\n \\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n
\"","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport '../assets/app.css';\nimport { UserIdleService } from 'angular-user-idle';\nimport { AuthenticationService } from './_services/index';\n\n@Component({\n moduleId: module.id.toString(),\n selector: 'app',\n templateUrl: 'app.component.html?v=${new Date().getTime()}'\n})\n\nexport class AppComponent {\n constructor(private router: Router, private userIdle: UserIdleService, private authenticationService: AuthenticationService) {\n }\n\n ngOnInit() {\n //Start watching for user inactivity.\n this.userIdle.startWatching();\n\n // Start watching when user idle is starting.\n //this.userIdle.onTimerStart().subscribe(count => console.log(count));\n\n // Start watching when user idle is starting and reset if user action is there.\n this.userIdle.onTimerStart().subscribe(count => {\n var eventList = [\"click\", \"mouseover\", \"keydown\", \"DOMMouseScroll\", \"mousewheel\",\n \"mousedown\", \"touchstart\", \"touchmove\", \"scroll\", \"keyup\"];\n for (let event of eventList) {\n document.body.addEventListener(event, () => this.userIdle.resetTimer());\n }\n });\n \n // Start watch when time is up.\n this.userIdle.onTimeout().subscribe(() => {\n this.authenticationService.logout();\n this.router.navigate(['login']);\n })\n }\n}","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations'\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { CdkTableModule } from '@angular/cdk/table';\n\nimport { NgxPaginationModule } from 'ngx-pagination';\n\nimport { LoadingModule } from 'ngx-loading';\n\n// used to create fake backend\nimport { fakeBackendProvider } from './_helpers/index';\n\nimport { AppComponent } from './app.component';\nimport { routing } from './app.routing';\n\nimport { AlertComponent } from './_directives/index';\nimport { AuthGuard } from './_guards/index';\nimport { JwtInterceptor } from './_helpers/index';\nimport { AlertService, AuthenticationService, UserService, OrdersService } from './_services/index';\nimport { HomeComponent } from './home/index';\nimport { LoginComponent } from './login/index';\nimport { RegisterComponent } from './register/index';\nimport { ForgotPasswordComponent } from './forgotpassword/forgotPassword.component';\nimport { AppdownComponent } from './appdown/appdown.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { ToastrModule } from 'ngx-toastr';\nimport { NgxDeleteConfirmModule } from 'ngx-delete-confirm';\nimport { NgxConfirmBoxModule,NgxConfirmBoxService } from 'ngx-confirm-box';\nimport { UserIdleModule } from 'angular-user-idle';\nimport { FlexiBenefitService } from './_services/flexibenefit.service';\nimport { TwoDigitDecimaNumberDirective } from './two-digit-decima-number.directive';\nimport { CurrencyInputMaskDirective } from './currency-input-mask.directive';\nimport { ModalComponent } from './modal/modal.component';\nimport { MatDialogModule } from '@angular/material/dialog';\n\n@NgModule({\n imports: [\n BrowserModule,\n FormsModule,\n HttpClientModule,\n routing, MatTabsModule, BrowserAnimationsModule, CdkTableModule, NgxPaginationModule, LoadingModule, MatTooltipModule, CommonModule, \n ToastrModule.forRoot({\n timeOut: 4000,\n positionClass: 'toast-top-full-width',\n progressAnimation: 'increasing',\n }),NgxDeleteConfirmModule.forRoot(),\n NgxConfirmBoxModule,\n MatDialogModule,\n // Optionally you can set time for `idle`, `timeout` and `ping` in seconds.\n // Default values: `idle` is 600 (10 minutes), `timeout` is 300 (5 minutes) \n // and `ping` is 120 (2 minutes).\n UserIdleModule.forRoot({idle: 600, timeout: 300, ping: 120}),\n ],\n declarations: [\n AppComponent,\n AlertComponent,\n HomeComponent,\n LoginComponent,\n RegisterComponent,\n ForgotPasswordComponent,\n AppdownComponent,\n TwoDigitDecimaNumberDirective ,\n CurrencyInputMaskDirective ,\n ModalComponent\n ],\n providers: [\n AuthGuard,\n AlertService,\n AuthenticationService,\n UserService,\n OrdersService,\n FlexiBenefitService,\n NgxConfirmBoxService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true\n },\n\n // provider used to create fake backend\n fakeBackendProvider\n ],\n bootstrap: [AppComponent]\n})\n\nexport class AppModule { }","import { Routes, RouterModule } from '@angular/router';\n\nimport { HomeComponent } from './home/index';\nimport { LoginComponent } from './login/index';\nimport { RegisterComponent } from './register/index';\nimport { ForgotPasswordComponent} from './forgotpassword/index';\nimport { AppdownComponent } from './appdown/appdown.component';\n\nimport { AuthGuard } from './_guards/index';\n\n\nconst appRoutes: Routes = [\n { path: '', component: HomeComponent, canActivate: [AuthGuard] },\n\n { path: 'login', component: LoginComponent },\n { path: 'register', component: RegisterComponent },\n\n { path: 'forgotpassword', component: ForgotPasswordComponent },\n { path: 'appdown', component: AppdownComponent },\n // otherwise redirect to home\n { path: '**', redirectTo: '' }\n \n];\n\nexport const routing = RouterModule.forRoot(appRoutes);\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Application is down, due to one of following reasons :

\\r\\n

- Batch job in progress (10:30PM to 12AM everyday).

\\r\\n

- Cutoff date(s), monthly maintenance, last 3 days of every month (excluding Saturday & Sunday).

\\r\\n

- Year end shutdown (1st Nov - 31st Dec).

\\r\\n
\\r\\n
Complimentary good, Luxasia pte. Ltd
\\r\\n
\\r\\n
\\r\\n
Developed by Luxasia.
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { AlertService, AuthenticationService } from '../_services/index';\n\n@Component({\n moduleId: module.id.toString(),\n templateUrl: 'appdown.component.html?v=${new Date().getTime()}'\n})\n\nexport class AppdownComponent implements OnInit {\n model: any = {};\n loading = false;\n returnUrl: string;\n TermsDisplay:any='none';\n\n constructor(\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit() {\n \n }\n \n \n}\n","import {\n OnInit,\n Directive,\n HostListener,\n ElementRef, forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DecimalPipe } from '@angular/common';\n\nexport const CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CurrencyInputMaskDirective),\n multi: true\n};\n\n@Directive({\n selector: '[appCurrencyInputMask]',\n providers: [\n CURRENCY_INPUT_MASK_DIRECTIVE_VALUE_ACCESSOR,\n DecimalPipe\n ]\n})\nexport class CurrencyInputMaskDirective implements ControlValueAccessor, OnInit {\n private el: HTMLInputElement;\n private onModelChange: Function;\n private onModelTouched: Function;\n private lastNumVal: number;\n private DECIMAL_MARK = '.';\n\n constructor(\n private elementRef: ElementRef,\n private decimalPipe: DecimalPipe\n ) { }\n\n ngOnInit() {\n this.el = this.elementRef.nativeElement;\n }\n\n @HostListener('focus', ['$event'])\n handleFocus(event: any) {\n const strVal: string = this.getInputValue();\n const unmaskedStr: string = this.getUnmaskedValue(strVal);\n this.updateInputValue(unmaskedStr);\n }\n\n @HostListener('cut', ['$event'])\n handleCut(event: any) {\n setTimeout(() => {\n this.inputUpdated();\n }, 0);\n }\n\n @HostListener('keypress', ['$event'])\n handleKeypress(event: any) {\n // Restrict characters\n const newChar: string = String.fromCharCode(event.which);\n const allowedChars: RegExp = /^[\\d.]+$/;\n if (!allowedChars.test(newChar)) {\n event.preventDefault();\n return;\n }\n // Handle decimal mark input\n const currentValue: string = event.target.value;\n const separatorIdx: number = currentValue.indexOf(this.DECIMAL_MARK);\n const hasFractionalPart: boolean = (separatorIdx >= 0);\n if (!hasFractionalPart || newChar !== this.DECIMAL_MARK) {\n return;\n }\n const isOutsideSelection = !this.isIdxBetweenSelection(separatorIdx);\n if (isOutsideSelection) {\n const positionAfterMark = separatorIdx + 1;\n this.setCursorPosition(positionAfterMark);\n event.preventDefault();\n return;\n }\n }\n\n @HostListener('input', ['$event'])\n handleInput(event: any) {\n this.inputUpdated();\n }\n\n @HostListener('paste', ['$event'])\n handlePaste(event: any) {\n setTimeout(() => {\n this.inputUpdated();\n }, 1);\n }\n\n @HostListener('blur', ['$event'])\n handleBlur(event: any) {\n const strVal: string = this.getInputValue();\n const numVal: number = this.convertStrToDecimal(strVal);\n this.maskInput(numVal);\n this.onModelTouched.apply(event);\n }\n\n registerOnChange(callbackFunction: Function): void {\n this.onModelChange = callbackFunction;\n }\n\n registerOnTouched(callbackFunction: Function): void {\n this.onModelTouched = callbackFunction;\n }\n\n setDisabledState(value: boolean): void {\n this.el.disabled = value;\n }\n\n writeValue(numValue: number): void {\n this.maskInput(numValue);\n }\n\n private maskInput(numVal: number): void {\n if (!this.isNumeric(numVal)) {\n this.updateInputValue('');\n return;\n }\n const strVal: string = this.convertDecimalToStr(numVal);\n const newVal: string = this.transformWithPipe(strVal);\n this.updateInputValue(newVal);\n }\n\n private inputUpdated() {\n this.restrictDecimalValue();\n const strVal: string = this.getInputValue();\n const unmaskedVal: string = this.getUnmaskedValue(strVal);\n const numVal: number = this.convertStrToDecimal(unmaskedVal);\n if (numVal !== this.lastNumVal) {\n this.lastNumVal = numVal;\n this.onModelChange(numVal);\n }\n }\n\n private restrictDecimalValue(): void {\n const strVal: string = this.getInputValue();\n const dotIdx: number = strVal.indexOf(this.DECIMAL_MARK);\n const hasFractionalPart: boolean = (dotIdx >= 0);\n if (hasFractionalPart) {\n const fractionalPart: string = strVal.substring(dotIdx + 1);\n if (fractionalPart.length > 2) {\n const choppedVal: string = strVal.substring(0, dotIdx + 3);\n this.updateInputValue(choppedVal, true);\n return;\n }\n }\n }\n\n private transformWithPipe(str: string): string {\n return this.decimalPipe.transform(str, '1.2-2');\n }\n\n private getUnmaskedValue(value: string): string {\n return value.replace(/[^-\\d\\\\.]/g, '');\n }\n\n private updateInputValue(value: string, savePosition = false) {\n if (savePosition) {\n this.saveCursorPosition();\n }\n this.el.value = value;\n }\n\n private getInputValue(): string {\n return this.el.value;\n }\n\n private convertStrToDecimal(str: string): number {\n return (this.isNumeric(str)) ? parseFloat(str) : null;\n }\n\n private convertDecimalToStr(n: number): string {\n return (this.isNumeric(n)) ? n + '' : '';\n }\n\n private isNumeric(n: any): boolean {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n\n private saveCursorPosition() {\n const position: number = this.el.selectionStart;\n setTimeout(() => {\n this.setCursorPosition(position);\n }, 1);\n }\n\n private setCursorPosition(position: number) {\n this.el.selectionStart = position;\n this.el.selectionEnd = position;\n }\n\n private isIdxBetweenSelection(idx: number) {\n if (this.el.selectionStart === this.el.selectionEnd) {\n return false;\n }\n return (idx >= this.el.selectionStart && idx < this.el.selectionEnd);\n }\n\n}\n","module.exports = \"
\\n \\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
Email is required
\\n
Email must be a valid email address
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
Please enter the password
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
Please enter confirmation password
\\n
\\n
\\n
\\n \\n \\n Cancel\\n
\\n
\\n
\"","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AlertService } from '../_services/index';\nimport { AuthenticationService } from '../_services/authentication.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n moduleId: module.id.toString(),\n templateUrl: 'forgotPassword.component.html?v=${new Date().getTime()}'\n})\n\nexport class ForgotPasswordComponent {\n model: any = {};\n loading = false;\n\n constructor(\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private toastr: ToastrService) { }\n\n forgotPassword() {\n this.loading = true;\n this.authenticationService.forgot(this.model.key, this.model.newPassword, this.model.cnfPassword)\n .subscribe(\n data => {\n //this.alertService.success('Password has been Reset, pls check your email to activate/update.', true);\n this.toastr.success('Password has been Reset, pls check your email to activate / update.', 'Success');\n this.router.navigate(['/login']);\n },\n error => {\n //this.alertService.error(error.message);\n this.toastr.error(error, 'Error');\n this.loading = false;\n });\n }\n}\n","export * from './forgotPassword.component';","module.exports = \"\\n\\n\\n
\\n
\\n \\n

Complimentary Goods Portal

\\n Change Password | \\n Logout\\n
Hi, {{currentUser.Name}} ({{currentUser.UserName}}) | Last visit on : {{ordersModel.todayDate | date:'fullDate'}}\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n
\\n
Email is required
\\n
Email must be a valid email address
\\n
\\n
\\n \\n \\n \\n \\n
Mobile is required
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
By submitting this form you confirm that the information provided is true and accurate. You\\n hereby agree that the information you provide may be used by the Luxasia Group of Companies for\\n marketing, research and customer relationship management purposes.You may unsubscribe at any time.\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
Change Password
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n Old Password is required\\n
\\n \\n \\n \\n \\n
New Password is required
\\n
\\n \\n \\n \\n \\n
Confirm Password is required
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
Edit FlexiBenifit
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n \\n \\n \\n \\n
\\n \\n \\n \\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
> {{currentUserCountryName}}
\\n
Currency : {{currentUserCountryCurrency}}\\n
\\n

\\n
\\n

\\n
\\n
> Credits
\\n
    \\n
  • Bonus
    \\n
    \\n
    {{currentUserCountryCurrency}}\\n
    \\n
    {{currentUser.BonusValue |\\n number:'1.2-5'}}\\n
    \\n
    \\n
    \\n
  • \\n
  • Main
    \\n
    \\n
    {{currentUserCountryCurrency}}\\n
    \\n
    \\n {{currentUser.ComplimentaryGoodsValue <=0 ? (0 | number: '1.2-5' ) :\\n currentUser.ComplimentaryGoodsValue | number: '1.2-5' }}
    \\n
    \\n
    \\n
  • \\n
\\n
\\n

\\n
\\n

\\n
\\n
> Orders
\\n
    \\n
  • In-progress
    \\n {{ordersModel.inprogress.length}}
    \\n
  • \\n
  • Processed
    \\n {{ordersModel.done.length}}
    \\n
  • \\n
\\n
\\n

\\n
\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
Orders 'In Progress'
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Order Number Order Date Total Value CurrencyOrder Type Status
\\n {{inprogress.OrderMasterId}}\\n {{inprogress.OrderDate}}{{inprogress.TotalOrderValue | number:'1.2-5'}}\\n {{inprogress.Currency}}{{inprogress.Ordertype ==='C' ? 'Complimentary' : 'Staff Purchage'}}\\n {{inprogress.OrderStatus}}\\n
\\n Edit\\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
Order Number : {{ordersModel.selectedInprogress.OrderMasterId}}\\n 0\\\"> ( Store:\\n {{ordersModel.selectedInprogress.StoreName}}) \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ItemArticleDescriptionTotal Retail Price (w/o GST) QtyTotal Price Status
{{i+1}}{{inprogressOrders.ArticleCode}}{{inprogressOrders.Description}}{{inprogressOrders.RetailPrice | number:'1.2-5'}}\\n {{inprogressOrders.OrderQty}}{{(inprogressOrders.OrderQty * inprogressOrders.RetailPrice) |\\n number:'1.2-5'}}\\n {{inprogressOrders.ItemStatus}}
Total\\n {{ordersModel.selectedInprogress.OrderQty}}\\n {{ordersModel.selectedInprogress.TotalOrderValue |\\n number:'1.2-5'}}\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
Past Orders (Processed)
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Order Number Order Date Total Value CurrencyStatus
\\n {{done.OrderMasterId}}\\n {{done.OrderDate}}{{done.TotalOrderValue | number:'1.2-5'}}\\n {{done.Currency}}{{done.OrderStatus}}\\n Copy\\n
\\n
\\n \\n
\\n
\\n
\\n
Order Number : {{ordersModel.selectedDone.OrderMasterId}}\\n 0\\\"> ( Store:\\n {{ordersModel.selectedDone.StoreName}}) \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ItemArticleDescriptionRetail Price(w/o GST) QtyTotal Price Status
{{i+1}}{{doneOrders.ArticleCode}}{{doneOrders.Description}}{{doneOrders.RetailPrice | number:'1.2-5'}}\\n {{doneOrders.OrderQty}}{{(doneOrders.OrderQty * doneOrders.RetailPrice) | number:'1.2-5'}}\\n {{doneOrders.ItemStatus}}
Total{{ordersModel.selectedDone.OrderQty}}\\n {{ordersModel.selectedDone.TotalOrderValue |\\n number:'1.2-5'}}\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
Draft\\n Order : {{ordersModel.orderMasterId}}
\\n
\\n Update Order (No : {{ordersModel.orderMasterId}} / Status : {{this.ordersModel.newOrders.Status}})\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
ItemArticleDescriptionRetail Price (w/o GST) Qty Total Price
{{i+1}}{{newOrders.ArticleCode}}{{newOrders.Description}}{{newOrders.RetailPrice | number:'1.2-5'}}\\n \\n \\n \\n {{newOrders.totalPrice | number:'1.2-5'}}\\n \\n \\n \\n \\n
\\n \\n * Select Store :\\n \\n \\n \\n Total{{ordersModel.totalOrderQty}}\\n {{ordersModel.totalOrderPrice | number:'1.2-5'}}\\n
\\n
\\n
\\n
Goods Search
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Category\\n \\n
Sub Category\\n \\n
Merchandise Category \\n \\n
Brand\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
SKU Description \\n \\n \\n
Price Range \\n \\n
Brand \\n \\n
\\n
\\n
\\n
Search Results
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
SKU IdDescriptionBrandRetail Price Currency
{{sku.ArticleCode}}{{sku.Description}}{{sku.Brand}}{{sku.RetailPrice | number:'1.2-5'}}\\n {{sku.Currency}}\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
My Profile
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Employee ID {{currentUser.UserName}}
Name{{currentUser.Name}}
Cost Center {{currentUser.CostCenter}}
Credits eligible for this quarter {{currentUser.ComplimentaryGoodsValue}}
Bonus Credits {{currentUser.BonusValue}}
Balance{{ currentUser.ComplimentaryGoodsValue +\\n currentUser.BonusValue}}\\n
Email{{currentUser.Email}}
\\n
\\n
\\n
Personal Data
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Personal Email \\n \\n \\n \\n
\\n
Email is required\\n
\\n
Email must be a\\n valid email address
\\n
\\n
\\n \\n
Mobile Number \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n
Entitled Claim Value : {{flexiBenefits.ClaimEntitlementValue}}Utilised Claim Value : {{flexiBenefits.ClaimUtilisationValue}}Allowed Flexi Benefit Limit : {{flexiBenefits.AllowedFlexiBenefitLimit}}\\n
\\n
\\n
\\n
\\n Note:\\n
1) Attach your original receipts for each record.
2) Original receipts must be dated within\\n the period of claim.
3) Submission after 10th of the month will be processed in the following\\n month's payroll.\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Receipt DateCategoryNon-TaxableTaxableAttachmentActions
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n Sub-Total\\n \\n \\n \\n
\\n \\n Grand Total\\n \\n \\n \\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
IdReceipt DateCategoryNon-TaxableTaxable\\n \\n AttachmentActionsComments
{{i.Id}}{{i.ReceiptDate | date: 'dd.MM.yyyy'}}{{i.Category}}{{i.NTA}}{{i.TA}}{{i.Status}}\\n {{i.FileName}}\\n \\n \\n \\n \\n
Sub-Total\\n \\n \\n \\n
Grand Total\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
User Status From Date To Date \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
IdNameReceipt DateCreated DateCategoryNon-TaxableTaxableStatusAttachmentActionsComments
{{i.Id}}{{i.CustName}}{{i.ReceiptDate | date: 'dd.MM.yyyy'}}{{i.CreatedDate | date: 'dd.MM.yyyy'}}{{i.Category}}{{i.NTA}}{{i.TA}}{{i.Status}}\\n {{i.FileName}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \"","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { OrdersService } from '../_services/orders.service';\nimport { FlexiBenefitService } from '../_services/flexibenefit.service';\nimport { AlertService } from '../_services/alert.service';\nimport { User } from '../_models/user';\nimport { OrdersModel } from '../_models/orders';\nimport { FlexiBenefits, NewFB } from '../_models/flexibenefit';\nimport { FragmencesModel } from '../_models/fragmences';\nimport { min } from 'rxjs/operators/min';\nimport { AuthenticationService, UserService } from '../_services/index';\nimport { NgForm } from '@angular/forms/src/directives/ng_form';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { NgxConfirmBoxService } from 'ngx-confirm-box';\nimport { angularMath } from 'angular-ts-math';\nimport { t } from '@angular/core/src/render3';\nimport { ModalComponent } from '../modal/modal.component';\n//import { Console } from 'console';\nimport { MatDialog } from '@angular/material/dialog';\nimport { FormControl } from '@angular/forms';\n\n// import {MatTooltipModule} from '@angular/material/tooltip';\ndeclare var jquery: any;\ndeclare var $: any;\ndeclare var $dialogs: any;\n\n@Component({\n moduleId: module.id.toString(),\n templateUrl: 'home.component.html?v=${new Date().getTime()}'\n})\n\n\nexport class HomeComponent implements OnInit {\n private msg: string;\n public loading = false;\n orderId = 0;\n event = '';\n ordersModel: OrdersModel;\n flexiBenefits: FlexiBenefits;\n NewFB: NewFB;\n fragmencesModel: FragmencesModel;\n inProressPage = 1;\n selectInProressPage = 1;\n newOrdersPage = 1;\n draftPage = 1;\n skuPage = 1;\n selectDraftPage = 1;\n selectDonePage = 1;\n donePage = 1;\n fbdonepage = 1;\n fbadminpage = 1;\n fbsearchId = '';\n fbid = 0;\n showSidePanel = 1;\n showChangePassword = 1;\n showFlexiBenefit = 0;\n fblocalsearchStatus = 'Status';\n fbsearchStatus = 'Select';\n fbFromDate: Date;\n fbToDate: Date;\n fbCustomSearch = false;\n saveFBForm: any;\n @ViewChild('myAttachment') myAttachment: ElementRef;\n currentUser: User;\n display = \"none\";\n currentUserCountryName = '';\n currentUserCountryCurrency = '';\n model: any = {};\n tempadminFBList: any = [];\n markerconstdisplay = \"none\";\n marketingdisable = false\n marketcheck = false;\n IsAdmin = false;\n selectedIndex = 0;\n //editOrCopyOrder = false;\n //editOrder = false;\n //copyOrder = false;\n actionOnOrder = \"New\"; // Edit / Copy / New\n //navigatingFromEdit = false;\n currentcustomerId = 0;\n\n bgColor = 'rgba(0,0,0,0.5)'; // overlay background color\n confirmHeading = \"Confirmation\";\n confirmContent = \"Do you want to perform this action ?\";\n confirmCanceltext = \"Cancel\";\n confirmOkaytext = \"Okay\";\n showOrderActionButton = true;\n //showOrderActionButton = false; //restrict users to place new orders\n\n showFlexiActionButton = true;\n //showFlexiActionButton = false; //restrict users to submit new claims\n // fbeditReceiptDate: Date;\n // fbeditCategory: any;\n // fbeditNTA: 0.00;\n // fbeditTA: 0.00;\n constructor(private ordersService: OrdersService,\n private flexibenefitService: FlexiBenefitService,\n private alertService: AlertService, private authenticationService: AuthenticationService,\n private router: Router, private toastr: ToastrService, private confirmBox: NgxConfirmBoxService, private dialog: MatDialog) {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.ordersModel = new OrdersModel();\n this.flexiBenefits = new FlexiBenefits();\n this.fragmencesModel = new FragmencesModel();\n }\n\n ngOnInit() {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.marketcheck = this.currentUser.Marketconsent === \"Y\" ? true : false;\n localStorage.clear();\n this.authenticationService.login(this.currentUser.UserName, this.currentUser.Password);\n this.currentcustomerId = this.currentUser.CustomerId;\n let downUrl = \"appdown\";\n //navigate to down page\n this.IsAdmin = this.currentUser.Admin === 'Yes' ? true : false;\n //this.authenticationService.ValidateDownTime()\n //this.authenticationService.ValidateBatchProcessingDownTime()\n // .subscribe(\n // data => {\n // if (data === true) {\n // localStorage.clear();\n // this.authenticationService.logout();\n // this.router.navigate([downUrl]);\n // }\n // }\n //);\n\n this.authenticationService.ValidateDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n this.showOrderActionButton = false;\n }\n }\n );\n\n this.authenticationService.ValidateBatchProcessingDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n this.showFlexiActionButton = false;\n }\n }\n );\n\n\n this.loadOrders();\n this.loadFlexiBenefit();\n this.loadFBCategory();\n if (this.IsAdmin) {\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n }\n //this.initializeNewFB();\n //this.loadDraftOrder();\n // this.loadAllFragmances();\n //this.loadUniqueBrands();\n this.loadUniqueBrandsByCountryCode(this.currentUser.CountryCode);\n this.loadCategories(this.currentUser.CountryCode);\n this.validateStoreVisiblity();\n this.getCustomerCountry();\n this.getCustomerCountryCurrency();\n this.getActiveFragrancesByCountry(this.currentUser.CountryCode);\n\n if (this.currentUser.CountryCode === 'MY') {\n console.log('loading MY Flexi Category List');\n this.flexiBenefits.CategoryDropDown = this.flexiBenefits.CategoryDropDownMY;\n } else {\n console.log('loading SG Flexi Category List');\n this.flexiBenefits.CategoryDropDown = this.flexiBenefits.CategoryDropDownSG;\n }\n\n }\n\n /*\n validateDownTime() {\n //let downUrl = \"appdown\";\n let downUrl = \"login\";\n //navigate to down page\n this.authenticationService.ValidateDownTime()\n //this.authenticationService.ValidateBatchProcessingDownTime()\n .subscribe(\n data => {\n if (data === true) {\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([downUrl]);\n }\n }\n );\n }\n */\n\n //hideActionsDuringDowntime() {\n // //let downUrl = \"appdown\";\n // let downUrl = \"login\";\n // //navigate to down page\n // this.authenticationService.ValidateDownTime()\n // //this.authenticationService.ValidateBatchProcessingDownTime()\n // .subscribe(\n // data => {\n // return data;\n // }\n // );\n //}\n\n\n //validateBatchProcessingDownTime() {\n // this.authenticationService.ValidateBatchProcessingDownTime()\n // .subscribe(\n // data => {\n // return data;\n // }\n // );\n //}\n\n\n private getCustomerCountry() {\n this.ordersService.getCustomerCountry(this.currentUser.UserName)\n .subscribe(\n data => {\n this.currentUserCountryName = data;\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n private getCustomerCountryCurrency() {\n this.ordersService.getCustomerCountryCurrency(this.currentUser.UserName)\n .subscribe(\n data => {\n this.currentUserCountryCurrency = data;\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n private loadDraftOrder() {\n\n this.ordersService.getDraftOrder(this.currentUser.CustomerId, this.ordersModel.type.id)\n .subscribe(\n data => {\n this.ordersModel.draft = data;\n //this.ordersModel.savedOrder= data[0];\n },\n error => {\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private loadOrders() {\n //this.loading = true;\n this.ordersService.getOrders(this.currentUser.CustomerId, this.ordersModel.type.id)\n .subscribe(\n data => {\n this.loading = false;\n this.ordersModel.orders = data;\n this.ordersModel.devideOrders();\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n private loadFBCategory() {\n for (let item of this.flexiBenefits.newFBList) {\n item.Category = 'Select'\n }\n }\n\n downloadFile(fbid) {\n this.flexibenefitService.downloadFile(fbid)\n .subscribe(\n data => {\n //fbFile:File = data;\n const blob = new Blob([data], { type: data.type }); // you can change the type\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n private loadFlexiBenefit() {\n //this.loading = true;\n\n this.flexiBenefits.CreateRequestAllowed = this.flexiBenefits.ClaimEntitlementValue < this.flexiBenefits.ClaimUtilisationValue;\n this.flexibenefitService.getFlexiBenefit(this.currentUser.CustomerId)\n .subscribe(\n data => {\n this.loading = false;\n this.flexiBenefits.doneNtaTotal = 0;\n this.flexiBenefits.doneTaTotal = 0;\n this.flexiBenefits.doneGrandTotal = 0;\n this.flexiBenefits.done = data;\n this.onLocalStatusChange(this.fblocalsearchStatus);\n for (let item of this.flexiBenefits.done) {\n // this.flexiBenefits.doneNtaTotal += item.NTA;\n // this.flexiBenefits.doneTaTotal += item.TA;\n item.isDeletedAllowed = item.Status == 'Approved' || item.Status == 'Rejected' ? false : true;\n }\n this.flexiBenefits.doneNtaTotal = 0.00;\n this.flexiBenefits.doneTaTotal = 0.00;\n this.flexiBenefits.doneGrandTotal = this.flexiBenefits.doneNtaTotal + this.flexiBenefits.doneTaTotal;\n this.loadFlexiBenefitValues();\n this.flexiBenefits.IsAdmin = this.currentUser.Admin === 'Yes' ? true : false;\n\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n onLocalStatusChange(status) {\n this.flexiBenefits.doneNtaTotal = 0;\n this.flexiBenefits.doneTaTotal = 0;\n this.flexiBenefits.doneGrandTotal = 0;\n if (status === 'Status') {\n this.flexiBenefits.done2 = this.flexiBenefits.done;\n }\n else {\n if (status === 'P+A') {\n this.flexiBenefits.done2 = this.flexiBenefits.done.filter(a => a.Status === 'Pending' || a.Status === 'Approved');\n }\n else {\n this.flexiBenefits.done2 = this.flexiBenefits.done.filter(a => a.Status === status);\n }\n for (let item of this.flexiBenefits.done2) {\n this.flexiBenefits.doneNtaTotal += item.NTA;\n this.flexiBenefits.doneTaTotal += item.TA;\n }\n this.flexiBenefits.doneGrandTotal = this.flexiBenefits.doneNtaTotal + this.flexiBenefits.doneTaTotal;\n this.flexiBenefits.doneGrandTotal = parseFloat(this.flexiBenefits.doneGrandTotal.toFixed(2));\n }\n for (let item of this.flexiBenefits.done2) {\n if (item.Comments == null || item.Comments == \"null\" || item.Comments == undefined || item.Comments === \"null\" || item.Comments === null) {\n item.Comments = '';\n }\n }\n }\n\n loadFlexiBenefitValues() {\n this.flexibenefitService.getFlexiBenefitValues(this.currentUser.CustomerId)\n .subscribe(\n data => {\n this.flexiBenefits.ClaimEntitlementValue = parseFloat(data.m_Item1.toFixed(2));\n this.flexiBenefits.ClaimUtilisationValue = parseFloat(data.m_Item2.toFixed(2));\n this.flexiBenefits.AllowedFlexiBenefitLimit = this.flexiBenefits.ClaimEntitlementValue - this.flexiBenefits.ClaimUtilisationValue;\n this.flexiBenefits.AllowedFlexiBenefitLimit = parseFloat(this.flexiBenefits.AllowedFlexiBenefitLimit.toFixed(2));\n },\n error => {\n this.loading = false;\n this.errorMessage('Unable to fetch Flexi Benefit values.');\n });\n }\n\n private loadAllFlexiBenefit(isCustom) {\n //this.loading = true;\n //this.flexibenefitService.getAllFlexiBenefit(isCustom)\n this.flexibenefitService.getAllFlexiBenefit(this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n this.flexiBenefits.adminFBList = data;\n this.tempadminFBList = this.flexiBenefits.adminFBList;\n\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.Archive != 'Y'\n );\n\n for (let item of this.tempadminFBList) {\n if (item.Comments == null || item.Comments == \"null\" || item.Comments == undefined || item.Comments === \"null\" || item.Comments === null) {\n item.Comments = '';\n }\n }\n for (let item of this.flexiBenefits.adminFBList) {\n this.flexiBenefits.doneAdminNtaTotal += item.NTA;\n this.flexiBenefits.doneAdminTaTotal += item.TA;\n item.isApproveAllowed = item.Status == 'Approved' ? false : true;\n item.isRejectAllowed = item.Status == 'Rejected' ? false : true;\n }\n this.flexiBenefits.doneAdminGrandTotal = this.flexiBenefits.doneAdminNtaTotal + this.flexiBenefits.doneAdminTaTotal;\n\n },\n error => {\n this.loading = false;\n this.errorMessage(error.message);\n });\n\n }\n\n private onChange() {\n this.loading = true;\n this.ordersModel.range.id = '0';\n this.ordersModel.SKUSearch = \"\";\n\n this.ordersService.getFilterBy(this.fragmencesModel.GetDDData(), this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n for (let i of data) {\n i.OrderQty = this.ordersModel.qtys[0];\n i.totalPrice = i.OrderQty * i.RetailPrice;\n i.totalPrice = parseFloat(i.totalPrice.toFixed(2));\n }\n this.ordersModel.sku = data;\n },\n error => {\n this.loading = false;\n //this.alertService.error(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.errorMessage(error.message);\n });\n }\n\n addSKU(articleCode) {\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue;\n this.ordersModel.addSKU(articleCode, totalBonus, this.ordersModel.type.id);\n }\n\n removeGoods(index) {\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue;\n this.ordersModel.removeOrders(index, totalBonus, this.ordersModel.type.id);\n //this.ordersModel.SelectedStore = 0;\n }\n\n onSKUEnter(input) {\n\n }\n\n SKUSearch() {\n this.loading = true;\n this.fragmencesModel.category = 0;\n this.fragmencesModel.subCategory = 0;\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.brand = 0;\n this.ordersModel.UniqueBrand = 0;\n if (this.ordersModel.SKUSearch != null && this.ordersModel.SKUSearch.length > 0) {\n\n\n this.ordersService.getSKUSearch(this.ordersModel.SKUSearch.trim(), this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n for (let i of data) {\n i.OrderQty = this.ordersModel.qtys[0];\n i.totalPrice = i.OrderQty * i.RetailPrice;\n i.totalPrice = parseFloat(i.totalPrice.toFixed(2));\n }\n this.ordersModel.sku = data;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n }\n else {\n this.errorMessage('Please input to search box.');\n }\n }\n\n PriceChange() {\n if (this.ordersModel.range.id !== '0') {\n this.fragmencesModel.category = 0;\n this.fragmencesModel.subCategory = 0;\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.brand = 0;\n this.ordersModel.SKUSearch = \"\";\n this.ordersModel.UniqueBrand = 0;\n this.loading = true;\n switch (this.ordersModel.range.id) {\n case '1':\n this.ordersModel.priceRange.min = 0;\n this.ordersModel.priceRange.max = 10;\n break;\n case '2':\n this.ordersModel.priceRange.min = 11;\n this.ordersModel.priceRange.max = 20;\n break;\n case '3':\n this.ordersModel.priceRange.min = 21;\n this.ordersModel.priceRange.max = 50;\n break;\n case '4':\n this.ordersModel.priceRange.min = 51;\n this.ordersModel.priceRange.max = 100;\n break;\n case '5':\n this.ordersModel.priceRange.min = 101;\n this.ordersModel.priceRange.max = 500;\n break;\n case '6':\n this.ordersModel.priceRange.min = 501;\n this.ordersModel.priceRange.max = 1000;\n break;\n case '7':\n this.ordersModel.priceRange.min = 1000;\n this.ordersModel.priceRange.max = 99999;\n break;\n default:\n break;\n }\n this.ordersService.getPriceRangeSearch(this.ordersModel.priceRange, this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n for (let i of data) {\n i.OrderQty = this.ordersModel.qtys[0];\n i.totalPrice = i.OrderQty * i.RetailPrice;\n i.totalPrice = parseFloat(i.totalPrice.toFixed(2));\n }\n this.ordersModel.sku = data;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n }\n }\n\n BrandSelected() {\n this.loading = true;\n this.fragmencesModel.category = 0;\n this.fragmencesModel.subCategory = 0;\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.brand = 0;\n this.ordersModel.SKUSearch = \"\";\n this.ordersModel.range.id = '0';\n this.ordersService.getAllFragrancesByBrand(this.ordersModel.UniqueBrand, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n for (let i of data) {\n i.OrderQty = this.ordersModel.qtys[0];\n i.totalPrice = i.OrderQty * i.RetailPrice;\n i.totalPrice = parseFloat(i.totalPrice.toFixed(2));\n }\n this.ordersModel.sku = data;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n\n }\n\n isPlaceOrderDisabled() {\n //console.log(\"isPlaceOrderDisabled : \" + this.ordersModel.newOrders.length + \"/\" + this.actionOnOrder + \"/\" + this.currentUser.ComplimentaryGoodsValue + \"/\" + this.ordersModel.totalOrderColor);\n\n if (this.ordersModel.newOrders.length === 0 || (this.actionOnOrder == 'New' && this.currentUser.ComplimentaryGoodsValue <= 0) || (this.actionOnOrder == 'Copy' && this.currentUser.ComplimentaryGoodsValue <= 0) || this.ordersModel.totalOrderColor == 'red') {\n return true;\n }\n else {\n return false;\n }\n\n }\n\n isDraftDisabled() {\n //console.log(\"isDraftDisabled : \" + this.ordersModel.newOrders.length + \"/\" + this.actionOnOrder + \"/\" + this.ordersModel.totalOrderColor);\n\n if (this.ordersModel.newOrders.length === 0 || this.actionOnOrder == 'Edit' || this.actionOnOrder == 'Copy' || this.ordersModel.totalOrderColor == 'red') {\n return true;\n }\n else {\n return false;\n }\n\n }\n onTypeChange() {\n this.ordersModel.selectedInprogress = { 'orders': { '$values': [] } };\n this.ordersModel.selectedDraft = { 'orders': { '$values': [] } };\n this.ordersModel.selectedDone = { 'orders': { '$values': [] } };\n this.ngOnInit();\n }\n\n cancel() {\n //console.log(this.actionOnOrder);\n //this.editOrCopyOrder = false;\n\n this.ordersModel.clearCurrentOrder();\n this.loadOrders();\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue;\n this.ordersModel.getTotalQty(totalBonus, this.ordersModel.type.id);\n\n if (this.actionOnOrder == 'Edit')\n $('#Progress').tab('show');\n\n if (this.actionOnOrder == 'Copy')\n $('#Past').tab('show');\n\n this.actionOnOrder = 'New';\n }\n\n refresh() {\n //console.logconsole.log(this.actionOnOrder);\n //this.editOrCopyOrder = false;\n\n this.ordersModel.clearCurrentOrder();\n this.loadOrders();\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue;\n this.ordersModel.getTotalQty(totalBonus, this.ordersModel.type.id);\n //this.actionOnOrder = 'New';\n }\n saveDraft() {\n if (this.validateStore()) {\n if (this.ordersModel.totalOrderColor !== 'red') {\n this.loading = true;\n\n for (const i of this.ordersModel.newOrders) {\n i.OrderQty = i.OrderQty;\n }\n\n var yyyy = new Date().getFullYear().toString();\n var mm = (new Date().getMonth() + 1).toString(); // getMonth() is zero-based \n var dd = new Date().getDate().toString();\n var hh = new Date().getHours().toString();\n var mn = new Date().getMinutes().toString();\n var sc = new Date().getSeconds().toString();\n\n let formData = new FormData();\n formData.append('OrderMasterId', this.ordersModel.orderMasterId.toString());\n formData.append('OrderQty', this.ordersModel.totalOrderQty.toString());\n formData.append('OrderStatus', 'Draft');\n formData.append('OrderDate', (((dd[1] ? dd : \"0\" + dd[0]) + '.' + (mm[1] ? mm : \"0\" + mm[0]) + '.' + yyyy + \".\" + hh + \".\" + mn + \".\" + sc).toString()));\n formData.append('TotalOrderValue', this.ordersModel.totalOrderPrice.toString());\n formData.append('Currency', this.currentUserCountryCurrency.toString());\n formData.append('Ordertype', this.ordersModel.type.id.toString());\n formData.append('CustomerId', this.currentUser.CustomerId.toString());\n formData.append('IsDraft', 'true');\n\n //formData.append('StoreCode', (this.ordersModel.SelectedStore != 0 ? this.ordersModel.SelectedStore.toString() : ''));\n if (this.ordersModel.StoreLocatorVisible) {\n formData.append('StoreCode', (this.ordersModel.SelectedStore != 0 ? this.ordersModel.SelectedStore.toString() : ''));\n } else {\n formData.append('StoreCode', '');\n }\n\n formData.append('orders', JSON.stringify(this.ordersModel.newOrders));\n\n this.ordersService.placeOrder(formData)\n .subscribe(\n data => {\n //this.loading = false;\n // this.alertService.success('Draft Saved Successfully', false);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n\n this.ordersModel.clearCurrentOrder();\n this.loadOrders();\n //this.loadDraftOrder();\n\n this.successMessage(\"Order has been saved as 'Draft'\");\n\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n else {\n // this.alertService.error('Order value exceeds available credits in your account');\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage('Order value exceeds available credits in your account.');\n }\n }\n }\n\n validateMarketPlace() {\n if (this.currentUser.IsFirstOrderPlaced == false)\n this.markerconstdisplay = 'block';\n else {\n this.placeOrder();\n /* added for the error*/\n this.authenticationService.login(this.currentUser.UserName, this.currentUser.Password)\n .subscribe(\n data => {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.loadOrders();\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n },\n error => {\n //this.alertService.error(error);\n this.errorMessage(error.message);\n this.loading = false;\n });\n }\n }\n\n validateStore() {\n var result = true;\n if (this.ordersModel.StoreLocatorVisible) {\n if (this.ordersModel.SelectedStore == 0) {\n this.errorMessage('Please select Store.');\n //this.alertService.error('Please select Store');\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n result = false;\n }\n }\n return result;\n }\n\n placeOrder() {\n if (this.validateStore()) {\n if (this.ordersModel.totalOrderColor !== 'red') {\n this.loading = true;\n\n var fragrance = undefined;\n var FragrancesDataUnAvailable = [];\n var limitedOrderArticlesFound = false;\n var limitedOrderArticlesFoundMessage = \"\";\n\n for (const i of this.ordersModel.newOrders) {\n\n fragrance = this.ordersModel.getActiveFragrances.filter(a => a.ArticleCode == i.ArticleCode)[0];\n //fragrance = this.ordersService.getFragranceByCodeCountry(i.ArticleCode, i.Country);\n\n i.OrderQty = i.OrderQty;\n\n if (fragrance == null || fragrance == undefined) {\n FragrancesDataUnAvailable.push(i);\n } else if (i.Brand == 'SKS' && i.OrderQty > 1) {\n limitedOrderArticlesFound = true;\n limitedOrderArticlesFoundMessage = \" - Allowed quantity per order for Article is 1.
\";\n }\n //} else if (i.ArticleCode == 'SKS82247369L' && i.OrderQty > 1) {\n // limitedOrderArticlesFound = true;\n // limitedOrderArticlesFoundMessage += \" - Allowed quantity per order for Article SKS82247369L is 1.
\";\n //} else if (i.ArticleCode == 'SKS82247382L' && i.OrderQty > 2) {\n // limitedOrderArticlesFound = true;\n // limitedOrderArticlesFoundMessage += \" - Allowed quantity per order for Article SKS82247382L is 2.
\";\n //}\n }\n\n if (limitedOrderArticlesFound) {\n this.errorMessage(\"Maximum allowed quantity exceeded.
\" + limitedOrderArticlesFoundMessage);\n } else if (FragrancesDataUnAvailable.length > 0) {\n var msg = 'Following Articles are not available :';\n FragrancesDataUnAvailable.forEach(element => {\n msg = msg + ' ' + element.ArticleCode + ';';\n });\n\n this.errorMessage(msg);\n\n } else {\n\n var yyyy = new Date().getFullYear().toString();\n var mm = (new Date().getMonth() + 1).toString(); // getMonth() is zero-based \n var dd = new Date().getDate().toString();\n var hh = new Date().getHours().toString();\n var mn = new Date().getMinutes().toString();\n var sc = new Date().getSeconds().toString();\n //this.loading = true;\n let formData = new FormData();\n formData.append('OrderMasterId', this.ordersModel.orderMasterId.toString());\n formData.append('OrderQty', this.ordersModel.totalOrderQty.toString());\n formData.append('OrderStatus', 'In Progress');\n formData.append('OrderDate', ((dd[1] ? dd : \"0\" + dd[0]) + '.' + (mm[1] ? mm : \"0\" + mm[0]) + '.' + yyyy + \".\" + hh + \".\" + mn + \".\" + sc).toString());\n formData.append('TotalOrderValue', this.ordersModel.totalOrderPrice.toString());\n formData.append('Currency', this.currentUserCountryCurrency.toString());\n formData.append('Ordertype', this.ordersModel.type.id.toString());\n formData.append('CustomerId', this.currentUser.CustomerId.toString());\n formData.append('IsDraft', 'false');\n //formData.append('StoreCode', (this.ordersModel.SelectedStore != 0 ? this.ordersModel.SelectedStore.toString() : ''));\n if (this.ordersModel.StoreLocatorVisible) {\n formData.append('StoreCode', (this.ordersModel.SelectedStore != 0 ? this.ordersModel.SelectedStore.toString() : ''));\n } else {\n formData.append('StoreCode', '');\n }\n formData.append('orders', JSON.stringify(this.ordersModel.newOrders));\n this.ordersService.placeOrder(formData)\n .subscribe(\n data => {\n if (data == true || data.m_Item1) {\n //this.loading = false;\n //this.alertService.success('Order Placed Successfully', false);\n this.actionOnOrder = 'New';\n this.successMessage('Order has been Placed Successfully.');\n this.ordersModel.clearCurrentOrder();\n this.ordersModel.SelectedStore = 0;\n //this.editOrCopyOrder = false;\n //this.editOrder = false;\n //this.copyOrder = false;\n // this.ordersModel.draftOrderMasterId = 0;\n this.authenticationService.login(this.currentUser.UserName, this.currentUser.Password)\n .subscribe(\n data => {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.loadOrders();\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n },\n error => {\n //this.alertService.error(error);\n this.errorMessage(error.message);\n this.loading = false;\n });\n }\n else {\n this.errorMessage(data.m_Item2);\n }\n\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n } else {\n this.loading = false;\n // this.alertService.error();\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage('Order value exceeds available credits in your account');\n }\n }\n }\n\n onQtyChange(index) {\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue;\n this.ordersModel.onQtyChange(index, totalBonus, this.ordersModel.type.id);\n }\n\n onFileSelected(event, index) {\n var fbfile = event.target.files[0];\n this.flexiBenefits.newFBList[index].FileName = fbfile.name;\n this.flexiBenefits.newFBList[index].Attachment = fbfile;\n console.log(this.flexiBenefits.newFBList[index]);\n }\n\n onFBCatChange(index) {\n var tempfb = this.flexiBenefits.CategoryDropDown.filter(a => a.CategoryName == this.flexiBenefits.newFBList[index].Category)[0];\n console.log(tempfb);\n this.flexiBenefits.newFBList[index].NTA = 0.00;\n this.flexiBenefits.newFBList[index].TA = 0.00;\n this.flexiBenefits.newFBList[index].NTAFlag = !tempfb.NTAFlag;\n this.flexiBenefits.newFBList[index].TAFlag = !tempfb.TAFlag;\n this.calculateDraftFBTotal();\n }\n\n calculateDraftFBTotal() {\n this.flexiBenefits.draftNtaTotal = 0;\n this.flexiBenefits.draftTaTotal = 0;\n this.flexiBenefits.draftGrandTotal = 0;\n for (let item of this.flexiBenefits.newFBList) {\n this.flexiBenefits.draftNtaTotal += item.NTA;\n }\n for (let item of this.flexiBenefits.newFBList) {\n this.flexiBenefits.draftTaTotal += item.TA;\n }\n this.flexiBenefits.draftNtaTotal = parseFloat(this.flexiBenefits.draftNtaTotal.toFixed(2));\n this.flexiBenefits.draftTaTotal = parseFloat(this.flexiBenefits.draftTaTotal.toFixed(2));\n this.flexiBenefits.draftGrandTotal = this.flexiBenefits.draftNtaTotal + this.flexiBenefits.draftTaTotal;\n this.flexiBenefits.draftGrandTotal = parseFloat(this.flexiBenefits.draftGrandTotal.toFixed(2));\n\n }\n ResetFlexiBenefitForm(IsResetSearchRequired) {\n this.flexiBenefits.newFBList = [\n {\n Id: 0,\n ReceiptDate: '',\n Category: 'Select',\n NTA: 0.00,\n TA: 0.00,\n NTAFlag: true,\n TAFlag: true,\n FileName: '',\n Status: '',\n CustId: '',\n Attachment: File\n },\n {\n Id: 0,\n ReceiptDate: '',\n Category: 'Select',\n NTA: 0.00,\n TA: 0.00,\n NTAFlag: true,\n TAFlag: true,\n FileName: '',\n Status: '',\n CustId: '',\n Attachment: File\n },\n {\n Id: 0,\n ReceiptDate: '',\n Category: 'Select',\n NTA: 0.00,\n TA: 0.00,\n NTAFlag: true,\n TAFlag: true,\n FileName: '',\n Status: '',\n CustId: '',\n Attachment: File\n }\n ];\n this.flexiBenefits.draftNtaTotal = 0;\n this.flexiBenefits.draftTaTotal = 0;\n this.flexiBenefits.draftGrandTotal = 0;\n this.loadFlexiBenefit();\n this.loadFlexiBenefitValues();\n this.resetsearchFlexiBenefit(IsResetSearchRequired);\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n }\n\n RefreshFlexiBenefitForm(resetSearchRequired) {\n this.loadFlexiBenefit();\n this.loadFlexiBenefitValues();\n this.resetsearchFlexiBenefit(resetSearchRequired);\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n this.fblocalsearchStatus = 'Status';\n this.onLocalStatusChange(this.fblocalsearchStatus);\n }\n\n AddNewFlexiBenefit() {\n this.flexiBenefits.newFBList.push({\n Id: 0,\n ReceiptDate: '',\n Category: 'Select',\n NTA: 0.00,\n TA: 0.00,\n NTAFlag: true,\n TAFlag: true,\n FileName: '',\n Status: '',\n CustId: '',\n Attachment: File\n });\n }\n\n validateFlexiBenefit() {\n this.loading = true;\n if (this.flexiBenefits.draftGrandTotal !== undefined) {\n if (this.flexiBenefits.draftGrandTotal <= this.flexiBenefits.AllowedFlexiBenefitLimit) {\n this.flexiBenefits.draft = this.flexiBenefits.newFBList.filter(a => a.NTA > 0 || a.TA > 0);\n var isValid = true;\n var fileSizeExceeded = \"\";\n if (this.flexiBenefits.draft.length > 0) {\n for (let item of this.flexiBenefits.draft) {\n if ((item.NTA > 0 || item.TA > 0) && item.Attachment.arguments === null) {\n isValid = false;\n break;\n }\n if (item.ReceiptDate === '' || item.Category === 'Select') {\n isValid = false;\n break;\n }\n\n if (item.Attachment.size > 5242880) {\n fileSizeExceeded = item.Attachment.name + \" exceeded 5MB size.\" + \"
\";\n }\n }\n\n if (isValid && fileSizeExceeded == \"\") {\n this.saveFlexiBenefit();\n }\n else if (!isValid) {\n this.errorMessage('One or more input is missing, please input and try again.');\n }\n else if (fileSizeExceeded !== \"\") {\n this.errorMessage(fileSizeExceeded);\n }\n else {\n this.errorMessage('One or more input is missing, please input and try again.');\n }\n }\n else {\n this.errorMessage('Please input atleast a single record.');\n }\n\n\n }\n else {\n this.errorMessage('Your claim value ' + this.flexiBenefits.draftGrandTotal + ' is higher than allowed limit ' + this.flexiBenefits.AllowedFlexiBenefitLimit);\n }\n }\n else {\n this.errorMessage('Please input atleast a single record.');\n }\n\n }\n\n saveFlexiBenefit() {\n\n let formData = new FormData();\n for (let item of this.flexiBenefits.newFBList) {\n item.Id = 0;\n item.CustId = this.currentcustomerId;\n item.Status = 'Pending';\n // formData.append(item.FileName, item.Attachment);\n // formData.append('Item','TestingFormData');\n }\n this.flexiBenefits.draft = this.flexiBenefits.newFBList.filter(a => a.NTA > 0 || a.TA > 0);\n for (let i = 0; i < this.flexiBenefits.draft.length; i++) {\n formData.append(this.flexiBenefits.draft[i].FileName, this.flexiBenefits.draft[i].Attachment);\n formData.append(i.toString(), JSON.stringify(this.flexiBenefits.draft[i]));\n }\n this.loading = true;\n this.flexibenefitService.saveFlexiBenefit(formData)\n .subscribe(\n data => {\n if (data == true || data.m_Item1) {\n //this.alertService.success('Personal Email Updated Successfully', false);\n this.loading = false;\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n\n this.successMessage('Flexi Benefit Info Saved');\n this.ResetFlexiBenefitForm(1);\n this.loadFlexiBenefit()\n if (this.IsAdmin) {\n this.resetsearchFlexiBenefit(1);\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n }\n }\n else {\n this.errorMessage(data.m_Item2);\n }\n\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n }\n\n // approveFlexiBenefitConfirm(fbid){\n // this.event = 'approveFlexiBenefit';\n // this.fbid = fbid;\n // this.confirmContent = \"Are you sure, you want to approve this claim ?\";\n // this.confirmOkaytext = \"Approve\";\n // this.confirmBox.show();\n // }\n\n SubmitClaimConfirm() {\n this.authenticationService.ValidateBatchProcessingDownTime()\n .subscribe(\n data => {\n if (data === true) {\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([\"login\"]);\n } else {\n this.event = 'submitClaimConfirm';\n this.confirmBox.show();\n }\n }\n );\n }\n\n HideSidePanel() {\n this.showSidePanel = 0;\n }\n\n ShowSidePanel() {\n this.showSidePanel = 1;\n }\n\n approveFlexiBenefit(flexiid, approvalComment) {\n let formData = new FormData();\n formData.append('flexiid', flexiid);\n formData.append('approvereject', '1');\n formData.append('comments', approvalComment);\n this.flexibenefitService.approverejectFlexiBenefit(formData)//flexiid,1,\"Approved\")\n .subscribe(\n result => {\n if (result) {\n var item = this.flexiBenefits.adminFBList.filter(a => a.Id == flexiid)[0];\n // this.flexiBenefits.adminFBList.filter(\n // a => a.Id == this.fbid\n // )[0].Status = 'Approved';\n item.Status = 'Approved';\n item.isApproveAllowed = item.Status == 'Approved' ? false : true;\n item.isRejectAllowed = item.Status == 'Rejected' ? false : true;\n //this.RefreshFlexiBenefitForm(0);\n //this.loadFlexiBenefit();\n this.loadFlexiBenefitValues();\n this.successMessage('Flexi Benefit Approved');\n }\n else {\n this.errorMessage(\"Record doesn't exists, kindly refresh\");\n }\n },\n error => {\n this.loading = false;\n this.errorMessage(\"Record doesn't exists, kindly refresh\");\n });\n }\n\n // rejectFlexiBenefitConfirm(fbid, rejectionComment){\n // if(rejectionComment === undefined || rejectionComment === null || rejectionComment.trim().length<1){\n // this.errorMessage(\"Please add rejection comments.\");\n // }\n // else{\n // this.event = 'rejectFlexiBenefit';\n // this.fbid = fbid;\n // this.rejectionComments = rejectionComment;\n // this.confirmContent = \"Are you sure, you want to reject this claim ?\";\n // this.confirmOkaytext = \"Reject\";\n // this.confirmBox.show();\n // }\n\n // }\n\n rejectFlexiBenefit(flexiid, rejectionComment) {\n\n if (rejectionComment === undefined || rejectionComment === null || rejectionComment.trim().length < 1) {\n this.errorMessage(\"Please add rejection comments.\");\n }\n else {\n rejectionComment = rejectionComment.replace(new RegExp('\\n', 'g'), '\\n');\n //.replace(/\\n/g, \"\\\\\\\\n\").replace(/\\r/g, \"\\\\\\\\r\").replace(/\\t/g, \"\\\\\\\\t\");\n let formData = new FormData();\n formData.append('flexiid', flexiid);\n formData.append('approvereject', '0');\n formData.append('comments', rejectionComment);\n\n //this.flexibenefitService.approverejectFlexiBenefit(flexiid,0, rejectionComment)\n this.flexibenefitService.approverejectFlexiBenefit(formData)\n .subscribe(\n result => {\n if (result) {\n var item = this.flexiBenefits.adminFBList.filter(a => a.Id == flexiid)[0];\n item.Status = 'Rejected';\n item.isApproveAllowed = item.Status == 'Approved' ? false : true;\n item.isRejectAllowed = item.Status == 'Rejected' ? false : true;\n this.loadFlexiBenefit();\n this.loadFlexiBenefitValues();\n this.successMessage('Flexi Benefit Rejected');\n }\n else {\n this.errorMessage(\"Record doesn't exists, kindly refresh\");\n }\n },\n error => {\n this.loading = false;\n this.errorMessage(\"Record doesn't exists, kindly refresh\");\n });\n }\n }\n\n deleteFlexiBenefitConfirm(fbid) {\n this.event = 'deleteFlexiBenefit';\n this.fbid = fbid;\n this.confirmContent = \"Are you sure, you want to delete this claim ?\";\n this.confirmOkaytext = \"Delete\";\n this.confirmBox.show();\n }\n\n deleteFlexiBenefit() {\n this.flexibenefitService.deleteFlexiBenefit(this.fbid)\n .subscribe(\n result => {\n if (result) {\n this.loadFlexiBenefit();\n this.resetsearchFlexiBenefit(1);\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n this.successMessage('Flexi Benefit Deleted');\n }\n else {\n this.errorMessage(\"Record is already approved, can't delete.\");\n }\n },\n error => {\n this.loading = false;\n this.errorMessage(\"Unknown Error has occured.\");\n });\n }\n\n deleteTempFlexiBenefit(fb) {\n this.flexiBenefits.newFBList = this.flexiBenefits.newFBList.filter(a => a !== fb);\n this.calculateDraftFBTotal();\n }\n\n exportFlexiBenefit() {\n if (this.fbFromDate === undefined || this.fbToDate === undefined || this.fbFromDate === null || this.fbToDate === null) {\n this.errorMessage(\"Please select the From and To Date\");\n }\n else {\n this.flexibenefitService.exportFlexiBenefit(this.fbFromDate, this.fbToDate, this.fbsearchStatus, this.fbsearchId)\n .subscribe(\n data => {\n const blob = new Blob([data], { type: data.type }); // you can change the type\n const url = window.URL.createObjectURL(blob);\n window.open(url);\n },\n error => {\n this.loading = false;\n this.errorMessage(error.message);\n });\n }\n }\n\n searchFlexiBenefit() {\n //this.flexibenefitService.getAllFlexiBenefit(true)\n this.flexibenefitService.getAllFlexiBenefit(this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n this.flexiBenefits.adminFBList = data;\n this.tempadminFBList = this.flexiBenefits.adminFBList;\n for (let item of this.tempadminFBList) {\n if (item.Comments == null || item.Comments == \"null\" || item.Comments == undefined || item.Comments === \"null\" || item.Comments === null) {\n item.Comments = '';\n }\n }\n for (let item of this.flexiBenefits.adminFBList) {\n this.flexiBenefits.doneAdminNtaTotal += item.NTA;\n this.flexiBenefits.doneAdminTaTotal += item.TA;\n item.isApproveAllowed = item.Status == 'Approved' ? false : true;\n item.isRejectAllowed = item.Status == 'Rejected' ? false : true;\n\n }\n this.flexiBenefits.doneAdminGrandTotal = this.flexiBenefits.doneAdminNtaTotal + this.flexiBenefits.doneAdminTaTotal;\n console.log(this.fbsearchId);\n if (typeof this.fbsearchId != 'undefined' && this.fbsearchId && this.fbsearchId.toString().trim().length > 0) {\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.Id == this.fbsearchId || a.CustName.includes(this.fbsearchId)\n );\n }\n\n if (this.fbsearchStatus != 'Select') {\n if (this.fbsearchStatus === 'P+A') {\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.Status == 'Pending' || a.Status == 'Approved'\n );\n }\n else {\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.Status == this.fbsearchStatus\n );\n }\n }\n console.log(this.fbFromDate);\n if (this.fbFromDate != undefined) {\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.CreatedDate.split('T')[0] >= this.fbFromDate\n );\n }\n console.log(this.fbToDate);\n if (this.fbToDate != undefined) {\n this.tempadminFBList = this.tempadminFBList.filter(\n a => a.CreatedDate.split('T')[0] <= this.fbToDate\n );\n }\n\n },\n error => {\n this.loading = false;\n this.errorMessage(error.message);\n });\n\n\n }\n\n resetsearchFlexiBenefit(resetSearchRequired) {\n //console.log(this.fbsearchId);\n if (resetSearchRequired !== 0) {\n this.fbsearchId = '';\n this.fbsearchStatus = 'Select';\n this.fbFromDate = null;\n this.fbToDate = null;\n }\n this.loadAllFlexiBenefit(this.fbCustomSearch);\n //this.tempadminFBList = this.flexiBenefits.adminFBList;\n }\n\n /*\n private loadAllFragmances() {\n this.ordersService.getFragmencesFilter()\n .subscribe(\n data => {\n this.fragmencesModel.fragmences = data;\n this.fragmencesModel.merchandiseCategory = this.fragmencesModel.fragmences.MechantiseCategory[0];\n this.fragmencesModel.subCategory = this.fragmencesModel.fragmences.SubCategory[0];\n this.fragmencesModel.category = this.fragmencesModel.fragmences.Category[0];\n this.fragmencesModel.brand = this.fragmencesModel.fragmences.Brand[0];\n this.onChange();\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n */\n\n private getStoreObject(storeCode, storeName) {\n var obj: any = {};\n obj.StoreCode = storeCode;\n obj.StoreName = storeName;\n return obj;\n }\n\n private getBrandObject(brand, brandDesc) {\n var obj: any = {};\n obj.Brand = brand;\n obj.BrandDesc = brandDesc;\n return obj;\n }\n\n private convertDicitionaryToList(dictionary, entityType) {\n var arr = [];\n\n for (var key in dictionary) {\n if (dictionary.hasOwnProperty(key)) {\n if (entityType == 'Store') {\n arr.push(this.getStoreObject(key, dictionary[key]));\n }\n if (entityType == 'Brand') {\n arr.push(this.getBrandObject(key, dictionary[key]));\n }\n }\n }\n return arr;\n }\n\n private loadStores() {\n this.ordersService.getStores(this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.ordersModel.ListOfStores = data;\n\n this.ordersModel.SelectedStore = 0;\n this.ordersModel.devideOrders();\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private validateStoreVisiblity() {\n this.ordersService.storeLocatorVisibleCheck(this.currentUser.UserName)\n .subscribe(\n data => {\n this.ordersModel.StoreLocatorVisible = data;\n if (this.ordersModel.StoreLocatorVisible) {\n this.loadStores();\n }\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n /*\n private loadUniqueBrands() {\n this.ordersService.getUniqueBrandsFilter()\n .subscribe(\n data => {\n this.ordersModel.ListOfBrands = data;\n this.ordersModel.UniqueBrand = 0;\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n */\n\n\n private getActiveFragrancesByCountry(countryCode) {\n this.ordersService.getActiveFragrancesByCountry(countryCode)\n .subscribe(\n data => {\n this.ordersModel.getActiveFragrances = data;\n },\n error => {\n this.errorMessage(error.message);\n });\n }\n\n\n private loadUniqueBrandsByCountryCode(countryCode) {\n //console.log(countryCode);\n this.ordersService.getUniqueBrandsByCountryCode(this.currentUser.UserName, countryCode)\n .subscribe(\n data => {\n this.ordersModel.ListOfBrands = data;\n this.ordersModel.UniqueBrand = 0;\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private loadCategories(countryCode) {\n this.ordersService.getCategoriesFilter(this.currentUser.UserName, countryCode)\n .subscribe(\n data => {\n this.fragmencesModel.fragmences.Category = data;\n this.fragmencesModel.fragmences.SubCategory = [];\n this.fragmencesModel.fragmences.MechantiseCategory = [];\n this.fragmencesModel.fragmences.Brand = [];\n this.fragmencesModel.category = 0;\n this.fragmencesModel.subCategory = 0;\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.brand = 0;\n },\n error => {\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private onCategoryChange() {\n this.loading = true;\n //this.fragmencesModel.fragmences.SubCategory = [];\n this.fragmencesModel.subCategory = 0;\n this.ordersService.getSubCategoriesFilter(this.fragmencesModel.category, this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.fragmencesModel.fragmences.SubCategory = data;\n this.fragmencesModel.subCategory = 0;\n this.fragmencesModel.fragmences.MechantiseCategory = [];\n this.fragmencesModel.fragmences.Brand = [];\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.brand = 0;\n this.loading = false;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private onSubCategoryChange() {\n this.loading = true;\n //this.fragmencesModel.fragmences.MechantiseCategory = [];\n this.fragmencesModel.merchandiseCategory = 0;\n this.ordersService.getMechantiseCategoriesFilter(this.fragmencesModel.category, this.fragmencesModel.subCategory, this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n this.fragmencesModel.fragmences.MechantiseCategory = data;\n this.fragmencesModel.merchandiseCategory = 0;\n this.fragmencesModel.fragmences.Brand = [];\n this.fragmencesModel.brand = 0;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private onMerchandiseCategoryChange() {\n this.loading = true;\n // this.fragmencesModel.fragmences.Brand = [];\n this.fragmencesModel.brand = 0;\n this.ordersService.getBrandFilter(this.fragmencesModel.category, this.fragmencesModel.subCategory, this.fragmencesModel.merchandiseCategory, this.currentUser.UserName, this.currentUser.CountryCode)\n .subscribe(\n data => {\n this.loading = false;\n this.fragmencesModel.fragmences.Brand = data;\n this.fragmencesModel.brand = 0;\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n\n private placeDraftOrder() {\n\n //this.alertService.error('Copying to place order');\n this.errorMessage('Copying to place order.');\n\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n\n this.ordersModel.newOrders.orders = this.ordersModel.selectedDraft.orders;\n let totalBonus = this.currentUser.ComplimentaryGoodsValue + this.currentUser.BonusValue + this.ordersModel.editInProgressAmt;\n if (totalBonus >= this.ordersModel.selectedDraft.TotalOrderValue) {\n this.loading = true;\n // this.ordersModel.placeOrder();\n this.ordersModel.selectedDraft.IsDraft = false;\n this.ordersModel.selectedDraft.OrderStatus = 'In Progress';\n // this.ordersModel.selectedDraft.OrderMasterId = 0;\n //console.log(this.ordersModel.selectedDraft);\n var yyyy = new Date().getFullYear().toString();\n var mm = (new Date().getMonth() + 1).toString(); // getMonth() is zero-based \n var dd = new Date().getDate().toString();\n var hh = new Date().getHours().toString();\n var mn = new Date().getMinutes().toString();\n var sc = new Date().getSeconds().toString();\n\n let formData = new FormData();\n formData.append('OrderMasterId', this.ordersModel.selectedDraft.orderMasterId.toString());\n formData.append('OrderQty', this.ordersModel.selectedDraft.totalOrderQty.toString());\n formData.append('OrderStatus', 'In Progress');\n formData.append('OrderDate', (((dd[1] ? dd : \"0\" + dd[0]) + '.' + (mm[1] ? mm : \"0\" + mm[0]) + '.' + yyyy + \".\" + hh + \".\" + mn + \".\" + sc).toString()));\n formData.append('TotalOrderValue', this.ordersModel.selectedDraft.totalOrderPrice.toString());\n formData.append('Currency', this.currentUserCountryCurrency.toString());\n formData.append('Ordertype', this.ordersModel.selectedDraft.type.id.toString());\n formData.append('CustomerId', this.currentUser.CustomerId.toString());\n formData.append('IsDraft', 'false');\n\n formData.append('StoreCode', (this.ordersModel.selectedDraft.SelectedStore != 0 ? this.ordersModel.selectedDraft.SelectedStore.toString() : ''));\n formData.append('orders', JSON.stringify(this.ordersModel.selectedDraft.newOrders));\n this.ordersService.placeOrder(formData)\n .subscribe(\n data => {\n //this.loading = false;\n this.ordersModel.selectedDraft = { 'orders': { '$values': [] } };\n //this.alertService.success('Order Placed Successfully', false);\n this.successMessage('Order has been placed successfully.');\n\n this.authenticationService.login(this.currentUser.UserName, this.currentUser.Password)\n .subscribe(\n data => {\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.loadOrders();\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n },\n error => {\n //this.alertService.error(error);\n this.errorMessage(error.message);\n this.loading = false;\n });\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n\n });\n }\n else {\n // this.alertService.error('Order value exceeds available credits in your account');\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage('Order value exceeds available credits in your account.');\n }\n }\n\n\n private deleteDratOrder() {\n this.loading = true;\n //console.log(this.ordersModel.selectedDraft.OrderMasterId);\n this.ordersService.deleteDraftOrder(this.ordersModel.selectedDraft.OrderMasterId)\n .subscribe(\n data => {\n this.ordersModel.selectedDraft = { 'orders': { '$values': [] } };\n //this.alertService.success('Draft Order Deleted Successfully', false);\n this.successMessage('Draft Order deleted successfully.');\n this.ordersModel.clearCurrentOrder();\n this.loadOrders();\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n\n }\n\n private UpdateUserEmail() {\n this.loading = true;\n this.ordersService.UpdateUserEmail(this.currentUser.PersonalEmail, this.currentUser.CustomerId)\n .subscribe(\n data => {\n //this.alertService.success('Personal Email Updated Successfully', false);\n this.loading = false;\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n\n this.successMessage('Personal Email updated successfully.');\n\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n\n }\n\n\n private UpdateUserPhone() {\n this.loading = true;\n if (this.currentUser.MobileNumber == \"\") {\n this.currentUser.MobileNumber = \"NA\";\n }\n this.ordersService.UpdateUserPhone(this.currentUser.MobileNumber, this.currentUser.CustomerId)\n .subscribe(\n data => {\n //this.alertService.success('Personal Mobile Number Updated Successfully', false);\n this.loading = false;\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.successMessage('Personal Mobile number updated successfully.');\n },\n error => {\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n\n }\n\n openModal(source) {\n this.display = \"block\";\n if (source == 'ChangePassword') {\n this.showChangePassword = 1;\n this.showFlexiBenefit = 0;\n }\n if (source == 'FlexiBenifit') {\n this.showChangePassword = 0;\n this.showFlexiBenefit = 1;\n }\n }\n loadeditfbrecord(fbeditrecord) {\n this.model.fbeditId = fbeditrecord.Id;\n this.model.fbeditCustId = fbeditrecord.CustId;\n\n this.model.fbeditReceiptDate = fbeditrecord.ReceiptDate.toString().split('T')[0];\n this.model.fbeditCategory = fbeditrecord.Category;\n var matchRecord = this.flexiBenefits.CategoryDropDown.filter(a => a.CategoryName === fbeditrecord.Category)[0];\n this.model.fbeditNTAFlag = !matchRecord.NTAFlag;\n this.model.fbeditTAFlag = !matchRecord.TAFlag;\n this.model.fbeditNTA = fbeditrecord.NTA;\n this.model.fbeditTA = fbeditrecord.TA;\n }\n OnFBEditRecordChange(categoryName) {\n var matchRecord = this.flexiBenefits.CategoryDropDown.filter(a => a.CategoryName === categoryName)[0];\n if (matchRecord != undefined) {\n this.model.fbeditNTA = 0.00;\n this.model.fbeditTA = 0.00;\n this.model.fbeditNTAFlag = !matchRecord.NTAFlag;\n this.model.fbeditTAFlag = !matchRecord.TAFlag;\n }\n }\n openFBEditModal(fbRecord) {\n const dialogRef = this.dialog.open(ModalComponent, { data: { fbRecord: fbRecord }, disableClose: true });\n dialogRef.afterClosed().subscribe((submit) => {\n //Console.log(submit);\n })\n }\n\n submitUpdateFBRequest(form: NgForm) {\n let formData = new FormData();\n formData.append('Id', this.model.fbeditId);\n formData.append('CustId', this.model.fbeditCustId);\n formData.append('ReceiptDate', this.model.fbeditReceiptDate);\n formData.append('Category', this.model.fbeditCategory);\n formData.append('NTA', this.model.fbeditNTA);\n formData.append('TA', this.model.fbeditTA);\n this.flexibenefitService.UpdateFlexiBenefit(formData)\n .subscribe(\n data => {\n //if(data.m_Item1 == true){\n if (data == true || data.m_Item1 == true) {\n this.display = \"none\";\n this.model = {};\n form.resetForm();\n this.loading = false;\n this.successMessage('Flexi Benefit Info Saved');\n this.searchFlexiBenefit();\n this.loadFlexiBenefitValues();\n //this.ResetFlexiBenefitForm(0);\n //this.loadFlexiBenefit()\n // if(this.IsAdmin){\n // //this.resetsearchFlexiBenefit(0);\n // //this.loadAllFlexiBenefit(this.fbCustomSearch);\n // }\n }\n else {\n this.display = \"none\";\n this.model = {};\n form.resetForm();\n this.errorMessage(data.m_Item2);\n }\n\n },\n error => {\n this.display = \"none\";\n this.model = {};\n form.resetForm();\n this.loading = false;\n // this.alertService.error(error.message);\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n this.errorMessage(error.message);\n });\n }\n\n onCloseHandled(form: NgForm) {\n\n this.display = \"none\";\n form.resetForm();\n }\n\n onMarketClose(form: NgForm) {\n this.subscribemarket('N', form);\n }\n\n changePassword(form: NgForm) {\n if (this.model.newPassword == this.model.cnfPassword) {\n this.loading = true;\n this.authenticationService.changepassword(this.model.oldpassword, this.model.newPassword)\n .subscribe(\n data => {\n //console.log(data);\n if (data != null) {\n //this.alertService.success('Password Updated Successful', true);\n this.successMessage('Password Update - successful.');\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\n this.currentUser.Password = this.model.newPassword;\n localStorage.setItem('currentUser', JSON.stringify(this.currentUser));\n this.display = \"none\";\n this.model = {};\n form.resetForm();\n\n } else {\n //this.alertService.error('Password Updated Failed');\n this.errorMessage('Password Update - Failed');\n }\n this.loading = false;\n\n },\n error => {\n this.errorMessage(error.message);\n this.loading = false;\n });\n }\n else {\n // this.alertService.error(\"New Password & Confirm Password Should be same\");\n this.errorMessage('New Password & Confirm Password Should be same.');\n // setTimeout(() => {\n // this.alertService.clearMessage();\n // }, 5000);\n }\n }\n subscribemarket(marketFlg: String, form: NgForm) {\n this.loading = true;\n this.ordersService.SubscribeMarket(marketFlg, this.model.mobile, this.model.email, this.currentcustomerId.toString())\n .subscribe(\n data => {\n\n this.markerconstdisplay = \"none\";\n this.model = {};\n form.resetForm();\n this.loading = false;\n this.marketingdisable = true\n this.marketcheck = true;\n this.placeOrder();\n\n },\n error => {\n this.errorMessage(error.message);\n this.loading = false;\n });\n }\n subscribeMarketChange(event: any) {\n\n var marketFlg = 'Y';\n if (event.target.checked) {\n marketFlg = 'N';\n }\n this.loading = true;\n this.ordersService.SubscribeMarket(marketFlg, null, null, this.currentcustomerId.toString())\n .subscribe(\n data => {\n this.loading = false;\n },\n error => {\n this.errorMessage(error.message);\n });\n\n }\n\n copyCompletedOrder(i: number) {\n this.ordersModel.editCompletedOrder(i, this.currentUser);\n //this.editOrCopyOrder = true;\n this.actionOnOrder = 'Copy';\n //this.copyOrder = true;\n //this.navigatingFromEdit = true;\n //this.selectTab(2);\n $('#New').tab('show');\n }\n\n editInProgressOrder(i: number) {\n this.ordersModel.editInProgressOrder(i);\n //this.editOrCopyOrder = true;\n this.actionOnOrder = 'Edit';\n //this.editOrder = true;\n //this.navigatingFromEdit = true;\n //this.selectTab(2);\n $('#New').tab('show');\n }\n\n //initializeNewFB(){\n //this.flexiBenefits.initializeNewFB();\n //}\n\n deleteInProgressOrder(i: number) {\n this.loading = true;\n this.ordersModel.deleteInProgressOrder(i);\n\n this.ordersService.deleteInProgressOrder({\n 'OrderMasterId': this.ordersModel.orderMasterId,\n 'TotalOrderValue': this.ordersModel.totalOrderPrice,\n 'CustomerId': this.currentUser.CustomerId,\n }).subscribe(\n data => {\n //this.alertService.success('Order Deleted Successfully', false);\n this.loadOrders();\n if (data) {\n this.currentUser.ComplimentaryGoodsValue += this.ordersModel.totalOrderPrice;\n this.currentUser.ComplimentaryGoodsValue = parseFloat(this.currentUser.ComplimentaryGoodsValue.toFixed(2));\n }\n this.ordersModel.clearCurrentOrder();\n this.loadOrders();\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n this.successMessage('Order deleted successfully.');\n\n },\n error => {\n this.loading = false;\n this.errorMessage(error.message);\n //setTimeout(() => {\n // this.alertService.clearMessage();\n //}, 5000);\n\n });\n }\n\n selectTab(index: number): void {\n this.selectedIndex = index;\n }\n\n /*\n tabChanged = (tabChangeEvent): void => {\n if (!this.navigatingFromEdit) {\n if (this.editOrCopyOrder) {\n this.ordersModel.totalOrderQty = 0;\n this.ordersModel.totalOrderPrice = 0;\n this.ordersModel.selectDraftOrder(this.ordersModel.draftOrderMasterId);\n this.editOrCopyOrder = false;\n this.editOrder = false;\n this.copyOrder = false;\n this.ordersModel.editInProgressAmt = 0;\n }\n }\n\n this.navigatingFromEdit = false;\n this.selectedIndex = tabChangeEvent.index;\n }*/\n\n\n successMessage(message) {\n this.toastr.success(message, 'Success');\n }\n\n errorMessage(message) {\n this.toastr.error(message, 'Error', { enableHtml: true });\n }\n\n\n private sendCancel($event: any): void {\n //return false;\n }\n\n confirmEvent(showConfirm: boolean) {\n if (showConfirm) {\n //console.log(\"confirmEvent : \" + this.event);\n this.confirmBox.hide();\n\n if (this.event == 'deleteDratOrder')\n this.deleteDratOrder();\n\n if (this.event == 'deleteInProgressOrder')\n this.deleteInProgressOrder(this.orderId);\n\n if (this.event == 'updateOrder')\n this.validateMarketPlace();\n\n if (this.event == 'placeOrder')\n this.validateMarketPlace();\n\n if (this.event == 'saveAsDraft')\n this.saveDraft();\n\n // if (this.event == 'approveFlexiBenefit')\n // this.approveFlexiBenefit();\n\n // if (this.event == 'rejectFlexiBenefit')\n // this.rejectFlexiBenefit();\n\n if (this.event == 'deleteFlexiBenefit')\n this.deleteFlexiBenefit();\n\n if (this.event == 'submitClaimConfirm')\n this.validateFlexiBenefit();\n }\n }\n\n\n\n orderDeleteConfirm(orderId: any) {\n //console.log(this.orderId);\n\n //this.orderId = orderId;\n //this.event = 'deleteInProgressOrder'\n //this.confirmBox.show();\n }\n\n orderPlaceConfirm() {\n this.authenticationService.ValidateDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([\"login\"]);\n } else {\n if (this.validateStore()) {\n this.event = 'placeOrder'\n this.confirmBox.show();\n }\n }\n }\n );\n }\n\n orderUpdateConfirm() {\n this.authenticationService.ValidateDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([\"login\"]);\n } else {\n if (this.validateStore()) {\n this.event = 'updateOrder'\n this.confirmBox.show();\n }\n }\n }\n );\n }\n\n orderSaveAsDraftConfirm() {\n this.authenticationService.ValidateDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([\"login\"]);\n } else {\n if (this.validateStore()) {\n this.event = 'saveAsDraft'\n this.confirmBox.show();\n }\n }\n }\n );\n }\n\n draftOrderDeleteConfirm() {\n this.authenticationService.ValidateDownTime()\n .subscribe(\n data => {\n if (data === true) { //true - down, false - up\n localStorage.clear();\n this.authenticationService.logout();\n this.router.navigate([\"login\"]);\n } else {\n this.event = 'deleteDratOrder';\n this.confirmBox.show();\n }\n }\n );\n }\n}","export * from './home.component';","export * from './login.component';","module.exports = \" \\n \\n \\n\\n
\\n
\\n

LUXASIA Complimentary Goods Portal

\\n
\\n
\\n \\n
\\n
\\n \\n \\n
Username is required
\\n
\\n
\\n \\n \\n
Password is required
\\n
\\n
\\n \\n Forgot Password\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n\\n \\n
\\n
\\n
\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { AlertService, AuthenticationService } from '../_services/index';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n moduleId: module.id.toString(),\n templateUrl: 'login.component.html?v=${new Date().getTime()}'\n})\n\nexport class LoginComponent implements OnInit {\n model: any = {};\n loading = false;\n returnUrl: string;\n TermsDisplay: any = 'none';\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private toastr: ToastrService) {\n }\n\n ngOnInit() {\n console.log(\"ngOnInit()\");\n\n // get return url from route parameters or default to '/'\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\n let downUrl = \"appdown\";\n\n //navigate to down page\n //this.authenticationService.ValidateDownTime()\n //this.authenticationService.ValidateBatchProcessingDownTime()\n // .subscribe(\n // data => {\n // if (data === true) {\n // localStorage.clear();\n // this.authenticationService.logout();\n // this.router.navigate([downUrl]);\n // }\n // }\n //);\n }\n\n onTermsChange(value: any) {\n this.authenticationService.TermsChange(value)\n .subscribe(\n data => {\n if (this.model.Terms === false) {\n this.TermsDisplay = 'inline';\n }\n }\n );\n }\n\n authenticationError() {\n this.toastr.error('Authentication failed, Invalid credentials.', 'Error');\n }\n\n login() {\n this.loading = true;\n this.authenticationService.login(this.model.username, this.model.password)\n .subscribe(\n data => {\n if (data === null) {\n\n //this.alertService.error('Invalid username/password');\n this.authenticationError();\n this.loading = false;\n }\n else {\n if (data.Terms === false) {\n this.TermsDisplay = 'inline';\n this.loading = false;\n }\n else {\n this.TermsDisplay = 'none';\n this.router.navigate([this.returnUrl]);\n this.loading = false;\n }\n\n\n }\n },\n error => {\n //this.alertService.error(error);\n this.toastr.error(error, 'Error');\n this.loading = false;\n });\n\n\n }\n}\n","module.exports = \"\"","module.exports = \"

\\r\\n modal works!\\r\\n

\\r\\n \"","import { Component, Inject, HostListener } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html?v=${new Date().getTime()}',\r\n styleUrls: ['./modal.component.css?v=${new Date().getTime()}']\r\n})\r\nexport class ModalComponent {\r\n\r\n fbrecord;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) private data: any) {\r\n this.fbrecord = data.fbrecord\r\n }\r\n\r\n @HostListener('document:keyup.escape') onClose() {\r\n this.onCancel();\r\n }\r\n \r\n onCancel() {\r\n this.dialogRef.close();\r\n }\r\n \r\n onSubmit() {\r\n this.dialogRef.close(this.fbrecord);\r\n }\r\n\r\n}\r\n","export * from './register.component';","module.exports = \"
\\n
\\n

Reset your password

\\n
\\n
\\n \\n
\\n
\\n \\n \\n
Employee ID is required
\\n
\\n \\n
\\n \\n Cancel\\n \\n
\\n
\\n
\\n
\"","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AlertService } from '../_services/index';\nimport { AuthenticationService } from '../_services/authentication.service';\nimport { ToastrService } from 'ngx-toastr';\n\n@Component({\n moduleId: module.id.toString(),\n templateUrl: 'register.component.html?v=${new Date().getTime()}'\n})\n\nexport class RegisterComponent {\n model: any = {};\n loading = false;\n\n constructor(\n private router: Router,\n private authenticationService: AuthenticationService,\n private alertService: AlertService,\n private toastr: ToastrService) { }\n\n resetPassword() {\n this.loading = true;\n /* this.authenticationService.resetPassword(this.model.email, this.model.username)\n .subscribe(\n data => {\n //this.alertService.success('Password Reset Successful', true);\n this.toastr.success('Password Reset Successful. New password has been sent to registered email address.','Success');\n this.router.navigate(['/login']);\n },\n error => {\n //this.alertService.error(error.message);\n this.toastr.error(error.message,'Error');\n this.loading = false;\n }); */\n\n this.authenticationService.resetPassword(this.model.username)\n .subscribe(\n data => {\n //this.alertService.success('Password Reset Successful', true);\n if (data) {\n this.toastr.success('Password Reset Successful. New password has been sent to registered email address.','Success');\n this.router.navigate(['/login']);\n } else {\n this.toastr.error('Password Reset Unsuccessful. Please contact Administrator.','Error');\n this.router.navigate(['/login']);\n } \n },\n error => {\n //this.alertService.error(error.message);\n this.toastr.error(error.message,'Error');\n this.loading = false;\n });\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appTwoDigitDecimaNumber]'\n})\nexport class TwoDigitDecimaNumberDirective {\n // Allow decimal numbers and negative values\n private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\n // Allow key codes for special events. Reflect :\n // Backspace, tab, end, home\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', '-', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {\n }\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n console.log(this.el.nativeElement.value);\n // Allow Backspace, tab, end, and home keys\n if (this.specialKeys.indexOf(event.key) !== -1) {\n return;\n }\n let current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n}","module.exports = \"a {\\n cursor: pointer;\\n}\\n\\n.help-block {\\n font-size: 12px;\\n}\\n\\n.main-div {\\n margin:10px 0;\\n text-align:center;\\n border:2px solid grey;\\n}\\n\\n.logout-div{\\n color:white;\\n margin-top:-40px;\\n margin-right:20px;\\n}\\n\\n.left-panel{\\n color:black;\\n border:2px solid grey;\\n background-color:#008998;\\n height:600px;\\n}\"","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: true\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"sourceRoot":""}