{"version":3,"file":"main.js","mappings":"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AAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;;;;;ACfpB;AAC4B;AAE9B;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,yFAAsB,EAAE,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA","sources":["./src/app/_guard/canAc-app-guard.service.ts","./src/app/_guard/canDe-app-guard.service.ts","./src/app/_service/api-link/api-link.service.ts","./src/app/_service/appservice/appservice.service.ts","./src/app/_service/loading/loading.service.ts","./src/app/_service/mediastream/mediastream.service.ts","./src/app/_tabs/tabs.page.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/item_chalkboard/item_chalkboard.page.ts","./src/app/login/login.page.ts","./src/app/reports/reports.page.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm|lazy|/^/.*/.entry/.js$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object"],"sourcesContent":["import { Injectable } from \"@angular/core\";\r\nimport { Router, CanActivate, ActivatedRouteSnapshot } from \"@angular/router\";\r\nimport { AppserviceService } from \"../_service/appservice/appservice.service\";\r\n\r\n\r\n@Injectable({\r\nprovidedIn: \"root\"\r\n})\r\nexport class CanActivateGuard implements CanActivate {\r\n\r\n\r\npermit: any = null; // must be null.... until set also triggered by menu\r\ngoToUrl: string;\r\nisLogout: number = 0;\r\n\r\n\r\n\r\nconstructor(public router: Router, public appService: AppserviceService) {\r\n \r\n}\r\n\r\n\r\nnavStats(){\r\nconsole.log(\"ROUTE STATS\" + this.router.url + ' <> '+ this.goToUrl + ' permit? ' + this.permit);\r\n}\r\n\r\n\r\n\r\n\r\n// PROMISE\r\nasync canActivate(route: ActivatedRouteSnapshot): Promise {\r\n \r\nconsole.log(this.goToUrl = '/'+ route.parent.routeConfig.path);\r\n\r\n\r\n\r\n\r\n\r\n//1.\r\nif(this.router.url === '/' && this.goToUrl === \"/\"){ \r\n//console.log('allowed root & permit: ' + this.permit);\r\nthis.permit = 0;\r\nreturn true; \r\n} \r\n\r\n\r\n\r\n\r\n\r\n//2. TO GUARDED home\r\nif(this.permit > 0 ){\r\n//console.log('allowed activate bypass'); \r\nthis.permit = 0;\r\nreturn true; \r\n}\r\n\r\n\r\n//3. BOUNCE BACK\r\nthis.router.navigate([this.router.url],{skipLocationChange: true}); \r\nhistory.pushState (null, null,this.appService.urlstate); \r\nhistory.pushState (null, null,this.appService.urlstate); \r\nconsole.log(\"reject can activate\");\r\nreturn false;\r\n\r\n\r\n} // end observable function\r\n\r\n\r\n\r\n} // end of class","import { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanDeactivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { AppserviceService } from '../_service/appservice/appservice.service';\r\n\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: () => Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\npermit: number = 0; \r\nisLogout: number = 0;\r\nisEnroll: number = 0;\r\ncartLock: boolean = false;\r\ngoToUrl: string;\r\n\r\nconstructor(public router: Router, public appService: AppserviceService) {\r\n }\r\n\r\n\r\n\r\n\r\nnavStats(){\r\n//console.log(\"ROUTE STATS\" + this.router.url + ' <> '+ this.goToUrl + ' permit? ' + this.permit);\r\n}\r\n\r\ncanDeactivate(component: CanComponentDeactivate, route: ActivatedRouteSnapshot,state: RouterStateSnapshot) {\r\n\r\nthis.goToUrl = '/'+ route.parent.routeConfig.path; \r\nthis.navStats();\r\n\r\n\r\n/*\r\n//0 FROM TAB CLICK\r\nif(this.router.url === '/launch-ext'){ \r\nhistory.pushState (null, null,'/launch-ext'); // NEEDED FOR BACK ======> \"\" not \"/\"\r\nhistory.pushState (null, null,'/launch-ext'); // NEEDED FOR BACK ======> \"\" not \"/\"\r\nreturn false; \r\n} \r\n*/\r\n\r\n\r\n\r\n//1 FROM TAB CLICK\r\nif(this.router.url === '/app/enroll' && this.goToUrl === '/'){ \r\nreturn true;\r\n} \r\n\r\n\r\n\r\n//2 FROM TAB CLICK\r\nif(this.router.url === '/app/cart' \r\n&& this.goToUrl === '/'\r\n&& this.cartLock === false) return true;\r\n\r\n\r\n\r\n\r\n//3 \r\nif(this.permit > 0){\r\nthis.permit = 0;\r\nreturn true; \r\n}\r\n\r\n\r\n\r\n\r\n//7 BOUNCE BACK \r\nlet ur = this.router.url;\r\nlet urto\r\n\r\nif(ur.includes(\";\")){\r\nurto = ur.slice(0, ur.indexOf(\";\"));\r\n} else urto = ur;\r\n\r\n\r\nthis.router.navigate([urto],{ skipLocationChange: true}); \r\nhistory.pushState (null, null,this.appService.urlstate); // NEEDED FOR BACK ======> \"\" not \"/\"\r\nhistory.pushState (null, null,this.appService.urlstate); // NEEDED FOR BACK ======> \"\" not \"/\"\r\nconsole.log(\"reject deactivate\");\r\nreturn false; \r\n\r\n} // end observable\r\n\r\n\r\n} // end class","import { Injectable } from '@angular/core';\nimport { HttpClient} from '@angular/common/http';\nimport { Observable } from 'rxjs';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApiLinkService {\n\npublic URL = 'https://appbrid.com' //not read\npublic API = '';\n\n\npublic API1 = 'http://198.38.94.14:8181'; // local nonSSL\npublic API2 = 'https://gsglobalsrv.com'; // per Tomcat host @Cmocha - hosted\npublic auTkn: string = 'E5F5079DA611B44C80C145C99E8F3227';\n//to pull from server not TS file\n\n\n \n\n\nconstructor(\npublic http: HttpClient) {\n}\n\n\n\n\ngeoZips(zip: string): Observable {\nlet loc = \"https://singlesearch.alk.com/NA/api/search?authToken=\" \n+ this.auTkn \n+ \"&query=zip:\" + zip \n+ \"&countries=US\"\nreturn this.http.get(loc);\n}\n\n\n\n\noptStops(data: string, opt: string):Observable {\nlet stopsdata = JSON.stringify(this.apiCharTurnCate(data));\nconsole.log(opt, stopsdata)\nreturn this.http.get(this.API + '/api/optstops/'+ opt + '/' + stopsdata );\n}\n\n\n//get stops\napiGetStops(inv: string, stp: any):Observable {\n // console.log(\"get stops: \", inv, stp) \nreturn this.http.get(this.API + '/api/stops/' + inv +'/' + stp);\n}\n \n\n\n\n\n\n\noptLane(data: any, opt: string):Observable {\nlet lanesdata = JSON.stringify(this.apiCharTurnCate(data)); \nconsole.log(opt,lanesdata)\nreturn this.http.get(this.API + '/api/optlanes/'+ opt + '/' + lanesdata );\n}\n \n\n\napiLanes(grp: string, uId: string):Observable {\nreturn this.http.get(this.API + '/api/lanes/' + grp + '/' + uId);\n}\n\n\n\napiItems(itemsdata: any):Observable {\nlet data = JSON.stringify(itemsdata); \n//console.log(data)\nreturn this.http.get(this.API + '/api/itemsrch/' + data);\n}\n\n\n//RETRIEVE IN GRPS TABLE\nuserLists(grp: string, userId: string):Observable {\nreturn this.http.get(this.API + '/api/useritems/' + grp + '/' + userId);\n}\n\n//STORES IN GRPS TABLE\napiInvUser(invN: string, grp: string, userId: string, typ: string):Observable { \nreturn this.http.get(this.API + '/api/invUser/'+ invN + '/' + grp + '/' + userId+ '/' + typ);\n}\n\nremFavItem(invN: string, grp: string, userId: string):Observable {\nreturn this.http.get(this.API + '/api/remFavItem/'+ invN + '/' + grp + '/' + userId);\n} \n \napiInvRff(a: any):Observable {\nreturn this.http.get(this.API + '/api/invRff/'+ a.invN + '/' + a.shipId + '/' + a.userId + '/' + a.iStatus);\n}\n\nremInvRff(a: any):Observable {\nreturn this.http.get(this.API + '/api/reminvRff/'+ a.invN + '/' + a.shipId + '/' + a.userId + '/' + a.iStatus);\n}\n\ngetInvRff(a: any):Observable {\nreturn this.http.get(this.API + '/api/getRff/'+ a.invN + '/' + a.userId + '/' + a.typ);\n}\n\napiPosts(postdata: any, typ: any):Observable {\nlet data = JSON.stringify(this.apiCharTurnCate(postdata)); \n//==============console.log(typ,data); \nreturn this.http.get(this.API + '/api/itempost/'+ data + '/' + typ);\n}\n\n\n//LOAD ALERT - FOR EMAIL\napiItemAlert(itemAl: any):Observable {\nlet data = JSON.stringify(itemAl); \nconsole.log(data); \nreturn this.http.get(this.API + '/api/itemAlert/'+ data);\n}\n\n\n\napiInvSeat(dy: string,seat: string):Observable {\nreturn this.http.get(this.API + '/api/seat/'+ dy + '/' + seat);\n}\n\n\n\n\n\ngetAppData(app: string): Observable {\nreturn this.http.get(this.API + '/api/appdata/' + app);\n}\n\n\ngetUsersList(entId: string): Observable {\nreturn this.http.get(this.API + '/api/viewUsers/' + entId);\n}\n\n\ngetUser(srchVal: string,srchEnt: string,matchVal: string): Observable {\nreturn this.http.get(this.API + '/api/' + srchVal + '/' + srchEnt + '/' + matchVal);\n}\n\n\n\nregUser(userData: any): Observable {\nlet data = JSON.stringify(userData);\nreturn this.http.get(this.API + '/api/enroll/' + data);\n}\n\n\n\nchgPass(ent: string, eUid: string,ePwx: string): Observable {\nreturn this.http.get(this.API + '/api/chgP/' + ent + '/' + eUid + '/' + ePwx);\n}\n \n\n\n\ngetRefPhone(refLink: string):Observable {\nreturn this.http.get(this.API + '/api/reflink/' + refLink);\n}\n\n \noptIN(sentData: any, addKP: boolean): Observable {\nlet data = JSON.stringify(sentData); \n\nif(addKP === true){ \nreturn this.http.get(this.API + '/api/cpSent/' + data + '/' + addKP); \n\n}\nelse{\nreturn this.http.get(this.API + '/api/updateKPN/' + data);\n}\n\n}\n\n\n\ngetUserCreds(ent: String, eUxn: string,ePwx: string): Observable { \n let user = {\n \"profileGroup\" : ent,\n \"userName\" : eUxn,\n \"encrytedPassword\" : ePwx\n }\n \n let sd = this.API+'/api/userCreds/'; \n return this.http.post(sd, user);\n }\n\n\nupdateProfile(userData: any): Observable {\nlet data = userData\nlet sd = this.API+'/api/updateProfile/'; \nreturn this.http.post(sd, data);\n}\n\n\ngetAppUser(userId: string): Observable { \nreturn this.http.get(this.API + '/api/getUser/' + userId ); \n}\n \n\n\n\n\nchkUsername(ent: String, eUxn: string): Observable { \nreturn this.http.get(this.API + '/api/chkUser/' + ent + '/i/' + eUxn ); \n}\n\n\ngetAppTkn(ent: String, uId: string): Observable { \nreturn this.http.get(this.API + '/api/apptkn/' + ent + '/u/' + uId); \n}\n\n\ncheckAppTkn(tkn: string): Observable { \nreturn this.http.get(this.API + '/api/checkapptkn/' + tkn); \n}\n\n\ngetInviteData(refCode: any, ent: any, cpgn: any,): Observable { \nreturn this.http.get(this.API + '/api/invitedata/'+ refCode + '/e/' + ent + '/c/' + cpgn); \n}\n \n\napiCpgns(pGroup: any, pType: any):Observable {\nreturn this.http.get(this.API + '/api/cpgnGrp/' + pGroup + '/' + pType);\n}\n\n\napiProducts(entId: string, uId: string):Observable {\nlet ld = this.API + '/api/products/'+ entId + '/u/' + uId;\nreturn this.http.get(ld);\n}\n\n\n\napiCharTurnCate(obj){\n Object.keys(obj).forEach(col =>{\n\n let value = obj[col];\n \n if(!value ) return; // if undefined\n if(typeof(value) === \"string\" ){\n \n\n obj[col] = value\n .replace(/\\r\\n/gi,\"@rn@\")\n .replace(/\\r/gi,\"@rcr@\")\n .replace(/\\n/gi,\"@ncr@\")\n .replace(/\\\\/gi,\"@bsl@\")\n .replace(/\\//gi,\"@fsl@\")\n .replace(/\\#/gi,\"@htg@\")\n .replace(/\\%/gi,\"@pct@\")\n .replace(/\\?/gi,\"@qsm@\")\n .replace(/\\[/gi,\"@lbr@\")\n .replace(/\\]/gi,\"@rbr@\"); \n }\n \n });\n \n return obj;\n }\n\n\n \n //example\n save(user: any): Observable {\n let result: Observable;\n if (user['href']) { // HAS FIELD DATA FOR HREF\n result = this.http.put(user.href, user);\n } else {\n result = this.http.post(this.API, user)\n }\n return null;\n //result.catch(error => Observable.throw(error));\n }\n\n\n\n\n\n\n\n\n\n\n}\n","import { Injectable, ViewChild} from '@angular/core';\nimport { Router,RoutesRecognized} from '@angular/router';\nimport { filter, pairwise } from 'rxjs/operators';\nimport { AlertController, IonInput, NavController, ToastController} from '@ionic/angular';\nimport { ApiLinkService } from '../../_service/api-link/api-link.service';\nimport { isPlatform} from '@ionic/angular';\n\nimport { LoadingService } from '../loading/loading.service';\nimport { MediastreamService } from '../mediastream/mediastream.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppserviceService {\n@ViewChild('qualInput', {static: false}) qualInput: IonInput; \n\n\ndefsPost: any = {\n crr: \"MAY DAY TRUCKING\",\n crrAddress: \"5600 S BAY\",\n crrAddress2: \"UNIT 55\",\n crrCity: \"Atlanta\",\n crrContact: \"Dave Allen\",\n crrData: \"PASS\",\n crrEmail: \"billyortese@astrdotcom\",\n crrId: 0,\n crrNotes: \"na\",\n crrPhone: \"555-666-444\",\n crrState: \"GA\",\n crrZipcode: \"30056\",\n creditInfo: \"PASS\",\n freightDloc: \"Atlanta, GA\",\n freightStops: 0,\n freightdPo: \"850000\",\n dhd: \"12\",\n dho: \"52\",\n crrdotAuth: \"5894000\",\n editedBy: \"GARY\",\n freightEquipment: \"V R F\",\n freightExtras: \"1. Palletized rail racks\\r\\n2. No touch / assisting\\r\\n3. Tracking is required\",\n invDate: \"2023-03-03\",\n freightinvRate: \"3,800\",\n invRpm: \"3.80\",\n invoiceNotes: \"NA\",\n freightitemDetails: \"The VERY UPMOST purpose of a product description is to supply customers with important information about the features and benefits of the product so they're compelled to buy.The VERY UPMOST purpose of a product description is to supply customers with important information about the features and benefits of the product so they're compelled to buy.\",\n itemInvoice: \"\",\n freightitemWgt: \"37500\",\n crrmcAuth: \"895550\",\n freightmilesBill: \"0\",\n modified: \"No\",\n freightOloc: \"Dallas, TX\",\n freightoPo: \"850000\",\n otherCharges: \"0.00\",\n pmtMethod: \"YES\",\n posted: \"\",\n printed: \"\",\n freightserviceOrder: \"DRY VAN\",\n settledAmt: \"3,750.00\",\n settledDate: \"2023-03-03\",\n shipAddress: \"8900 WEST LAKE\",\n shipAddress2: \"STE 5\",\n shipCity: \"Dallas\",\n shipCo: \"PEPSI\",\n shipContact: \"John Green\",\n shipEmail: \"green@pdotcom\",\n shipId: 0,\n shipNotes: \"NOT SET\",\n shipPhone: \"888-888-0000\",\n shipState: \"TX\",\n shipZipcode: \"33380\",\n totals: \"3,800\",\n trueRate: \"3,800\",\n trueRpm: \"3.80\",\n spotRate: \"5,800\",\n spotRpm: \"5.80\",\n freightpickFrom: \"\",\n freightpickTo: \"\",\n freightpickTime: \"10AM EST\",\n freightdropFrom: \"\",\n freightdropTo: \"\",\n freightdropTime: \"3PM EST\",\n freightitemStatus: \"Inactive\",\n freightOGps: \"\",\n freightOZipcode: \"\", \n freightDGps: \"\",\n freightDZipcode: \"\",\n lastAlert: \"\", \n };\nrootId: any = null; // 1. from Url visit: ENTITY\ncodeId: any = null; // 2. from initial Url ONLY set in splash: valid Url referral code (user or null)\nrefCode: any = null; // 3. current Enroller referrer / corpId id codeid is null\n // USED BEFORE LOGIN to populate CredsUserInfo\ntodaySQL: string;\nminiHgt: number = 320;\n\nappver: string = ''; // set from appComp\nurlcode: any = null;\nurlstate: any = null;\nloginFromUrl: any = null;\ndidEnd: any ='0';\nentMsg: any = '';\nextReg: any = '';\n/*\n1. BABY STEP\n2. TEST\n3. ASSUME ACCEPTANCE\n4. CLOSE (OFFER 2 CHOICES)\n*/\n\n\nprogress: any = 0;\n//PLATFORM\nplatWidth: any = 0;\nplatHeight: any = 0;\nisIOS: boolean;\nscreenFull: boolean = false;\n//screen: any;\n\n//nav initial\nnavigate: any =[];\npgTitle: any = '';\ntoolBarClass: string = 'appTbBG';\n\n\ntoolBarOwn: string = '';\nnoHdrLine: string = 'home items_page lanes policyterms ratecon item_invoice pklist'\nnoTabHdr: string = 'home enroll items_page lanes item_search posting policyterms ratecon item_invoice pklist';\nnoTabs: string = 'ratecon item_invoice posting pklist';\nnoProgbar: string = 'pklist';\n\ntopSectionScrolls: string = \"\"; // leave unset\nviewTabs: boolean = true; // for cart\n\n//delayHdr: boolean = true;\npageload: number = 350;\n\n//HOME SCREEN\ntmpHS: number = 0; \nchgPwd: boolean = false;\n\n\n//Connection Timer\ndataVal: any;\n\n\n//APP DATA\nprevUrl: any = null; \ntimeOutVal: number = 600;\ntimeDelay: number = 1000;\nalertRes: boolean = null;\nappInfo: any = null;\napptoken: any = null;\n\n\n\n//app launch\ntokenUrl: any;\nappverify: any;\n\n\n/////////////\nerrMsg: any = null;\nmsg: any = null;\ndblButton: boolean = false;\nhiddenButton: boolean = false;\nbkButtonHide: boolean = false;\n\n\n//LOADS\nisItem: string = \"\";\nisCbItem: string = \"\";\nisFhItem: string = \"\";\n\n\nisOpen: string = \"\";\nisCbOpen: string = \"\"; \nisFhOpen: string = \"\";\n\napiItemsList: any = []; \nmaxCatIdx: number;\n//searchN: any = [];\nsearchY: any = [];\n//itemSrch: any = []; \ndidSrch: boolean = true; \n\norgSrch: any = ''; \ndstSrch: any = '';\nequSrch: any = ''; \nfrSrch: any = '';\ntoSrch: any = '';\n\n//totalCT: number = 0;\nprevTotalCT: number = 0;\n\n\n\n\nmainPromol1: string = 'Thank you!';\nmainPromol2: string = 'Get discounts of up to $200';\n\n\n//OPEN FROM REFERRAL LINK\ninvNbr: any;\ncpgnId: any;\nsrchCode: any;\nrefByCHX: boolean = false;\n\n\n\n//REFERRAL DATA\nudpRefC: boolean = false;\nrefLink: any = null;\nsentPhone: any = null;\noptPhone: any = null;\noptConf: any = \"\";\ncxPhNum: number = 1;\n\n\nrefUser: any = null;\nrefProfileGroup: any = null;\nrefProfileType: any = null;\n\n//NEW USER\nnewEnrollee: any = null;\nnewpwd: string = null;\n\ncurCt: number = 0;\nkeyCt: number = 0;\n\n//LOGGED IN\ncredsInfo: any = null;\nuCpgns: any = null;\nisLoggedIn: any = null;\n \n\n//REPORTS\nusersReportInfo: any;\nusersReportInfoCT: any;\n \n//CART & ORDER\ncartCt: number = 0;\ndidOrder: number = 0;\ninCart: any = [];\ncartTotal: number = 0;\n\n\n//CHALKBOARD\ninCBoard: any = [];\n\ninFHistory: any = [];\n\n\n//CAMPAIGNS\ndefcpgn: any = 0;\nuCpgnCt: any = 0;\n\n\n///media\n\n\n\n\n\n\n\n//screen\nscreenInfo: string;\ntopLeftMenuHidden: boolean = false;\ncolpsW: number = 1099;\nisCollapsed: boolean;\nmobiW: number = 640;\n\n\nstopItem: boolean = false;\nisItemUpd: string = \"Done\"; \n\n\npEye: string = \"password\";\npinEye: string = \"password\";\nsLC: boolean = false;\nbsp: number = 0;\n\ndetailH: any; //def\ndvHgt: any = 65; //actual -1\noFlowDets: boolean;\ndetailW: number;\n\n\n\nitemIntv: any = null;\nsyncIntv: any = null;\nsyncIncr: number = 750;\nsyncProgress: any;\nitemTimer: number = 20000;\nlast_itemUpdate: string = new Date().toISOString();\nlast_stopsUpdate: string = new Date().toISOString();\n\nitemAge: number = 30;\n\nshowLA: boolean = false;\nitemAlertMsg: string;\ntmpCt: number = 0; \n\nhostname: string;\nisMobiW: boolean;\nclientHgt: number;\nlastScroll: string = \"\";\ninputErr: string = \"\";\nvalidPost: boolean = false;\nlastPostErr: string = \"\";\nfail_post: string = \"\";\ncurUrl: string = \"\";\n\n\nsDate: string = \"\";\nshowCal: boolean = false;\n\ntoday: string;\nuserDefs: any = [];\n\n\n\nsearchparams1: string = '';\nsearchparams2: string = '';\nsearchparams3: string = '';\nsearchparams4: string = '';\nsearchparams5: string = '';\n\ncrtSearch: string = \"\";\nlastAddc: boolean;\n\n\nincludeDefList: boolean = false;\nuserDefsCT: number;\nresCT: number = 0;\n\nsearchIdx: number = 0;\nsearchIdxfinal: number;\n\n\n\nitemRows: number;\nfhViewRows: number;\nlanesView: any = [];\nvBtn: number = 0;\n spList1: number = 0;\n spList2: number = 0;\n spList3: number = 0;\n spList4: number = 0;\n spList5: number = 0;\n alertitemTCT: any = 0;\n introPos: number;\n res1: number;\n res2: any;\n res3: any;\n res4: any;\n res5: any;\n ViewCT: number;\n\n \n\n sPost: any = [];\n crrReqs: any = [];\n\n \n showSort: boolean = false;\n sortedL: string = \"Age - Newest\";\n sortedC: string = \"Age - Newest\";\n sortedH: string = \"Age - Newest\";\n\n searchlistRC: any = [];\n searchlistINV: any = [];\n\n inCrrReqs: string = \"\";\n inCrrReqsCT: number = 0;\n tripStops: any = [];\n withStops: boolean = false;\n\n\n //POSTING SERVICE\nvalTemp: string = \"\";\nsView: string = \"\";\nviewSB: boolean = false;\nisPosting: boolean = false;\npostEdit: boolean = false;\n\ncurrLane: string = \"\";\nlStopItemed: string;\npostType: string;\ntoDelstops: string = \"\";\ntoDelstopsRows: any = [];\ndoValidate: boolean;\n\nisFrClean: any;\nisTsClean: any;\nisFrDirty: number = 0;\nfHalert: number = 0;\n \n \nitemstatus = [\n\"All Freight\",\n\"Open Freight\",\n\"Unassigned\",\n\"Booked\",\n\"Contracted\",\n\"Transit\",\n\"Delivered\",\n\"Pending Issue\",\n\"Completed\",\n\"Inactive\"]\n\n\n\nitemFltr: string = \"Open Freight\";\noptFltr: string = \"Open Freight\";\n\nitemFltrFH: string = \"All Freight\";\noptFltrFH: string = \"All Freight\";\noptReq: boolean = false;\ncbalert: number = 0;\nstatusList: any[];\n\nprevReqCT: number = 0;\nprevCrrReqs: string = '';\nrunCount: number = 0;\n\nnotifysound: string = this.apiLink.URL + '/_stream/happy_notification.mp3';\n \n//this service frees up app component at load tiem\nconstructor(public router: Router, public loading: LoadingService, public navCrtl: NavController,\nprivate alertController: AlertController,private toastCtrl: ToastController, \npublic apiLink: ApiLinkService,\npublic player: MediastreamService\n) {\n\nif(isPlatform('ios')) this.isIOS = true;\n\n\nthis.todaySQL = this.sqlReadyDate(new Date().toLocaleDateString());\n}\n\n\n\n\nupdateUserProfile(u){\nreturn new Promise (resolve =>{\nlet up = this.apiLink.updateProfile(u).subscribe(async p => {\nconsole.log(p)\n\n if(p[0].includes(\"denied or not found\")){\n alert('Server did not save changes \\nbut this session will execute with changes!\\n\\nTry again or re-login.');\n resolve(false);\n up.unsubscribe();\n return;\n }\n else{\n resolve(true);\n } \n up.unsubscribe();\n }, err=>{\n console.log(err);\n }); \n })\n\n}\n\n\n\n\n\n\n\nasync openFltr(s){\nlet ds = [];\nlet fs = this.itemstatus;\nlet sl = this.statusList = [];\n\nif(s === 'i'){\n//if(this.optReq) return;\n\nds = this.apiItemsList;\n} \nelse if(s === 'h') ds = this.inFHistory;\n\n\nthis.statusFltr(fs,ds,sl);\nthis.goTab('pklist',{src: s});\n}\n\n\n\n\n\nstatusFltr(fs: string[], ds: any, sl: any[]) {\n\nfs.filter((s: any)=>{\n let n = 0; \n let ct = ds.filter((n: any)=>(n.freightitemStatus === s)).length;\n\n if(s.includes(\"Freight\")){sl.push({status:s,ct: 0}); \n return;\n }\n ds.filter((i:any) => { \n if(i.freightitemStatus === s && n===0){\n sl.push({status:s,ct:ct});\n n = 1;\n } \n })\n });\n}\n\n\n\n\nasync dolFilter(opt,t){\n // if(this.topSectionScrolls.includes('items_page:')) return\n//console.log(t)\n\nif(t.includes('i')){\nthis.isOpen = \"\";\nthis.optFltr = opt; //triggers pipe for no flicker with new data dump\nthis.itemFltr = opt; //item view label\nthis.goTab('items_page',null); \n} \nelse if(t.includes('h')){\nthis.isFhOpen = \"\";\nthis.optFltrFH = opt; //triggers pipe for no flicker with new data dump\nthis.itemFltrFH = opt; //item view label\nthis.goTab('frhistory',null); \n} \n\n\n\n}\n \n\n\n\n\nasync addRemoveFav(inv: string,icb){\n \n\n\nif(icb === \"Yes\"){\nthis.removeCbList(inv,false); \n} \nelse{\n\n\nthis.addCbList(inv, this.credsInfo.userId, \"n\"); \n} \n}\n \n \n\n\n\nasync rateCon(record: any){\nawait new Promise(resolve => {\nthis.searchlistRC.splice(0,1,record);\n//insertsmratecon record into slRC\n\nsetTimeout(resolve,1500);\nresolve(true);\n});\nthis.goTab('ratecon',null);\n}\n \n\n\n\n\nasync goInvoice(record: any){\nawait new Promise(resolve => {\nthis.searchlistINV.splice(0,1,record);\n//insertsmratecon record into slINV\n\nsetTimeout(resolve,1500);\nresolve(true);\n});\nthis.goTab('item_invoice',null);\n}\n\n\n\n\n// GENERATE INVOICE / POST NUMBER\nasync genDY(){\n return await new Promise(async resolve => {\n \n \n let date: any = new Date();\n const year = date.getFullYear();\n const month = date.getMonth()+1;\n const day = date.getDate();\n \n const N1 = Math.floor(275 * month / 9);\n const N2 = Math.floor((month + 9) / 12);\n const N3 = (1 + Math.floor((year - 4 * Math.floor(year / 4) + 2) / 3));\n const N = N1 - (N2 * N3) + day - 30;\n // return N;\n \n let y = year.toString(); \n let m =\"\" + Math.round(((date - Math.floor(date/1000/60/60/24)*24*60*60*1000)/1000)/60); // minutes in day\n let i: any = Number(N + \"\" + y.slice(-3)) + 9000000 + \"\" + m// Day of Year 80 + Year 023 as string\n //9139 023 123 10001\n //D: 139 Y: 023 + 9000000 + m: 123 + requested seat (10001) allows 10000 per minute\n \n if(!this.loading.isLoading) this.loading.present('initializing..');\n this.connTimer(null,null,false);\n let seat = this.apiLink.apiInvSeat(i,this.credsInfo.userId).subscribe(s => {\n this.dataVal = 'Stop Timer'; // for ConnTimer \n \n resolve(s[0]); \n seat.unsubscribe();\n },err => {\n console.log(err);\n });\n });\n \n }\n \n\n//console.log(\"------ > CLEAR INTERNAL\"); \nasync clearItemIntv(){\n\n if(this.syncIntv){\n this.syncProgress = 0; \n clearInterval(this.syncIntv); \n this.syncIntv = null; \n // console.log(\"------ > CLEAR INTERNAL\"); \n } \n}\n\n\n\n//HERE WORKING\nasync isCountDown(c: number,n: number){\nthis.isItemUpd = \"Done\"; \n\n\n//--- neccessary to prevent overSync\nawait new Promise (async (resolve) => { \n if (this.syncIntv){\n await this.clearItemIntv();\n resolve(true);\n } \n else resolve(false);\n});\n//--- neccessary to prevent overSync\n\n\nif(!this.credsInfo.autoSync) return;\n\n\nlet d = (n/c); // .05\nlet s: number;\nlet startedTimer = Date.now();\n\n\n this.syncIntv = setInterval(async ()=>{\n s = Math.floor((Date.now() - startedTimer) / n);\n //timer speed in ms\n this.syncProgress = Number((s * d).toFixed(2));\n\n let res = Number((c/n).toFixed(0));\n console.log(s) //, res, this.syncProgress);\n\n if(s > res){\n s = 0;\n this.updateItems('i',null,null,null); \n } \n }, n); // a little more often in case of drift\n}\n\n\n\n\n\nasync toggleINT(){ \nthis.clearItemIntv(); \nawait new Promise(resolve => setTimeout(resolve, 500)); \n\n if(this.credsInfo.autoSync){\n this.isCountDown(this.itemTimer,this.syncIncr);\n } \n}\n \n\n\n // POST TO SERVER - MAIN POST BODY\n async doServerPost(obj: { posted: string; freightitemStatus: string; \n shipNotes: string; itemInvoice: string; },t: string){\n let res: string; \n \n\n this.clearItemIntv();\n return await new Promise(async resolve => {\n \n \n if(obj.posted === \"\" ){\n obj.freightitemStatus = \"Unassigned\"; \n t = \"n\" //new e = edit\n }\n \n\n obj.posted = new Date().toISOString();\n\n \n if(!this.loading.isLoading) this.loading.present('posting..');\n this.connTimer(null,null,false);\n let data = this.apiLink.apiPosts(obj,t).subscribe(async (ld) => {\n this.dataVal = 'Stop Timer'; // for ConnTimer \n \n res = ld[0]; \n \n if(res.includes(\"error: Invoice already exists\")){\n this.fail_post = this.fail_post + obj.itemInvoice; \n console.log(\"failed: \" + this.fail_post); \n \n this.lastPostErr = \"ERROR...!\\n\\n\" + obj.itemInvoice + \" * ALREADY EXISTS\\nPLEASE WAIT\";\n obj.posted = \"EMPTY\"; \n \n await new Promise(resolve => setTimeout(resolve, this.timeDelay )); //needed \n resolve(false);\n }\n else {\n this.fail_post = \"\";\n console.log(ld)\n resolve(true);\n } \n \n \n data.unsubscribe();\n },err => {\n console.log(err);\n }); \n \n \n });\n \n \n }\n \n \n \n \n //VALIDATION SHIPPER, CARRIER, FREIGHT\n clrCol(col: string) {\n if (this.inputErr.includes(col + \":\")) this.inputErr = this.inputErr.replace(new RegExp(col + \":\", 'g'),'');\n }\n \n \n \n async valPost(opts: string, obj: any){\n //REPLACE ALL OCCURENCES: PRINCILPLE\n \n this.inputErr = this.inputErr.replace(new RegExp(opts + \":\", 'g'),'');\n \n //VALIDATE\n Object.keys(obj).forEach(col => {\n /*\n if(opts === 'all' && this.srchWords(col,[\"trueRate\"])){\n }\n */\n if (this.postType === \"n\" && this.srchWords(col,\n [\"freightOloc\", \n \"freightDloc\", \n \"freightOGps\",\n \"freightDGps\",\n \"freightOZipcode\", \n \"freightDZipcode\",\n \"posted\"])) return;\n\n //ignore empty crr fields when unassigned \n if (obj.crrId === 0 && col.includes('crr')) return;\n\n\n \n \n if(col.includes(\"ress2\")) return; //Address2\n \n if (opts === 'shipper') if (!col.includes('ship')) return;\n if (opts === 'freight') if (!col.includes('freight')) return; \n if (opts === 'carrier') if (!col.includes('crr')) return; \n \n let value = obj[col];\n \n if (value === null || (typeof (value) === 'string' && value.trim() === '' )) { \n \n console.log(opts, \": \", col,typeof (value), \": \" + value )\n \n if(!this.inputErr.includes(opts + \":\")) this.inputErr = this.inputErr + opts + \":\"; \n if(!this.inputErr.includes(col + \":\")) this.inputErr = this.inputErr + col + \":\";\n return; \n }\n \n //IF PASSED VALIDATION\n this.clrCol(col); \n });\n \n if(this.inputErr.length > 0 ){\n console.log(\"Errors: \" + this.inputErr);\n }\n \n }\n \n \n \n \n \nasync setODloc(){\nthis.isFrDirty = 1; \nlet pi = this.sPost[0];\nlet ts = this.tripStops\n\nif(!pi){\n pi.freightOloc = \"\" ; \n pi.freightDloc = \"\" ; \n pi.freightOGps = \"\" ; \n\n pi.freightDGps = \"\" ; \n pi.freightOZipcode = \"\" ; \n pi.freightDZipcode = \"\" ; \n\n pi.freightStops = 0;\n pi.freightmilesBill = \"\"; \n console.log(\"cleared TRIP INFO\")\nreturn; \n} \n\n pi.freightOloc = ts[0].stopLoc+\"\";\n pi.freightOGps = ts[0].stopGps+\"\";\n pi.freightOZipcode = ts[0].stopZipcode+\"\";\n pi.freightStops = ts.length; \n console.log(\"++ORGN INFO\")\n\n \n //DESTINATION LOCATION\n if(ts[1]){\n let n = ts.length -1;\n pi.freightDloc = ts[n].stopLoc+\"\";\n pi.freightDGps = ts[n].stopGps+\"\";\n pi.freightDZipcode = ts[n].stopZipcode+\"\";\n //let oGps = ts[0].stopGps;\n //let dGps = ts[i - 1].stopGps;\n pi.freightmilesBill = \"1300\";\n console.log(\"++DEST INFO\")\n } \n else {\n pi.freightDloc = \"\" ; \n pi.freightDGps = \"\" ; \n pi.freightDZipcode = \"\" ; \n pi.freightmilesBill = \"\"; \n console.log(\"cleared DEST INFO\")\n } \n\n\n\n\n\n}\n\n\n \n\n\n//GET STOPS FROM SERVER \nasync getStops (x,si){\nlet cu: string = this.curUrl;\n\n//lsu < lupd\n\nlet tx = false;\nif(this.last_itemUpdate > this.last_stopsUpdate) tx = true;\n\nif(cu !== \"posting\" && this.isItemUpd === \"Done\" \n&& this.tripStops[0] && x === this.tripStops[0].stopInvoice\n&& !tx){\nconsole.log(\"same item\");\nreturn; \n} \n\nreturn await new Promise(resolve=> {\nlet lnc = 0;\n\n this.connTimer(null,null,false);\n let ds = this.apiLink.apiGetStops(x,si).subscribe(async r=>{\n this.dataVal = \"Stop Connection Timer\";\n \n\n \n\n if(r[0] === \"not found\"){\n if(cu === \"posting\") this.tripStops = []; // for carrier switching items\n this.withStops = false;\n } \n else {\n\n\n console.log(\"GET STOPS: ==================================|| \", \n this.speCharFix(r).sort(function(a: { stopId: number; }, b: { stopId: number; },){\n if(a.stopId < b.stopId) return -1;\n if(a.stopId > b.stopId) return 1; \n return 0;\n }));\n\n// RAN BY ALL USERS - DO RENUMBER ONLY FROM SHIPPER EDIT\n\n if(si === 0){\n this.withStops = true;\n\n \n this.tripStops = r;\n\n\n lnc = r.length; \n }\n else{\n let ix\n\n this.tripStops.forEach((a: any, index: number) =>{ \n\n if(a.stopInvoice === x && a.stopId === si){\n ix = index; \n this.tripStops[index] = r[0]; \n } \n })\n \n lnc = r.length;\n console.log(this.tripStops[ix])\n }\n\n } \n\n //let p = this.tripStops;\n //let plot\n\n this.last_stopsUpdate = new Date().toISOString();\n resolve(lnc);\n ds.unsubscribe(); \n });\n })\n\n\n\n\n}\n\n\n\n\n\n\n\n\nasync stopsMgr(stop: any ,opt: any) {//saveit\n\n return new Promise(async resolve => {\n \n let p = this.apiLink.optStops(stop, opt).subscribe(async (l) => {\n console.log(l[0]);\n if(l) resolve(true); \n p.unsubscribe();\n }); \n });\n\n\n}\n \n\n\n\n\nasync laneMgr(lane: any ,opt: any) {//saveit\nawait this.clearItemIntv();\n\nconsole.log(lane, opt)\n\nlet p= this.apiLink.optLane(lane, opt).subscribe(async l=>{\nconsole.log(l);\n\n if(opt === 'del'){\n this.userDefs.filter((l: {recid: any}, index: number)=>{\n\n if(l.recid === lane.recid){\n this.userDefs.splice(index,1);\n }\n\n })\n }\n else if(opt === 'saveit') await this.getLanes();\n\n \n if(this.userDefs[0]){\n let n = 0;\n\n this.userDefs.forEach((d: { recid: number; })=>{\n if(d.recid > 0) n = n + 1;\n })\n this.userDefsCT = n;\n\n\n this.userDefs.sort(function(a: { recid: number; }, b: { recid: number; },){\n if(a.recid < b.recid) return -1;\n if(a.recid > b.recid) return 1; \n return 0;\n });\n } \n \n p.unsubscribe();\n }); \n\n \nif(this.credsInfo.autoSync && this.apiItemsList[0]) this.updateItems('i',null,'progb',null); \n}\n\n\n\n\nasync togSortView(){\nif(this.showSort){\n this.showSort = false;\n}else this.showSort = true; \n}\n\n\n\nasync sortOpts(t,i){\nif(this.isItemUpd !== \"Done\") return;\nthis.showSort = false;\n\nthis.dosortOpts(t,i);\n}\n\n\n\n\n \nasync dosortOpts(t,s){\nif(!s){\nreturn; \n} \n\n\nlet last_sort: string;\nlet db: any;\n\nif(t.includes(\"c\")){\n last_sort = this.sortedC;\n db = this.inCBoard;\n } \n else if(t.includes(\"h\")){\n last_sort = this.sortedH;\n db = this.inFHistory;\n } \n else if(t.includes(\"l\")){\n last_sort = this.sortedL;\n db = this.lanesView;\n} \n\nif(!db) return;\n\n\n\n\n\nif(!this.isCollapsed && t.includes(\"btn\")){\n\nif(s === \"Age - Newest\" && last_sort === \"Age - Newest\") s = \"Age - Oldest\";\n\nif(s === \"Pick - Earliest\" && last_sort === \"Pick - Earliest\") s = \"Pick - Latest\"; \n\nif(s === \"Rate - Lowest\" && last_sort === \"Rate - Lowest\") s = \"Rate - Highest\"; \n\nif(s === \"Rate/Mile - Lowest\" && last_sort === \"Rate/Mile - Lowest\") s = \"Rate/Mile - Highest\"; \n\nif(s === \"DH - Shortest\" && last_sort === \"DH - Shortest\") s = \"DH - Longest\"; \n\nif(s === \"Trip - Shortest\" && last_sort === \"Trip - Shortest\") s = \"Trip - Longest\"; \n\n} \n\n\n\n\nif(this.isItemUpd === \"Done\") await new Promise(resolve => setTimeout(resolve, 150));\n\n\n\n\ndb.sort(function(a: any , b: any){\n\nlet aa: any;\nlet bb: any;\nlet sTop: number = -1; //ASC DEFAULT LESSER //DESC GREATER\nlet sBtm: number = 1;\n\n\nif(s === 'Age - Oldest' || s === 'Age - Newest'){ //AGE\naa = a.posted;\nbb = b.posted;\n\n if(s === 'Age - Newest'){//dsc greater for newest\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\nif(s === 'Trip - Shortest' || s === 'Trip - Longest'){ //DISTANCE\naa = a.freightmilesBill;\nbb = b.freightmilesBill;\n\n if(s === 'Trip - Longest'){//dsc greater\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\nif(s === 'DH - Shortest' || s === 'DH - Longest'){ //DEADHEAD\naa = a.dho;\nbb = b.dho;\n\n if(s === 'DH - Longest'){//dsc greater\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\nif(s === 'Pick - Earliest' || s === 'Pick - Latest'){ //PICKUP DATE\naa = a.freightpickFrom;\nbb = b.freightpickFrom;\n\n if(s === 'Pick - Latest'){//dsc greater\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\n\nif(s === 'Rate - Lowest' || s === 'Rate - Highest'){ //RATE\naa = a.freightinvRate;\nbb = b.freightinvRate;\n\n if(s === 'Rate - Highest'){//dsc greater\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\n\nif(s === 'Rate/Mile - Lowest' || s === 'Rate/Mile - Highest'){ //RATE\naa = a.invRpm;\nbb = b.invRpm;\n\n if(s === 'Rate/Mile - Highest'){//dsc greater\n sTop = 1;\n sBtm = -1;\n }\n}\n\n\n\n\n\nif(aa < bb) return sTop; //ASC ORDER\nif(aa > bb) return sBtm; \n});\n\n\n\n\n\nlet g: string;\n\nif(t.includes(\"c\")){\nthis.sortedC = s;\ng = \"cbContent\"\n} \nelse if(t.includes(\"h\")){\nthis.sortedH = s;\ng = \"fhContent\"\n} \nelse if(t.includes(\"l\")){\nthis.sortedL = s;\ng = \"itemsContent\"\n} \n\n\n\n\nif(!t.includes(\"auto\")){\nawait new Promise(resolve => setTimeout(resolve, 150));\nthis.scrollToElem(g,true,true); \n}\n\n\n\n\n//console.log(\"VIEW: \", db);\n}\n\n\n\n\n\n\n\n\nasync vWlane(x: any,exc: string){\n this.vBtn = x;\n\nlet pline: string = \"\";\nif(x === 1) pline = this.searchparams1;\nelse if(x === 2) pline = this.searchparams2;\nelse if(x === 3) pline = this.searchparams3;\nelse if(x === 4) pline = this.searchparams4;\nelse if(x === 5) pline = this.searchparams5;\n\n\nthis.currLane = pline.slice(0,pline.indexOf('|')).substring(1);\n\n this.lanesView = await this.apiItemsList\n .filter((p: any) => x === p.sCt || x === 0);\n this.itemRows = this.lanesView.length;\n\n await this.dosortOpts(\"l-auto\",this.sortedL);\n \n}\n\n\n\n\n\nmd2Date(d: string){\nreturn d.slice(0, -5).replace(/[-]+/gi, \"/\");\n}\n\n\n\n\nspeCharFix(obj: any[]){\nObject.keys(obj).forEach(i => Object.keys(obj[i]).forEach(col => {\nlet value = obj[i][col];\n\nif(!value ) return; // if undefined\nif(typeof(value) === \"string\"){\n\n obj[i][col] = value\n .replace(/@rn@/gi,\"\\r\\n\")\n .replace(/@rcr@/gi,\"\\r\")\n .replace(/@ncr@/gi,\"\\n\")\n .replace(/@bsl@/gi,\"\\\\\")\n .replace(/@fsl@/gi,\"\\/\")\n .replace(/@htg@/gi,\"#\")\n .replace(/@pct@/gi,\"%\")\n .replace(/@qsm@/gi,\"?\")\n .replace(/@lbr@/gi,\"[\")\n .replace(/@rbr@/gi,\"]\"); \n }\n\n}));\n\nreturn obj;\n}\n \n\n\n\ndoDate(isoD){\n var d = new Date(isoD);\n d.toLocaleDateString('en-US'); // mm/dd/yyyy\n let res = d.getMonth()+1 +\"/\" + d.getDate();\n return res;\n }\n\n\n\n\n\n\n\n\nasync hgtResize(id: string, event: any) {\n await new Promise(resolve => setTimeout(resolve, 150)); \n\nlet i = document.getElementById(id);\nif(!i) return;\n\nthis.detailH = i.offsetHeight, this.detailW = i.offsetWidth;\n\nif(i.scrollHeight > i.clientHeight || i.scrollWidth > i.clientWidth){\nthis.oFlowDets = true; \n} else this.oFlowDets = false;\nawait new Promise(resolve => setTimeout(resolve, 150)); \n}\n\n\n\n\n\nasync onScroll(event: { \ndetail: { deltaY: number; scrollTop: number;},\ntarget: {clientHeight: number; offsetTop: number; lastChild: { offsetTop: number; }} \n},pg: string) {\n \n//console.log(event)\n\n \nif(pg.includes(\";\")){\n pg = pg.slice(0, pg.indexOf(\";\")) + \":\";\n}\n\nlet d: number = event.detail.deltaY;\nlet sl: number = 350; //50\n//console.log(d)\n\nlet st: number = event.detail.scrollTop;\nlet iSc: boolean = this.topSectionScrolls.includes(pg);\n\nif(st === 0){ // IF EOL\nif(iSc){\nthis.topSectionScrolls = this.topSectionScrolls.replace(pg,'');\n} \nreturn;\n}\n//\n// GETS PRIORITY HERE\n if (d > sl) {\n if(!iSc){\n \n this.topSectionScrolls = this.topSectionScrolls + pg; \n this.lastScroll = pg;\n } \n } \n else if (d < -150) { \n // this.topSectionScrolls = this.topSectionScrolls.replace(pg,'');\n };\n};\n\n\n\nurNav(){\nlet pg = this.router.url.split('/').pop(); \n if(pg.includes(\";\")){\n pg = pg.slice(0, pg.indexOf(\";\"));\n }\nthis.curUrl = pg;\n\nthis.getprevUrl();\n}\n\n\n\nasync pClear(){ \nawait this.clearItemIntv();\n\nthis.topSectionScrolls = \"\";\n\nthis.apiItemsList = []; \n\nif(this.userDefs.length > this.userDefsCT){\n this.userDefs.splice(0, 1); //CLEAR FIRST POSITON\n console.log(\"REMOVE CRT\")\n }\n\n\nthis.searchparams1 = \"\";\nthis.searchparams2 = \"\";\nthis.searchparams3 = \"\";\nthis.searchparams4 = \"\";\nthis.searchparams5 = \"\"; \n\nthis.spList1 = 0;\nthis.spList2 = 0;\nthis.spList3 = 0;\nthis.spList4 = 0;\nthis.spList5 = 0;\n\nthis.res1 = 0;\nthis.res2 = 0;\nthis.res3 = 0;\nthis.res4 = 0;\nthis.res5 = 0;\n\nthis.alertitemTCT = 0;\n\nthis.orgSrch = \"\";\nthis.dstSrch = \"\";\nthis.equSrch = \"\";\nthis.frSrch = \"\";\nthis.toSrch = \"\";\n\nthis.crtSearch = \"\";\n\n\n//this.lastAddc = null; \nthis.resCT = 0;\n}\n\n\n\n\n\n\npublic async appFlushUser(){\nthis.codeId = null; \nthis.cpgnId = null;\nthis.invNbr = null;\nthis.newpwd = null; \nthis.uCpgns = null; \nthis.refLink = null;\nthis.sentPhone = null;\nthis.optPhone = null;\nthis.optConf = \"\";\nthis.credsInfo = null; // LOGOUT\n}\n\n\n\npublic sideMenu(){ \nlet r = {};\nlet p = {}; \nlet c = {}; \nlet d = \"medium\";\n\nif(this.credsInfo.merchant){\nr = {title : \"Reports Center\",\n url : \"/reports\",\n icon : \"stats-chart-outline\",\n color : d\n }\n} \n\n\nif(this.isLoggedIn === 'Shipper' ){\np = {title : \"Freight Posting\",\n url : \"/posting\",\n icon : \"add-circle\",\n color : \"success\"\n }\n} \n\nif(this.isLoggedIn === 'Carrier' ){\nc = {title : \"+Lanes (default search)\",\n url : \"/lanes\",\n icon : \"swap-horizontal-outline\",\n color : d\n }\n} \n\n\n\n\n\nthis.navigate = [ \n {title : \"User\\nProfile & Preferences\",\n url : \"/profile\",\n icon : \"person-outline\",\n color : d\n },\n c,\n r, \n p,\n \n{title : \"Logout\",\n url : \"/welcome\",\n icon : \"power-outline\",\n color : d\n },\n\n{title : \"Media\",\n url : \"/queue\",\n icon : \"power-outline\",\n color : d\n }, \n]}\n\n\n\n\n\n\nasync goTab(aUrl: string, data: any) {\n let pgTi: string;\n \n if(aUrl === 'home') pgTi = \"Dashboard\";\n if(aUrl === 'items_page') pgTi = \"Loads\";\n if(aUrl === 'item_search') pgTi = \"Load Search\";\n if(aUrl === 'item_chalkboard') pgTi = \"Chalkboard\";\n if(aUrl === 'frhistory') pgTi = \"Freight History\";\n if(aUrl.includes('lanes')) pgTi = \"+Lanes\"; // includes for menu link with / prefix from menu\n if(aUrl.includes('posting')) pgTi = \"Freight Posting\";\n if(aUrl.includes('profile')) pgTi = \"Account Profile\";\n if(aUrl === 'ratecon') pgTi = \"Rate Confirmation\";\n if(aUrl.includes('queue')) pgTi = \"Media Center\";\n if(aUrl.includes('reports')) pgTi = \"Reports\";\n if(aUrl === 'enroll') pgTi = \"Create Profile\";\n if(aUrl === 'cart') pgTi = \"Shopping Cart\";\n if(aUrl === 'item_invoice') pgTi = \"Freight Invoice\";\n if(aUrl === 'pklist') pgTi = \"Freight Status\";\n //alert(aUrl + \" \" + pgTi)\n \n if(this.toolBarOwn.includes(aUrl)){\n this.toolBarClass = aUrl+'BG'; \n } else this.toolBarClass = 'appTbBG'\n \n this.pgTitle = pgTi;\n \n \n if(!data) data = {};\n \n \n //console.log(aUrl, pgTi)\n this.router.navigate(['/app/'+ aUrl, data],{ skipLocationChange: true });\n }\n \n \n \n \n \n public goToCart(){ \n if(this.router.url.includes('app/cart')){\n console.log('cart');\n return; \n }\n this.goTab('cart',null) \n }\n \n \n public isCharNumber(c: any) {\n return c >= '0' && c <= '9';\n }\n \n\n\n\n\n\n\nasync connTimer(m: string,t: number,s: any){\nthis.dataVal = null;\nthis.msg = m;\nthis.errMsg = null; \nif(s === 'progb') this.progress = 20; //prevent 0 flicker\n\nif(!t) t = this.timeOutVal;\n\n if(s){\n this.dblButton = true;\n this.hiddenButton = true; \n\n if(m){\n this.loading.present(m); \n } \n} \n\n\nlet timer = t;\nlet ct = 41;\nfor(\nlet i=1; i < ct; i++ ){ \nawait new Promise(resolve => setTimeout(resolve, timer)); \n\nif(!this.dataVal){\nif(s === 'progb') this.progress = (i * 1.425).toFixed(0);\n\n//if(m) if(i > 15) console.log(i,' Connection timer count',this.progress); \n\n\n\n/*\nif(i === 10){\nthis.msg = 'Slow network connection';\nthis.showToast('top','warning'); \n} \n*/\n\nif(i === 30){\nthis.msg = 'Very slow network connection';\nthis.showToast('top','danger'); \n} \n\n\nif(i === 40 || this.msg === \"Connection error!\") {\nthis.msg = 'Connection error!';\nthis.errMsg = 1; // Allow API message as not leaving page \n\nthis.progress = 0; \nct = 0;\n\nthis.isItemUpd = \"Done\";\nthis.dblButton = false; \nthis.hiddenButton = false; \n}\n\n\n}\nelse{ \n if(s){ \n\n if(this.msg) if(!this.srchWords(this.msg, [\"not found\", \"denied\", \"secret pin\"])) this.msg = null; // clear connection faults \n this.errMsg = null; // clear connection faults\n } \n\n if(s === 'progb') this.progress = 100;\n ct = 0; \n } \n \n} \n\n\nawait new Promise(resolve => setTimeout(resolve, 600)); \nif(this.loading.isLoading) this.dismissIf();\n\n \n this.progress = 0; \n this.dblButton = false; \n this.hiddenButton = false; \n}\n\n\n\n\n\n\n\nasync dismissIf(){\n//await new Promise(resolve => setTimeout(resolve, 100)); \nif(this.loading.isLoading) this.loading.dismiss(); //Will dismiss ONLY if running\n}\n\n\n\nsrchWords(text: any, searchWords: any[]){\nlet multiSearchOr =\n searchWords.some((el) => {\n return text.match(new RegExp(el,\"i\"))\n });\nreturn multiSearchOr;\n}\n\n \nasync showToast(p: string, c: string) {\n\nlet m = this.msg; \nlet d = 3000;\nlet toast;\n\n\nif(p === \"top\"){\ntoast = this.toastCtrl.create({\nmessage: m,\nduration: d,\ncolor: c,\nposition: 'top',\n});\n\n} \nelse {\ntoast = this.toastCtrl.create({\nmessage: m,\nduration: d,\ncolor: c,\nposition: 'bottom',\n});\n\n}\n\n\n(await toast).present();\n}\n\n\n\n\n\n\n\npublic doChgPwd(){\nif(!this.chgPwd){\n this.chgPwd = true;\n} else this.chgPwd = false;\n\n}\n\n\n\n\n\n\npublic async appCheck(entity: string){\nreturn await new Promise((resolve) => { \nlet ldata = this.apiLink.getAppData(entity).subscribe(async data => {\nlet gotVal = data && data[0];\n\n//console.log(gotVal);\n\nif(!gotVal){\nresolve(false);\n } \n else resolve(gotVal.ext); //if is external or not\n \nldata.unsubscribe();\n}, \nerr=>{\n this.errMsg = 1;\n console.log(err);\n}); \n\n\n});\n} \n\n\n\n\n\npublic async getAppStats(entity: string){\nreturn await new Promise((resolve) => { \n//NO TIMER DUE TO SPLASH PAGE CONNECTION MGR\nlet ldata = this.apiLink.getAppData(entity).subscribe(async data => {\n \nlet gotVal = data && data[0];\nif(!gotVal){\nconsole.log(this.entMsg = 'ENTITY NOT FOUND!');\nthis.appInfo = null;\nresolve(false);\n} \nelse {\n this.rootId = gotVal.app; //1. first \n this.appInfo = gotVal; \n console.log(this.appInfo);\n\n if(gotVal.ver !== this.appver){\n\n this.msg = \"UPDATES SYNC ERROR\"\n await new Promise(resolve => setTimeout(resolve, 2000)); \n \n window.location.href; // works for both platforms \n window.location.replace('/?'+this.rootId); \n resolve(false); //STOP\n }\n else{\n this.msg = null;\n this.errMsg = null;\n resolve(true); \n } \n}\n\n\nldata.unsubscribe();\n}, \nerr=>{\n this.errMsg = 1;\n this.msg = \"Connection error!\";\n console.log(err);\n resolve(false); \n});\n\n});\n}\n\n\n\npublic async userVerifyRefID(){\nthis.refUser = null;\nreturn await new Promise( (resolve) => { \nlet gotVal; \nlet findId = this.refCode;\n\nif(findId){\n //NO TIMER DUE TO SPLASH PAGE CONNECTION MGR\n let idSub: any = this.apiLink.getUser(findId,this.rootId,\"Match\").subscribe(users => { \n gotVal = users && users[0];\n\n if(gotVal) { \n if(gotVal !== \"not found\"){\n this.refCode = findId; \n this.refUser = gotVal.firstName + ' '+ gotVal.lastName; \n this.refProfileGroup = gotVal.profileGroup;\n this.refProfileType = gotVal.profileType; \n }\n else{\n this.srchCode = findId; // KEEP for welcome page\n this.refCode = \"0000\"; // INVALID LINK\n this.codeId = null; // INVALID REFERRAL\n this.refLink = null;\n } \n // console.log(\"refCode / CorpID: \"+ this.refCode + \" refLink: \" + this.refLink + \" codeId: \" + this.codeId); \n resolve(true); \n idSub.unsubscribe(); \n return;\n } \n else {\n resolve(false);\n }\n \n idSub.unsubscribe(); \n }, err=>{\n resolve(false);\n });\n }\n}); \n} // end method\n\n\n\n\n\n\n\n\n//6/5/2022\nsqlReadyDate(a: any){\n let m = a.substring(0, a.indexOf('/')); //month 6\n let d = a.slice(m.length + 1, (a.length - 5)); //day 11 slice off 2 out of 4\n let y = a.slice(-4); //year 2022\n if(m.length === 1) m = '0' + m; \n if(d.length === 1) d = '0' + d;\n\nlet res: string = (y + '-' + m + '-' + d)\nreturn res; // 2022-05-15\n}\n\n\n\n//2022-05-15\nflipSqlDate2Local(a: string){\n let y = a.slice(0, 4); //year 2022\n let m = a.slice(5, -3); //month 05\n let d = a.slice(-2); //day 15\n\nif(m[0] === \"0\") m = m.slice(-1); \nif(d[0] === \"0\") d = d.slice(-1);\nlet sd = m + '-' + d + '-' + y;\n//console.log(sd, \" flip SQL dates to Local Date\")\nreturn sd; //05-15-2022\n}\n\n\n\n\n \nasync reqFreight(inv: any, shpr: any, skip: boolean){\nlet p: any; \nlet iN: string = '';\n\nif(!skip){\n\nif(this.inCrrReqs.includes(inv)){\niN = 'Yes'; \np = await this.appConfirm(\"Withdraw Request\",\"Are you sure?\",null,\"Yes\",\"No\");\n}\nelse{\niN = 'No'; \np = await this.appConfirm(\"Request Freight\",\"Are you sure?\",null,\"Yes\",\"No\"); \n}\n\nif(p === 3) return; \n}\nelse{\n\niN = 'Yes'; //withdraw\n}\n\nlet c = this.credsInfo;\n\n\nlet d = {invN: inv,\n shipId: shpr,\n userId: c.userId,\n iStatus: \"\"}\n\n\n\nif(iN==='No'){\n \nthis.addCbList(inv, c.userId, \"n\"); \n\nd.iStatus = \"Request\"; \nthis.connTimer(null,null,false);\nlet data = this.apiLink.apiInvRff(d).subscribe(() => {\nthis.dataVal = \"Stop Connection timer\";\n\n\nthis.inCrrReqsCT = this.inCrrReqsCT + 1;\nthis.inCrrReqs = this.inCrrReqs + inv+':';\ndata.unsubscribe();\n},err => { \n console.log(err)\n}); \n\n\n}\nelse{\n d.iStatus = \"Withdraw\";\n this.connTimer(null,null,false);\n let data = this.apiLink.remInvRff(d).subscribe(() => {\n this.dataVal = \"Stop Connection timer\";\n\n this.inCrrReqsCT = this.inCrrReqsCT - 1;\n this.inCrrReqs = this.inCrrReqs.replace(inv+':','');\n data.unsubscribe();\n },err => {\n console.log(err)\n }); \n}\n\n\n\n}\n\n\n\n\n\n\nasync getRffInfo(x,s,t){\nlet ui: any = []\n \nawait new Promise((resolve) => {\n let d = {\n invN: x, \n userId: s,\n typ: t,\n }\n \n // console.log(d)\n this.connTimer(null,null,false);\n let data = this.apiLink.getInvRff(d).subscribe(l => {\n this.dataVal = \"Stop Connection timer\";\n\n //console.log(d ,\" INVRFF: \",l); \n \n if(l[0] === \"not found\"){\n resolve(false);\n }\n else {\n ui = l; \n resolve(true);\n }\n data.unsubscribe();\n },\n err => { \n console.log(err);\n }); \n\n\n});\n\nif(!ui) return;\nthis.crrReqs = ui;\nconsole.log(x,ui);\n\nlet inf: string = \"\";\nlet nm: number = 0;\n\nthis.prevReqCT = this.inCrrReqsCT;\nthis.prevCrrReqs = this.inCrrReqs;\n\nthis.inCrrReqsCT = 0;\nthis.inCrrReqs = \"\";\n\n\n\nawait this.crrReqs.forEach(async (r: any) => { \n\n\nthis.apiItemsList.filter((i: any) =>{\n if(r.itemInvoice === i.itemInvoice && !inf.includes(i.itemInvoice + ':')){\n inf = inf + r.itemInvoice + ':';\n nm = nm + 1;\n }\n});\n\n\n\nif(this.isLoggedIn === 'Carrier')\nthis.inCBoard.filter(c=>{\n if(r.itemInvoice === c.itemInvoice && !inf.includes(r.itemInvoice + ':')){\n inf = inf + r.itemInvoice + ':';\n nm = nm + 1;\n }\n});\n\n}); \n\n// console.log(\"Requests match in search \", \nthis.inCrrReqs = inf;\nthis.inCrrReqsCT = nm;\n//console.log(inf, nm)\n\n\n\n\n}\n\n\n\n\n\n\n\n\n\nasync lookupUser(i){\nreturn await new Promise(resolve => {\n let data = this.apiLink.getAppUser(i).subscribe(u => {\n //console.log(u[0]);\n resolve(u[0]);\n\n data.unsubscribe();\n },\n err => {\n console.log(err);\n }); \n\n});\n}\n\n\n\n\n\n\n\nasync confirmRff(u, sts: string){ //ASSIGN\nlet ac: any\n\nif(sts === 'Booked')\nac = await this.lookupUser(u);\n\n\nif(sts === 'Booked' && (!ac || ac === \"not found\")){\nalert(\"No user profile\")\nreturn null; \n} \n\n\nlet obj = this.sPost[0];\nlet ud: any;\n\nif(ac && ac !== 'not found')\nud = {\n\"crrId\" : ac.userId,\n\"crr\" : ac.companyName,\n\"crrmcAuth\" : ac.detail1,\n\"crrdotAuth\" : ac.detail2,\n\"crrContact\" : ac.displayName,\n\"crrPhone\" : ac.phoneNum,\n\"crrEmail\" : ac.email,\n\"crrAddress\" : ac.shipAddr,\n\"crrAddress2\" : ac.shipAddr2 + \" \" + ac.shipAddr3,\n\"crrCity\" : ac.shipCity,\n\"crrState\" : ac.shipState,\n\"crrZipcode\" : ac.shipZip,\n\n\"crrData\" : ac.detail3, //admin - factoring etc.. Carrier Detail\n\n\"crrNotes\" : this.qualInput +\" - \" + new Date().toLocaleDateString(),\n}\n\n\n\nlet d = {\n\"crrId\" : 0,\n\"crr\" : \"\",\n\"crrmcAuth\" : \"\",\n\"crrdotAuth\" : \"\",\n\"crrContact\" : \"\",\n\"crrPhone\" : \"\",\n\"crrEmail\" : \"\",\n\"crrAddress\" : \"\",\n\"crrAddress2\" : \"\",\n\"crrCity\" : \"\",\n\"crrState\" : \"\",\n\"crrZipcode\" : \"\",\n\"crrData\" : \"\",\n\"crrNotes\" : \"\",\n};\n\n\nif(sts === 'Booked' && ac && ac !== 'not found') d = ud;\n\n\n\nObject.keys(obj).forEach(col => {\n\n if(col === \"crrId\") obj[col] = d.crrId; \n if(col === \"crr\") obj[col] = d.crr; \n if(col === \"crrmcAuth\") obj[col] = d.crrmcAuth;\n if(col === \"crrdotAuth\") obj[col] = d.crrdotAuth;\n if(col === \"crrContact\") obj[col] = d.crrContact;\n if(col === \"crrPhone\") obj[col] = d.crrPhone;\n if(col === \"crrEmail\") obj[col] = d.crrEmail;\n if(col === \"crrAddress\") obj[col] = d.crrAddress;\n if(col === \"crrAddress2\") obj[col] = d.crrAddress2;\n if(col === \"crrCity\") obj[col] = d.crrCity;\n if(col === \"crrState\") obj[col] = d.crrState;\n if(col === \"crrZipcode\") obj[col] = d.crrZipcode;\n if(col === \"crrData\") obj[col] = d.crrData;\n if(col === \"crrNotes\") obj[col] = d.crrNotes;\n\n\nif(col === \"freightitemStatus\") obj[col] = sts; \nif(col === \"printed\") obj[col] = ''; \n\n})\n//console.log(\"CONFIRM: \" ,obj);\n\n\nreturn u; //crrId\n}\n\n\n\nasync wrapUpPost(){\nconsole.log(\"WRAPPING UP POSTING\");\n\nlet iEdit = null;\n\nawait new Promise(resolve =>{\nthis.sPost = []; \n\nif(this.postEdit){\niEdit = 'editpost';\nthis.goTab('items_page', null);\n} \nelse this.tripStops = []; //clear from new post\n\n\nresolve(true); \n});\n\n\nthis.updateItems('i',null,null,iEdit); \n}\n\n\n\n\nasync addFhistory(inv: string, crrId: string, typ: string){\n this.apiLink.apiInvUser(inv,\"history\", crrId, typ).subscribe(l=>{\n\n });\n\n \n}\n\n\n\n\n\n\n\nasync getItems(exc: string, a, lu,sI,sM){\n\n\nthis.ViewCT = 0; \n//console.log(\"GETTING LOADS\");\n\nlet te = 0;\nif(this.isLoggedIn === \"Shipper\") te = this.credsInfo.userId\n/// UPDATE TO IS THE SHIPPER\n let iSrch: any = {\n \"lastupd\": lu,\n \"ship\" : te, \n \"orgn\": a.o,\n \"dest\": a.d,\n \"equip\": a.e, \n \"froms\": a.f,\n \"tos\": a.t, \n }\n \n\n\n\n\n\n\nlet items =[]; \nlet res: number = 0;\n\nlet lc: number = await new Promise(async (ldct) => { \n\nthis.connTimer(null,null,sM);\nlet data = this.apiLink.apiItems(iSrch).subscribe(async (i) => {\nthis.dataVal = \"Stop Connection timer\";\n \n\n\n if(i[0] === \"not found\"){ \n ldct(0); \n } \n else if(i[0]){\n \n items = i; //replaces table []\n ldct(i.length); \n //console.log(\"GOT: \",i); \n } \n\n\ndata.unsubscribe();\n},\n async err => { \nconsole.log(err);\n\nif(this.credsInfo.autoSync){\nthis.updateItems('i',null,null,null);\n} \n}); \n\n\n});\n\n\n\n//console.log(\"GOT: \",items); \nres = lc;// outside of promise\n\n\n\n\n\nif((exc === \"b\" || exc === \"x\") && sI === 1){\n //keep last search and set item search\n this.orgSrch = a.o; \n this.dstSrch = a.d; \n this.equSrch = a.e;\n this.frSrch = a.f; //ISO\n this.toSrch = a.t; //ISO\n \n this.crtSearch = exc;\n this.lastAddc = this.includeDefList;\n this.resCT = res;\n \n }\n\n\n\n\nif(res === 0){ \nreturn false; \n} \n//console.log(res, \" IMPORTED\")\n this.speCharFix(items);\n\n\n\n items.forEach(async (f: any) => {\n\n\n\n\n\n //NEED FILTER FOR SHIPPER \n //ALERTS ONLY ON UNASSIGNED - REMOVES BOOKED & INACTIVE ON SYNC\n if(this.isLoggedIn === 'Carrier'\n && !this.srchWords(f.freightitemStatus,[\"Unassigned\",\"Booked\",\"Inactive\"])){ \n return\n } \n\n\n\n f.sCt = sI; //ASSIGN SEARCH INDEX - MULTILANE SEARCH\n f.inCbList = \"No\";\n\n let inApiItems: number = 0; //PUSH \n let skipAlert: number = 0;\n\n //IF LOAD EXISTS\n await this.apiItemsList.forEach(async (i: any, index: any) => {\n\n if (i.itemInvoice === f.itemInvoice) { \n inApiItems = 1; //NO PUSH NEW\n \n \n if(i.modified !== \"No\"){\n skipAlert = 1;\n // console.log(\"Skipped ========>: \" + i.itemInvoice) \n } \n\n //! All 3 allowed for Crr or is Shipper (to view all by shipper)\n if(f.posted !== i.posted) {\n \n //status color Crr unass bookd inact AND chx status to shipper except closed / inactive\n if(this.isLoggedIn === 'Carrier' \n || this.isLoggedIn === 'Shipper' && !this.srchWords(f.freightitemStatus,[\"Completed\",\"Inactive\"])) \n \n f.modified = \"Yes\";\n\n this.apiItemsList[index] = f;\n\n if(this.isLoggedIn === 'Carrier'\n && (f.itemInvoice === this.isOpen || f.itemInvoice === this.isItem)\n && f.freightitemStatus !== 'Unassigned'){\n this.isOpen = '';\n this.isItem = '';\n } \n\n } \n \n //REMOVE ALERT IF STATUS STEP DOWN /CLOSURE\n if(this.isLoggedIn === 'Carrier' && f.freightitemStatus !== \"Unassigned\"\n || this.isLoggedIn === 'Shipper' && this.srchWords(f.freightitemStatus,[\"Completed\",\"Inactive\"])){ \n\n if(i.modified !== \"No\"){ // ALREADY ON ALERT BELL New / Yes\n\n if(i.sCt === 1 && this.spList1 > 0){\n this.spList1 = this.spList1 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 2 && this.spList2 > 0){\n this.spList2 = this.spList2 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 3 && this.spList3 > 0){\n this.spList3 = this.spList3 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 4 && this.spList4 > 0){\n this.spList4 = this.spList4 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 5 && this.spList5 > 0){\n this.spList5 = this.spList5 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n }\n \n \n } \n \n }\n });\n\n\n \n //CHALKBOARD HEART COLLECT CB DATA BEFORE ITEMS\n await this.inCBoard.filter((c: any) =>{\n if(c.itemInvoice === f.itemInvoice && this.isLoggedIn === 'Carrier'){\n f.inCbList = \"Yes\"; \n } \n\n });\n\n \n \n // NEW/ UNASSIGNED SYNC LAST SYNC \n if(inApiItems === 0 && \n (f.freightitemStatus === \"Unassigned\" || this.isLoggedIn === 'Shipper')) { //push\n\n if(exc === \"i\" && f.freightitemStatus === \"Unassigned\"){\n\n if( f.inCbList === \"Yes\") f.modified = \"Yes\"; \n else f.modified = \"New\";\n } \n\n this.apiItemsList.push(f); //new items only \n }\n \n\n\n \nif (skipAlert === 0 &&\n(f.modified === \"New\" || f.modified === \"Yes\") &&\n(this.isLoggedIn === 'Carrier' && f.freightitemStatus === \"Unassigned\"\n|| this.isLoggedIn === 'Shipper' && !this.srchWords(f.freightitemStatus,[\"Completed\",\"Inactive\"])))\nthis.ViewCT = this.ViewCT + 1;\n\n//Crr only alerts unass but shipper alerts all except Completed + Inactive\n}); //END FOR EACH LOAD IMPORTED\n\nreturn true;\n}\n \n\n\n\nasync getLanes() {\nreturn new Promise(async resolve => {\n\nif(!this.credsInfo.deflanes){\n resolve(0);\n return \n}\n\n\n\n let p = this.apiLink.apiLanes(\"pluslane\",this.credsInfo.userId).subscribe(async l=>{\n // console.log(l)\n \n if(l[0] === \"not found\"){\n resolve(0);\n return;\n } \n\n if(l[0]){\n this.userDefs = this.speCharFix(l).sort(function(a: { recid: number; }, b: { recid: number; },){\n if(a.recid < b.recid) return -1;\n if(a.recid > b.recid) return 1; \n return 0;\n });\n this.userDefsCT = l.length; \n resolve(l.length); \n } \n \n\n p.unsubscribe();\n }); \n\n});\n\n \n\n\n}\n\n\n\n//REFRESH\npublic async getUserLists(t: string){\nreturn await new Promise (resolve => {\n\n\nlet ul: any = []; \nlet inf: string;\nlet usr = this.credsInfo.userId;\n\nif(t.includes(\"c\")){\n inf= \"chalkboard\"\n}else inf = \"history\"\n\n\nlet p = this.apiLink.userLists(inf, usr).subscribe(async l=>{\n//console.log(t, \" IMPORT ALL HISTORY: \",inf, l)\n\nif(l[0] === \"not found\"){\n\n if(t.includes(\"uc\")){ //no match = no longer on fav list per added to Fhistory\n this.cbalert = 0; \n this.inCBoard.splice(0); \n console.log(\"==== > SPLICE ALL CB: \"); //REMOVE IF NOT IN IMPORT\n } \n\n if(t.includes(\"uh\")){ //no match = no longer on fav list per added to Fhistory\n this.fHalert = 0; \n this.inFHistory.splice(0); \n console.log(\"==== > SPLICE ALL FH: \"); //REMOVE IF NOT IN IMPORT\n } \n\n\nresolve(true); \n} \n\nif(l[0]) ul = this.speCharFix(l);\n\n\nif(inf === \"history\"){\n\n await ul.filter((h:any, index) =>{\n if((h.crrId !== usr || h.crrId === 0) && h.freightitemStatus !== \"Unassigned\"){\n ul[index].freightitemStatus = \"Unassigned\";\n }\n });\n \n//prevent other carrier Status display\n\n\n\n//ADDED ONLY BY SYNC - NOT USER OPTIONS \nif(t === \"rh\"){\nthis.inFHistory = ul; \n\nawait this.inFHistory.filter((fh, index) =>{\n if(fh.lastAlert < fh.posted){\n this.inFHistory[index].modified = \"Yes\";\n this.fHalert = this.fHalert + 1;\n }\n });\n}\nelse if(t === \"uh\"){\n\nlet tmp = [];\nlet n = 0;\n\nawait ul.forEach(async (f:any) => { \nn=0;\n\n await this.inFHistory.filter(async (i: any, index: number)=>{ \n if(f.itemInvoice === i.itemInvoice){\n n = 1;\n\n if(i.posted !== f.posted){ \n //crr === 0 will hide in form\n if(i.modified === \"No\"){ //not on alert\n this.fHalert = this.fHalert+ 1; \n }//ALERT\n\n f.modified = \"Yes\"; \n this.inFHistory[index] = f; \n\n\n if((f.itemInvoice === this.isFhOpen || f.itemInvoice === this.isFhItem)\n && this.srchWords(f.freightitemStatus,['Unassigned','Inactive'])){\n this.isFhOpen = '';\n this.isFhItem = ''; \n } \n }\n } \n });\n\n\nif(n === 0){\nconsole.log(\"EXTRA\")\ntmp.push(f); //to prevent adding to FHList yet\n} \n\n}); \n\n//console.log(tmp)\n\n\n tmp.forEach(async (z: any) => {\n z.modified = \"Yes\";\n await this.inFHistory.push(z);\n this.fHalert = this.fHalert + 1;\n });\n\n\n\n\n\n//remove after either sync | IF NO LONGER ON SERVER FHISTORY\nawait this.inFHistory.forEach(async (ih: any, index: number)=>{\nlet c = 0;\n\n ul.filter((iu:any)=>{\n if(ih.itemInvoice === iu.itemInvoice){ \n c = 1;\n } \n })\n\n if(c === 0) this.inFHistory.splice(index,1);\n});\n\n} //END HISTORY OPTIONS\nawait this.dosortOpts(\"h-auto\",this.sortedH);\n\n}\nelse \nif(inf === \"chalkboard\") { //IF CHALKBOARD\n\nif(t === \"rc\"){\n\n await ul.forEach(async (c:any) =>{\n let n = 0;\n this.inFHistory.filter(fh=>{\n if(c.itemInvoice === fh.itemInvoice \n && fh.crrId === usr) n = 1; \n //in history keep in FAVS in event of unassignment by shipper\n })\n\n\n if(n === 0) await this.inCBoard.push(c);\n });\n \n\n await this.inCBoard.filter((cx, index) =>{\n if(cx.lastAlert < cx.posted){\n this.inCBoard[index].modified = \"Yes\"; \n this.cbalert = this.cbalert + 1; \n }\n });\n\n} \nelse \nif(t === \"uc\"){\n//CB ONLY EDITS LOAD WITH NO PUSH - AS ITS ADDED BY USER HEART CLICK\nawait this.inCBoard.forEach(async (i: any, index: number)=>{ \n\n await ul.filter(async (f:any) => { \n \n if((f.itemInvoice === this.isCbOpen || f.itemInvoice === this.isCbItem)\n && this.srchWords(f.freightitemStatus,['Booked','Inactive'])){\n this.isCbOpen = '';\n this.isCbItem = ''; \n } \n\n if(i.itemInvoice === f.itemInvoice){\n \n //in history keep in FAVS in event of unassignment by shipper\n if(f.freightitemStatus === 'Booked' \n && f.crrId === usr){\n //this.apiLink.remFavItem(f.itemInvoice,\"chalkboard\", usr);\n\n if(this.inCBoard.modified !== \"No\" && this.cbalert > 0) this.clearAlerts(i.itemInvoice);\n \n this.inCBoard.splice(index,1); \n return; \n }\n\n if(i.posted !== f.posted){ \n f.modified = \"Yes\"; \n\n\n if(i.modified === \"No\"){ //not on alert \n this.cbalert = this.cbalert + 1; \n } \n this.inCBoard[index] = f; \n } \n }\n });\n}) \n} //END OF CHALKBOARD OPTOINS\nawait this.dosortOpts(\"c-auto\",this.sortedC);\n}\n\n\np.unsubscribe();\n});\n\n\nresolve (true);\n})\n\n} \n\n\n\n\n\n\n\n\n\ndoTimeISO(i,s,pm){\n//ISO Date\n\nlet myDate = new Date(i);\n\nlet result\nif(pm === \"+\"){ //to Millis\nresult = myDate.getTime() + (s * 1000);\n} else result = myDate.getTime() - (s * 1000);\n\n\nlet res = new Date(result).toISOString();\n//console.log( res);//this.newLookTime =\nreturn res\n}\n\n\n\n\nasync updateItems(exc: string, c: any, sm: any, para: string){ \n\n//--- neccessary to prevent overSync\nawait new Promise (async (resolve) => { \n if (this.syncIntv){\n await this.clearItemIntv();\n resolve(true);\n } \n else resolve(false);\n});\n//--- neccessary to prevent overSync\n\n\n\nthis.isItemUpd = \"Searching...\";\n\n\n\nif(this.isLoggedIn === 'Carrier'){ \n\n\nthis.apiItemsList.filter(async (i: any, index: any) =>{ // REMOVE ASSIGNED\n if(i.freightitemStatus !== 'Unassigned'){\n \n if(i.modified !== 'No'){\n\n if(i.sCt === 1 && this.spList1 > 0){\n this.spList1 = this.spList1 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 2 && this.spList2 > 0){\n this.spList2 = this.spList2 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 3 && this.spList3 > 0){\n this.spList3 = this.spList3 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 4 && this.spList4 > 0){\n this.spList4 = this.spList4 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n if(i.sCt === 5 && this.spList5 > 0){\n this.spList5 = this.spList5 - 1;\n this.alertitemTCT = this.alertitemTCT -1;\n } \n } \n //KEEP FAVS AS USER MANAGED\n this.apiItemsList.splice(index,1);\n } \n });\n \n\n\n let typ = 'u';\n if(exc === \"FIRST RUN\"){\n typ = 'r';\n }\n\n\n//console.log(\"Checking chalkboard & History\") \n\nawait new Promise(async (resolve) => { \n this.getUserLists(typ+'h').then(async h=>{\n if(h) await new Promise(resolve => setTimeout(resolve, 500 )); \n if(h === true) resolve(true);\n });\n});\n\nawait this.getUserLists(typ+'c');\nawait new Promise(resolve => setTimeout(resolve, 500 )); \n} //END CARRIER TASKS\n\n\n\n\nlet newLookTime: any = this.doTimeISO(this.last_itemUpdate, 20, \"-\");\n//console.log(newLookTime)\n\n//Criteria search here\nlet tct: number = 0;\nlet incLanes: boolean;\nlet ud: any = this.userDefs;\nlet crt: any={};\nlet lu: string;\nthis.searchIdx = 0;\n\nincLanes = this.includeDefList;\n\nif(exc === \"i\"){\n lu = newLookTime; //INTERVAL or REQUERY\n\n}\nelse{\n\nlu = \"\"; \n\n if(exc !== \"FIRST RUN\"){ \n this.topSectionScrolls = \"\";\n\n this.apiItemsList = []; \n\n if(this.userDefs.length > this.userDefsCT){\n this.userDefs.splice(0, 1); //CLEAR FIRST POSITON\n console.log(\"REMOVE CRT\")\n }\n \n /* DON'T JUST REMOVE LAST SEARCH */\n this.searchparams1 = \"\";\n this.searchparams2 = \"\";\n this.searchparams3 = \"\";\n this.searchparams4 = \"\";\n this.searchparams5 = \"\"; \n \n this.spList1 = 0;\n this.spList2 = 0;\n this.spList3 = 0;\n this.spList4 = 0;\n this.spList5 = 0;\n\n this.res1 = 0;\n this.res2 = 0;\n this.res3 = 0;\n this.res4 = 0;\n this.res5 = 0;\n\n this.alertitemTCT = 0;\n } \n}\n\n\n\n///console.log(\"Initial exc:\" + exc, \"+Lanes: \" +incLanes, \"Equip: \"+ this.equSrch);\n\n\nif(exc === \"b\" && c){\n crt = c;\n} \nelse if(!exc.includes(\"RUN\")){\ncrt = {orgn: this.orgSrch, \n dest: this.dstSrch, \n equip: this.equSrch, \n frs: this.frSrch, \n tos: this.toSrch, \n exStates: \"\",\n minMiles: \"\",\n minRpm:\"\"\n }\n\n} \nelse {\n//PER MANUAL SEARCH RECORD\n this.orgSrch = \"\";\n this.dstSrch = \"\";\n this.equSrch = \"\";\n this.frSrch = \"\";\n this.toSrch = \"\";\n\n this.crtSearch = \"\";\n this.lastAddc = null; \n this.resCT = 0;\n}\n\n\nif(exc === \"b\" && incLanes){\nif(ud.length === this.userDefsCT){\nud.splice(0, 0, crt);\n//console.log(\"ADD CRT\", ud);\n}\nexc = \"x\"; //SWITCH TO X\n}\n\n\nlet l: number = 1; \nif(exc !== \"b\" && incLanes) l = this.userDefs.length;\n\n for( let i=0; i < l; i++ ){ \n let pass: boolean = true;\n let cx: any; \n\n if(!incLanes) cx = crt; \n else cx = this.userDefs[i];\n\n //switch to single letter\n crt = \n {o: cx.orgn.trim(), \n d: cx.dest.trim(), \n e: cx.equip.trim(), \n f: cx.frs.trim(), \n t: cx.tos.trim()\n };\n\n//FIRST STOP @ BTN SEARCH \nif((!crt.o && !crt.d) && this.isLoggedIn === 'Carrier'\n || !crt.e && this.isLoggedIn === 'Carrier'\n || !crt.f \n || !crt.t \n ) pass = false;\n\n let os: string = \"Anywhere > \";\n let ds: string = \"Anywhere\";\n let es: string;\n let fs: string = \" Date\";\n let ts: string = \" - Error\"; \n //search parameters\n\n if(crt.o) os = crt.o +\" > \"; \n if(crt.d) ds = crt.d; \n if(crt.e) es = crt.e; \n if(crt.f) fs = \" * \" + this.md2Date(new Date(crt.f).toLocaleDateString()); \n if(crt.t) ts = \" - \" + this.md2Date(new Date(crt.t).toLocaleDateString());\n\n if(pass){ \n let sI = this.searchIdx = this.searchIdx + 1; \n //COUNT SEARCH INDEXES NOT ITEM INDEX\n \n await new Promise(async (resolve) => { \n resolve(this.getItems(exc,crt,lu,sI,sm))\n });\n\n //console.log(this.ViewCT, \" RESULT SEARCH\"); \n\n\n let alc: number = 0;\n if(!this.isPosting) alc = this.ViewCT;\n tct = tct + alc;\n \n let sp = sI + os + ds + fs + ts + \" \" + es + \"|\";\n\n if(i === 0){\n this.searchparams1 = sp; \n\n this.spList1 = this.spList1 + alc;\n this.res1 = this.apiItemsList.filter((r: {sCt: any})=> r.sCt === sI).length;\n } \n if(i === 1){\n this.searchparams2 = sp;\n\n this.spList2 = this.spList2 + alc;\n this.res2 = this.apiItemsList.filter((r: {sCt: any})=> r.sCt === sI).length;\n } \n if(i === 2){\n this.searchparams3 = sp;\n\n this.spList3 = this.spList3 + alc;\n this.res3 = this.apiItemsList.filter((r: {sCt: any})=> r.sCt === sI).length;\n } \n if(i === 3){\n this.searchparams4 = sp;\n\n this.spList4 = this.spList4 + alc;\n this.res4 = this.apiItemsList.filter((r: {sCt: any})=> r.sCt === sI).length;\n } \n if(i === 4){\n this.searchparams5 = sp;\n\n this.spList5 = this.spList5 + alc;\n this.res5 = this.apiItemsList.filter((r: {sCt: any})=> r.sCt === sI).length;\n } \n\n \n }\n\n\n}//END OF LOOP\n\n\n\nthis.searchIdxfinal = this.searchIdx;\nthis.alertitemTCT = this.spList1 + this.spList2 + this.spList3 + this.spList4 + this.spList5;\n//ONLY POST INTERVAL SERACH \n \n\nlet vl = 0;\nif(exc === \"i\") vl = this.vBtn;\n\nawait this.vWlane(vl,exc);\n\nif(exc !== \"i\" && this.apiItemsList[0]) this.didSrch = true;\n\n//\n/*\nconsole.log(\"AutoSync\", this.credsInfo.autoSync,\" exc:\" + exc, \"+Lanes:\" + incLanes, \"Equip:\" + this.equSrch,\n\"\\n ALT:\" + this.alertitemTCT + \" pList ct:\" + this.apiItemsList.length)\nconsole.log(\"\\n\",this.searchparams1 \n +\"\\n\" + this.searchparams2 \n +\"\\n\" + this.searchparams3 \n+\"\\n\" + this.searchparams4 \n+\"\\n\" + this.searchparams5 );\n*/\n\n\n\nif(!this.apiItemsList[0] && !this.inCBoard[0] && !this.inFHistory[0]){\n this.goTab('item_search', null);\n this.didSrch = false; //ALLOWS VIEW\n} \nelse {\n await this.getRffInfo('ALL', this.credsInfo.userId, this.isLoggedIn);\n //get new pull for each global update / posting save\n\nif(this.isLoggedIn === 'Shipper' \n && !this.isPosting\n && this.inCrrReqsCT > 0 \n && this.inCrrReqsCT > this.prevReqCT){\n this.itemAlertMsg = \"CARRIERS REQUESTS\\nALERT\";\n this.player.stream = new Audio(this.notifysound);\n this.player.stream.play(); \n this.showItemAlert(exc,crt,-1); \n } \n else\n if(this.fHalert > 0){ // PERSIST FOR FREIGHT ACTIVITY\n\n this.itemAlertMsg = \"FREIGHT ACTIVITY\\nALERT\"; \n this.showItemAlert(exc,crt,-1); \n } \n else\n if(tct > 0){ //IF FOUND ANYTHING NEW \n \n let s = \"\"; \n if(tct > 1) s = \"s\"; \n this.itemAlertMsg = tct + \" Posting Alert\" + s; \n \n if(exc.includes(\"RUN\") || exc === \"x\"){\n this.itemAlertMsg = this.itemAlertMsg + \"\\nbased on default\\nsearch settings\";\n } \n this.showItemAlert(exc,crt,tct); \n } \n\n\n\n\n\nif(exc !== \"i\" || this.isPosting){\n\n if(para !== 'editpost'){\n this.optReq = true;\n let s = 'Open Freight';\n this.optFltr = s; //triggers pipe for no flicker with new data dump\n this.itemFltr = s; //item view label\n \n this.topSectionScrolls = this.topSectionScrolls.replace(\"items_page:\",'');\n }\n\n\n \n if((this.router.url.includes(\"item_search\") && this.didSrch || this.isPosting) && this.apiItemsList[0]){\n\n this.goTab('items_page', null);\n\n\n if(para !== 'editpost'){\n await new Promise(resolve => setTimeout(resolve, 100)); \n\n if(this.isMobiW) this.scrollToElem('topRow',true,false);\n else if(this.isCollapsed) this.scrollToElem('topTab',true,false);\n\n await new Promise(resolve => setTimeout(resolve, 60)); \n this.scrollToElem('itemsContent',true,false); \n }\n\n \n \n\n }\n\n \n\nif(this.isPosting) this.isPosting = false; \n} \n\n\n} \n\n\n\n\n\n\nthis.dismissIf(); \nthis.last_itemUpdate = new Date().toISOString(); \n/*\nconsole.log(\"SEARCH DONE: \",this.last_itemUpdate = new Date().toISOString(),\n\"crtSearch: \" + this.crtSearch, \" exc: \" + exc);\n*/\n\n\n\n\n\nif( this.alertitemTCT > 0\n || this.fHalert > 0\n || this.cbalert > 0){\n \n this.player.stream = new Audio(this.notifysound);\n this.player.stream.play(); \n }\n\n\n\n\nthis.runCount = this.runCount + 1;\nthis.isCountDown(this.itemTimer,this.syncIncr); \nreturn false; \n}// END UPDATE LOADS\n\n\n\n\n\n\nclearAlerts(x){ //101\n//return\n\nif(this.isLoggedIn === 'Carrier')\nthis.inCBoard.filter((c: any)=> {\n if(c.itemInvoice === x && c.modified !== \"No\"){\n c.modified = \"No\";\n\n if(this.cbalert > 0){\n this.cbalert = this.cbalert - 1;\n\n this.apiLink.apiInvUser(c.itemInvoice,\"chalkboard\", this.credsInfo.userId, \"e\").subscribe((l)=>{\n console.log(l); \n });\n console.log(\"UPDATE LAST ALERT CHALKBOARD: \" + c.itemInvoice \n + \" LA < PO: \" , c.lastAlert + \" \" + c.posted); \n\n } \n } \n});\n\n\n\n this.apiItemsList.filter((o: any)=> {\n if(o.itemInvoice === x && (o.modified !== \"No\")){\n o.modified = \"No\"\n\n if(o.freightitemStatus !== \"Unassigned\" && this.isLoggedIn === 'Carrier') \n return;\n\n if(this.alertitemTCT > 0){\n this.alertitemTCT = this.alertitemTCT -1;\n\n let nsCt: any = o.sCt;\n if(nsCt === 1 && this.spList1 > 0) this.spList1 = this.spList1 - 1;\n if(nsCt === 2 && this.spList2 > 0) this.spList2 = this.spList2 - 1;\n if(nsCt === 3 && this.spList3 > 0) this.spList3 = this.spList3 - 1;\n if(nsCt === 4 && this.spList4 > 0) this.spList4 = this.spList4 - 1;\n if(nsCt === 5 && this.spList5 > 0) this.spList5 = this.spList5 - 1;\n }\n\n } \n });\n \n}\n\n\n\n\n\n\nclearAlertMsg(){\n if(this.fHalert === 0){\n this.showLA = false;\n this.itemAlertMsg = null;\n }\n}\n\n\n\n\n\nasync showItemAlert(exc,crt,altCT){\nthis.showLA = true;\nawait new Promise(resolve => setTimeout(resolve, 10000));\nthis.showLA = false;\nthis.itemAlertMsg = null;\n\n\n\n\n\nif(exc !== \"i\"|| altCT === -1) return;\n\n\nlet itemAl: any = {\n ent: this.credsInfo.profileGroup,\n userName: this.credsInfo.userName,\n itemDetails: crt.o + \" \" + crt.d + \" \" + crt.f + \" \" + crt.e\n + \" Matching item count: \" + altCT \n } \n\n//console.log(itemAl)\nreturn\nthis.itemMailer(itemAl);\n\n\n\n\n}\n\n\n\n\n\n\n\nasync itemMailer(itemAl: any){\n\n \n this.connTimer('',null,false); \n let la: any = this.apiLink.apiItemAlert(itemAl).subscribe(async m => {\n this.dataVal = 'Stop ConnTimer'; \n \n //console.log(m);\n \n la.unsubscribe();\n }, err=>{\n console.log(err);\n });\n \n \n }\n\n\n\n\n\n\n\nasync addCbList(inv: string, crr: string, typ: string){\n\n let a: boolean = false;\n //skip if already in CB\n await this.inCBoard.filter((c: any) =>{\n if(c.itemInvoice === inv){ \n a = true;\n // console.log(\"ALREADY IN CB\") \n \n } \n });\n\nif(a)return; \n\n\nreturn await new Promise( async (resolve) => {\nawait this.apiItemsList.filter((a: any, index: number) => { \n\n\n if( a.itemInvoice === inv){\n this.apiItemsList[index].inCbList = \"Yes\"\n this.inCBoard.push(a); \n this.dosortOpts(\"c-auto\",this.sortedC);\n }\n }); \n\n this.apiLink.apiInvUser(inv,\"chalkboard\", crr, typ).subscribe(l=>{\n //console.log(l) \n resolve(true); \n });\n \n });\n}\n\n\n\n\n\n\n\nasync removeAllCbList(){ \nawait this.apiItemsList.filter((a: any, index: number) => { \nif( a.inCbList === \"Yes\") this.apiItemsList[index].inCbList = \"No\"\n}); \n\n\nthis.cbalert = 0;\nthis.inCBoard.splice(0); //splice All\nthis.apiLink.remFavItem(\"0000\",\"chalkboard\", this.credsInfo.userId).subscribe(l=>{\n//console.log(l) \n}); \n \n}\n \n\n\n\nasync removeCbList(inv,aut){\nthis.inCBoard.filter(async (b: {itemInvoice: string, modified: string}, index: any) => {\n\n if(b.itemInvoice === inv){ \n\n if(b.modified !== \"No\" && this.cbalert > 0) this.cbalert = this.cbalert - 1; \n\n this.inCBoard.splice(index, 1); \n \n //REMOVE HEART FROM ITEMS\n await this.apiItemsList.filter((a: any, index: number) => { \n if(a.itemInvoice === inv) this.apiItemsList[index].inCbList = \"No\"\n }); \n\n if(!this.inCBoard[0] && !aut){\n if(this.apiItemsList[0]) this.goTab('items_page',null); \n else this.goTab('item_search',null); \n }\n \n this.apiLink.remFavItem(inv,\"chalkboard\", this.credsInfo.userId).subscribe(l=>{\n // console.log(l) \n }); \n }\n });\n}\n\n\n\n\nasync findRefPhone(){\nreturn await new Promise( (resolve) => { \n let findLink = this.refLink;\n let gotVal: any;\n if(findLink){\n console.log('finding referral phone' );\n let idSub: any = this.apiLink.getRefPhone(findLink).subscribe(p => { \n this.dataVal = p[0]; \n console.log(gotVal = p);\n if(gotVal[0] !== \"not found link\"){\n if(gotVal[0]) this.sentPhone = gotVal[0];\n if(gotVal[1]){\n this.optPhone = gotVal[1]; \n this.optConf = 'Opt-In link already confirmed \\n with mobile #: ' + gotVal[1] \n + '\\n to receive updates & announcements.';\n } \n this.cxPhNum = 0; \n resolve(true); \n }else{ \n this.refLink = null;\n // console.log(\"refLINK: \" + this.refLink); \n resolve(false); \n } \n idSub.unsubscribe(); \n }, err=>{\n console.log(err);\n resolve(false);\n });\n }else resolve(false); \n }); \n } // end method\n\n\n\n\n\n\n \n\n\n public getprevUrl(){\n let qUrl = this.router.events\n .pipe(filter((e: any) => e instanceof RoutesRecognized),\n pairwise()\n ).subscribe((e: any) => {\n this.prevUrl = e[0].urlAfterRedirects;\n qUrl.unsubscribe();\n }); \n if(!this.prevUrl) {\n //console.log('No previous Url');\n }else{\n //console.log('previous URL: ' + this.prevUrl);\n return this.prevUrl\n }\n}\n\n\n\n\n\n\npublic async appConfirm(hdr: string, cmsg: string,txt1: string, txt2: string, txt3: string){\nlet choice: any;\n\nlet alert: any;\n\nif(txt1){\nalert = await this.alertController.create({\n header: hdr,\n backdropDismiss: false,\n // message: ''+cmsg+'',\n buttons: [\n {\n text: txt1,\n handler: () => {\n alert.dismiss(1);\n return false; // required to return response to function\n }\n },\n {\n text: txt2,\n cssClass: 'secondary',\n handler: () => {\n alert.dismiss(2);\n return false;\n }\n },\n {\n text: txt3,\n cssClass: 'dark',\n handler: () => {\n alert.dismiss(3);\n return false;\n }\n }\n ]});\n}\nelse{\nalert = await this.alertController.create({\n header: hdr,\n backdropDismiss: false,\n// message: ''+cmsg+'',\n buttons: [\n {\n text: txt2,\n handler: () => {\n alert.dismiss(2);\n return false;\n }\n },\n {\n text: txt3,\n cssClass: 'secondary',\n handler: () => {\n alert.dismiss(3);\n return false;\n }\n }\n ]}); \n}\n\n\n\n\n\nawait alert.present(); \nchoice = await alert.onDidDismiss()\n\nreturn choice.data;\n} //alert end \n\n\n \n \n\n\n\n\n\n\n\n\n\n\n\n \n \n// app functions \n////////////////////////////////////////////////// \npublic async scrollToElem(ele,pos,s){\n\n let b = 'smooth'; \n if(!s) b = 'instant'\n\n\n let p\n if(pos) p = { block: 'start', inline: \"nearest\", behavior: b };\n else p = { block: 'end', inline: \"nearest\", behavior: b };\n \n\n//console.log(\"scrollELE: \",ele,pos,b);\n\nreturn await new Promise(resolve => {\n\nsetTimeout(()=>{\n let page = document.getElementById(ele);\n \n if (page !== null){\n page.scrollIntoView(p); \n resolve(true);\n } \n else{\n resolve(false);\n } \n\n }, 10);//RENDER ELE\n\n\n});\n\n\n}\n\n\n\n\nasync phoneInput(phn: any,bsp: number, enroll: number){\n//console.log('backspace ? ', bsp);\n if(bsp === 1){\n //console.log('RETURN');\n return {phn:phn, v:0 }; \n } \n\n\n\n\nlet pl: any = phn.length; \nif(!phn || pl === 0){\n//console.log(\"Nada\");\nreturn {phn:phn, v:0 }; \n}\nlet res: any = {phn:phn.slice(0,pl -1), v:0 };\nlet os: any = phn[pl-1]; // same as slice .charAt(pl-1)\nthis.keyCt = this.keyCt + 1;\nawait new Promise(resolve => setTimeout(resolve, 20 )); //20 best results to register input\nthis.curCt = this.curCt + 1;\nif(this.curCt !== this.keyCt){\nthis.msg = 'slow down';\nreturn res; \n} \nthis.msg = null;\nthis.keyCt = 0; \nthis.curCt = 0;\n\n/* dev keep notes\nconsole.log(pl,phn[pl-2]); // same as .charAt(pl-2) single character 2nd to last\n*/\nif(!this.isCharNumber(os) && os !== '-'){//console.log(\"NaN / -\");\nreturn res;\n} \n\nlet an = phn.replace(/[^0-9]*/g, ''); \nif(an.length > 10){//console.log('++10');\nreturn res; \n}\n\nif(os === '-'){\nif(pl > 1 && os === phn[pl-2]){ //console.log(\"SAME CHAR\");\n return res;\n }\n\n\n if(pl === 4 || pl === 8 ){ //console.log(\"3/7\");\n }\n else{ //console.log(\"NOT 3rd 0r 7th character\");\n return res; \n } \n}\n\n//STILL WORKING\nif(an.length !== 10){//console.log(\"still working\"); \nif(phn.length === 3 || phn.length === 7) phn = phn + '-';\nreturn {phn:phn, v:0 }; \n} \n//console.log(\"COMPLETE\"); \nlet ac = an.slice(0, 3);\nlet td = an.slice(3, 6);\nlet fd = an.slice(-4);\nreturn {phn: ac + '-' + td + '-' + fd, v:1 };\n}\n\n\n\n\n\n \n\n} \n\n","import { Injectable } from '@angular/core';\nimport { LoadingController } from '@ionic/angular';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoadingService {\n\n isLoading = false;\n\n constructor(public loadingController: LoadingController) { }\n\n async present(m) {\n if(!m)return;\n\n this.isLoading = true;\n return await this.loadingController.create({\n message: \"\",\n duration: 60000,\n spinner: 'circular',\n cssClass: \"loader\"\n }).then(a => {\n a.present().then(() => {\n // console.log('presented');\n\n if (!this.isLoading) {\n a.dismiss()\n /*.then(() =>\n console.log('abort presenting')\n \n ); */\n }\n });\n });\n }\n\n\n \n async dismiss() {\n if(!this.isLoading) return;\n \n this.isLoading = false;\n return await this.loadingController.dismiss()\n /*.then(() =>\n console.log('dismissed')\n ); */\n }\n\n\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiLinkService } from '../api-link/api-link.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MediastreamService {\nplatWidth: any = 0;\n\nloadIdx: number = 0;\ntrackCt: number = 18; // actual #of tracks /////////////////////<<<<<<< important\n\nlkey: any;\nrkey: any; //random\nbanner: string;\ncurrentTrack: string;\nlastdescription: string;\nlastmedia: string;\nart1: any;\nart2: any;\nart3: any;\n\nstream: any;\npromise: any;\nCurIsPlaying: boolean = false;\nshownGroup:any;\nstopdetect: any = \"STOPPED\";\ntracks: any;\nmStatus: any;\n\n\npcalc:number = 0;\nptype:any;\n\nrandom:number = 0; // ON or OFF\nrandstat: any;\n\nrandskip:number = null;\npReady: number = 0;\n \n\nprogresspxls: any = \"0px\";\npct: number = 0;\n//isPlaying: any = this.CurIsPlaying; \n\n\nintm: number = 1000;\nmediaType: any;\ntimestp: any = 0;\ntimestp2: number = 0;\nhalt: number = 0;\ncft: number = 0;\nhlt: any;\n\nplayCt: number = 0;\ndst: any;\n\n\n//media\nrOrd: any;\nIdxs: any =[];\nlastrx: any;\ntracklist: any;\ntListSrv: any = [\n\n {\n 'thumb' : '../../assets/imgs/like.png',\n 'mediatype' : 'Web Audio ',\n 'art1' : '/assets/imgs/art/mgs.jpg',\n 'art2' : '/assets/imgs/art/gps.jpg',\n 'art3' : '/assets/imgs/art/99prob.jpg',\n 'track' : this.apiLink.URL + '/_stream/Lake_Placid.mp4',\n 'description' : 'Lake Placid - Gary S.',\n 'rating' : '5',\n 'banner' : '1',\n 'banner1' : '/assets/imgs/banners/landgrab.png',\n 'banner2' : '/assets/imgs/banners/mazi.jpg',\n 'banner3' : '/assets/imgs/banners/know2.jpg',\n 'vkey' :1,\n 'progress': 0\n }\n ]; \nconstructor(public router: Router, \npublic http: HttpClient,\npublic apiLink: ApiLinkService) {\n \nthis.tracklist = this.tListSrv;\n\nthis.azTracks(this.tracklist); // resort\n\n this.lkey = this.tracks[this.loadIdx].vkey; // STORE VIA ACCOUNTS [INTRODUCED AS A NUMBER]\n this.banner = this.tracks[this.loadIdx].banner;\n this.currentTrack = this.tracks[this.loadIdx].track; //FIRST TRACK\n this.lastdescription = this.tracks[this.loadIdx].description; // player bars\n this.lastmedia = this.tracks[this.loadIdx].mediatype; // player bars\n this.art1;\n this.art2;\n this.art3;\n\n this.rkey = this.lkey; //RANDOM after last played\n\n this.stream = new Audio(this.currentTrack);\n console.log('MediaStreamer READY - ',this.stream);\n\n}\n\n\nazTracks(data: any[]){\nthis.tracks = data.sort(function(a: { vkey: number; }, b: { vkey: number; },){\n \n if(a.vkey < b.vkey) return -1;\n if(a.vkey > b.vkey) return 1; \n return 0;\n });\n//console.log(this.tracks[0].vkey,this.tracks); \n}\n\n\n\n\npublic async makeRandom() {\n return await new Promise(resolve => {\n this.Idxs = []; \n let array = this.tracklist;\n let fRec: number;\n \n //random\n let m = array.length, t, i; \n \n // While there remain elements to shuffle…\n while (m) {\n \n // Pick a remaining element…\n i = Math.floor(Math.random() * m--);\n \n // And swap it with the current element.\n t = array[m];\n array[m] = array[i];\n array[i] = t;\n \n this.lastrx = array[i];\n }\n \n array.filter((item: {vkey: number; },index: number) => {\n if(index === 0) fRec = item.vkey; \n \n let newKeys ={\n vkey: item.vkey\n };\n \n this.Idxs.push(newKeys); \n });\n \n resolve(fRec);\n });\n }\n \n\n\n\n\n\n\n\n\nstopThenStartQueue (trig: any) { // USED BY QUEUE AND NEXT / BACK FUNCTIONS IN MEDIA SERVER TS\nconsole.log(this.lastmedia); //type\nconsole.log('triggered by: ' + trig + \" >>\" + this.lkey + \" / \" + this.currentTrack);\n\n//pause & clear current stream STOP/ RELEASE\nif(this.lastmedia !== \"Video\") this.stoptrack(); \nthis.startStopPlaying(); \n}\n\n\n// SHARED PLAY FUNCTION ALL BOTTOM BUTTONS\nstartStopPlaying () { // Each bar invokes its own listener!!!\nconsole.log('here to play') \nif(this.CurIsPlaying === true) { \nthis.pausetrack();\n} \nelse{\n if(this.lastmedia !== \"Video\") {\n this.playtrack();\n this.QueListen(); \n }\n\n}\nthis.ScrollToVK(); \n} \n\n\npausetrack(){ \nthis.CurIsPlaying = false;\nthis.stream.pause();\nthis.mStatus = 'paused';\nconsole.log('============= PAUSED ' + this.progresspxls);\n}\n\n\nstoptrack() { \nthis.stream.pause();\nthis.stream = \"\"; \nthis.mStatus = '';\nthis.stopdetect = \"STOPPED\";\nthis.progresspxls = \"0px\";\nthis.pct = 0;\nthis.timestp = 0;\nthis.CurIsPlaying = false; \nconsole.log('============= STOPPED ' + this.progresspxls);\n} \n\n\nasync playtrack() {\nif(this.lastmedia === \"Video\") {\nconsole.log(\"done interval\"); \nreturn; \n}\n\n\nif(this.stopdetect !== \"STOPPED\") {\nconsole.log('Already Queued *******- CurrentTIME' + this.stream.currentTime); \n// already running audio service\n}\nelse\n{ //fixup new track\n\nthis.stopdetect = \"\";\nthis.progresspxls = \"0px\";\nthis.pct = 0;\nthis.timestp = 0;\nthis.timestp2 = 0;\nthis.halt = 0;\nthis.pct = 0;\n\n\n\nthis.stream = new Audio(this.currentTrack); // NEW STREAM ////>>> \nconsole.log('Playing New Track >>>' + this.stream.currentTime + \" /progress \" + this.progresspxls, this.currentTrack);\n//starts audio stream//this.stream.loop = false;\n\n//TIME TO LOAD PIXELS\nawait new Promise(resolve => setTimeout(resolve, 200 ));\nthis.dst = (this.platWidth * .85).toFixed(2); //screen 375 80%\nconsole.log(this.dst + \" { \nthis.timestp2 = this.timestp2 + this.intm/1000; \n\nlet sc = this.stream.currentTime;\nlet sd = this.stream.duration\n\n if(this.mStatus === \"paused\"){\n this.timestp = sc;\n clearInterval(id); \n return;\n } \n \n\n\nif(this.mStatus === 'waiting'){ \n if(this.mStatus !== 'paused'){\n this.mStatus = 'playing';\n this.CurIsPlaying = true;\n \n } \n}\n\n\n\n\n\n\n\n\nif(this.CurIsPlaying === false || this.hlt === sc){\nthis.CurIsPlaying = false; \nthis.mStatus = 'waiting';\nthis.timestp = sc;\nthis.halt = sc;\nreturn; \n} \n\n \n\nlet p:any = Number ((((sd - (sd - sc)) / sd)) * 100).toFixed(2)\nif(p < 101){\nthis.pct = p;\n} else this.pct = 100;\n\n\nthis.timestp = this.timestp + this.intm/1000; \nthis.progresspxls = (this.dst * (this.pct /100)).toFixed(2) + 'px'; \n//console.log(this.progresspxls) ;\n \n\n\n\n\n\nthis.cft = 0;\nthis.halt = 0;\nthis.CurIsPlaying = true;\nthis.mStatus = 'playing';\n\n\n\nlet a = this.timestp.toFixed(2) - sc.toFixed(2);\n if(a > 4 ){ //5 waits for streamx\n this.cft = a;\n this.hlt = sc;\n this.timestp = sc;\n\n \n } \n\n}, this.intm);\n\n\n\n\nthis.promise = new Promise((resolve, reject) => {\nthis.stream.addEventListener('playing', () => {\nresolve(this.stream.duration);\n});\n\nthis.stream.addEventListener('paused', () => { \nresolve(true);\n});\n\nthis.stream.addEventListener('error', () => {\nreject(false);\n});\n});\n\n \n\nreturn this.promise;\n// promise only works outside of container HERE\n}\n\n\n\nfwdTime(){ \nlet sct = this.stream.currentTime; \nlet sd = this.stream.duration\n\nif(sct === 0) return; \nlet sc = sct + 10;\nthis.stream.currentTime = sc; \nthis.timestp = sc; \n\nlet p:any = Number ((((sd - (sd - sc)) / sd)) * 100).toFixed(0)\nif(p < 101){\nthis.pct = p;\n} else this.pct = 100;\n\nif(this.CurIsPlaying === false) this.progresspxls = (this.dst * (this.pct /100)).toFixed(2) + 'px'; \nconsole.log('<> ', sc); \n}\n\n\n\nbackTime(){ \nlet sct = this.stream.currentTime; \nlet sd = this.stream.duration\nif(sct === 0) return; \nlet sc = sct - 10;\nthis.stream.currentTime = sc; \nthis.timestp = sc; \n\nlet p:any = Number ((((sd - (sd - sc)) / sd)) * 100).toFixed(0)\nif(p < 101){\nthis.pct = p;\n} else this.pct = 100;\n\nif(this.CurIsPlaying === false) this.progresspxls = (this.dst * (this.pct /100)).toFixed(2) + 'px'; \nconsole.log('<> ', sc); \n}\n\n\n\n\nended() {\nthis.promise = new Promise((resolve,reject) => {\nthis.stream.addEventListener('ended', () => {\nconsole.log(\"ended END FUNCTION \")\nresolve(true);\n});\n\nthis.stream.addEventListener('error', () => {\nreject(false);\n}); \n});\n\nreturn this.promise;\n} \n\n\n\n\n\n\ngetByKey(vkey: any){ // WORKING , INDEX, no declare input\n let newds: any;\n let newtr: any;\n let newtl: any;\n let banner:any;\n let idx:number;\n let art1:any;\n let art2:any;\n let art3:any;\n \n \n this.tracklist.filter((item: { vkey: any; description: any; track: any; mediatype: any; banner: any; art1: any; art2: any; art3: any; },index: number) => {\n if (item.vkey === vkey){\n newds = item.description;\n newtr = item.track;\n newtl = item.mediatype;\n banner = item.banner;\n idx = index;\n art1 = item.art1;\n art2 = item.art2;\n art3 = item.art3; \n \n \n \n }\n }\n );\n //console.log('server GET BY KEY >> ',idx, vkey, newds, newtr, newtl, banner);\t\t\t\n return([idx, vkey, newds, newtr, newtl, banner, art1, art2, art3]); // 0, 1, 2, 3, 4, 5, 6, 7, 8\n }\n \n \n \n getByIndex(idx: any){ \n let vkey: any; \n let newds: any;\n let newtr: any;\n let newtl: any;\n let banner:any;\n let art1:any;\n let art2:any;\n let art3:any;\n \n\n this.tracklist.filter((item: { description: any; track: any; mediatype: any; vkey: any; banner: any; art1: any; art2: any; art3: any; },index: any) => {\n if (idx === index){\n newds = item.description;\n newtr = item.track;\n newtl = item.mediatype;\n vkey = item.vkey;\n banner = item.banner;\n art1 = item.art1;\n art2 = item.art2;\n art3 = item.art3; \n }\n });\n \n //console.log('server GET BY INDEX >> ',idx, vkey, newds, newtr, newtl, banner);\t\t\t\n return([idx, vkey, newds, newtr, newtl, banner, art1, art2, art3]) // 0, 1, 2, 3, 4, 5\n }\n\n\n\n\n\n\nNextTrack(){ //---------------- FOR AUTO PLAY QUE LISTENER\n\nconsole.log(' SRV MSTATUS =========== ',this.mStatus);\nlet goNext: number; \nlet rIdx: number; \nlet rlKey: number;\n\n \nif(this.random === 1){\n\n this.Idxs.filter((item: {vkey: number;},index: number) => {\n if(item.vkey === this.rkey){\n rIdx = index; //V12\n }\n });\n\n if(rIdx + 1 === this.tracks.length){ // CHECK TO STOP.\n this.makeRandom(); \n rIdx = 0; \n //idx 0 start over or remix\n }else rIdx = rIdx + 1; //12 or 0\n\n\n this.Idxs.filter((item: {vkey: number;},index: number) => {\n if(rIdx === index){\n rlKey = item.vkey; //V3\n//next rdx\n goNext = this.getByKey(rlKey)[0]; //V13 11 --> V3 12\n this.InfoPlay(goNext,'random');\n this.rkey = goNext;\n return 'random';\n } \n });\n\n}\nelse goNext = this.getByKey(this.lkey)[0]+1; // adds 1 to index LOOP \nconsole.log('CURRENT ',goNext);\n\nif(goNext < this.tracks.length){ \nthis.InfoPlay(goNext,'next'); \nreturn 'next';\n}\nelse{\n// IF LAST TRACK \n if(this.ptype ==='all'){ \n goNext = 0;\n this.InfoPlay(goNext,'all'); \n return 'all';\n }\n else{\n\n // INFERS user pushed button at end\n if(this.mStatus === 'End of list'){\n console.log('FWD'); \n goNext = 0; \n this.InfoPlay(goNext,'next'); \n return 'next';\n }\n\n\n if(this.mStatus !== 'End of list'){\n //this.mStatus = 'End of list';\n console.log('PLAYING LAST TRACK then EOL'); \n goNext = goNext -1;\n this.InfoPlay(goNext,'done'); \n return 'done';\n } \n\n } \n} \n\n\n\n}\n\n\n\n\nFwdTrack(){\nlet goFwd:any;\ngoFwd= this.getByKey(this.lkey)[0] +1; // adds 1 to index\n\nif(goFwd > this.tracks.length-1){\ngoFwd = 0;\n}\nthis.InfoPlay(goFwd,'fwd');\nreturn 'fwd';\n}\n\n\n\n\nBackTrack(){\nlet goBack:any;\ngoBack= this.getByKey(this.lkey)[0] -1; // substracts 1 from index\n\nif(goBack < 0){\ngoBack = this.tracks.length-1;\n}\nthis.InfoPlay(goBack,'back');\nreturn 'back';\n}\n\n\n\n\n\n\n\nInfoPlay(idx: any,action: string){\nif(action === 'done'){ \nthis.mStatus = 'End of list';\nreturn 'done' \n}\n\nconsole.log(this.mStatus,' INFO STAT ');\n\n\nlet data: any = this.getByIndex(idx);\n\nlet nextKey:any = data[1];\nconsole.log('AUTOFILL ',this.lkey,' PLAY NEXT>>> ',nextKey);\n\n//SETUP FOR PLAY / RELINK\nthis.lkey = nextKey;\nthis.lastdescription = data[2]; \nthis.currentTrack = data[3];\nthis.lastmedia = data[4]; \nthis.banner = data[5];\nthis.art1 = data[6];\nthis.art2 = data[7];\nthis.art3 = data[8];\n\nthis.stopThenStartQueue('InfoPlay'); // IN LOOP \n}\n\n\n\n\n\n\nselectiTrack(vkey: any, banner: string) { // manually select track already in view INJECT TRACK TO STREAM\n \n let doplay: any;\n this.banner = banner;\n \n if(vkey !== this.lkey){ //changing track\n doplay = true;\n\n\n\n let data = this.getByKey(vkey);\n //SETUP FOR PLAY / RELINK\n this.lkey= vkey; \n this.lastdescription = data[2]; \n this.currentTrack = data[3];\n this.lastmedia = data[4];\n this.banner = data[5]; \n this.art1 = data[6];\n this.art2 = data[7];\n this.art3 = data[8];\n }\n else\n {//SAME\n if(this.CurIsPlaying){\n doplay = false;\n // allowed to toggle. Playeer already has banner from Current\n this.queToggle();\n }\t\t\n else{\n //if was paused\n this.startStopPlaying ();\n }\n\n }\t\n \n if(doplay){\n this.stopThenStartQueue('SelectiTrack');\n this.ScrollToVK();\n }\n \n }\t\n \n\n \nQueListen(){\n this.ended().then((f: boolean) => { ///// PLAY ROUTE FOR ALL\n if( f == true){\n console.log(f , 'LISTENER AUTO NEXT'); \n this.playCt = this.playCt + 1;\n if(this.playCt === this.tracks.length){\n this.makeRandom();\n console.log(\"end of list REMIX SHUFFLE\"); \n this.playCt = 0;\n } \n\n if(this.ptype ==='one'){\n if(this.random === 0){\n\n\n this.stopThenStartQueue('Auto played'); // IN LOOP\n this.QueListen(); \n }\n else{ this.ptype = '';\n this.pcalc = 0}\n }\n else{\n //////////////////////\n if(this.mStatus !== 'End of list'){\n this.NextTrack(); \n this.QueListen();\t\t\t\t\n }\n else{\n this.pausetrack(); \n console.log(\"AUTO STOPPED - END OF LIST\");\n }\n ///////////////////////\t\t\n }\n }\n \n else{\n console.log('no response'); \n }\n });\n\n}\n\n\nqueToggle(){\n let vkey: any = this.lkey;\n if(this.lkey !== this.shownGroup){ \n this.toggleGroup(vkey,this.banner);\n\n }\n}\n\n\n\ntoggleGroup(group: any,banner: string) { //V1 etc.\n if (this.isGroupShown(group)) {\n this.shownGroup = null; // CAN CLOSE\n } \n else if(banner !== '0'){\n this.shownGroup = group;\n }\n}\n\n\n\nisGroupShown(group:any) {\nreturn this.shownGroup === group;\n}\n\n\n\n\nScrollToVK(){\nthis.queToggle(); \n\nvar page = document.getElementById(this.lkey);\n//console.log(page);\n if (page !== null){\n page.scrollIntoView();\t\t\n }\n\n\n} \n\n\n\nRepeat(){\nlet repwhat: number = (this.pcalc +1); \n\n if(repwhat === 1){\n this.ptype = 'one';\n this.pcalc = 1;\n\n if(this.random === 1){\n this.random = 0;\n this.randstat = '';\n }\n\n }\n\n\n if(repwhat === 2){\n this.ptype = 'all';\n this.pcalc = 2;\n this.mStatus = '';\n }\n\n\n if(repwhat === 3){\n this.ptype = \"(\"+this.tracks.length+\")\";\n this.pcalc = 0;\n }\n\n}\n \n \n\n\nasync Random(){\nlet fRec: any; \n\n if(this.ptype === 'one'){\n this.ptype = ''\n this.pcalc = 0;\n }\n\n let israndom = this.random + 1; \n \n if(israndom === 2){\n this.random = 0;\n this.randstat = '';\n console.log('random OFF');\n }\n else\n { \n this.tracks = []; //clear list \n\n await this.makeRandom().then(async v => {\n console.log(this.lkey,fRec = v);\n\n if(v === this.lkey){\n //REMIX\n console.log(\"REMIX per last track = Idxs index\");\n await this.makeRandom().then(n => {\n console.log(this.lkey,fRec = n);\n });\n \n }\n\n this.azTracks(this.tracklist);\n this.random = israndom;\n this.randstat = 'on';\n console.log('random ON',fRec);\n\n });\n\n\n \n \n\n\n }\n\n\n \n}\n \n\n\n\n}\n","import { Component, OnInit} from '@angular/core';\nimport { Router} from '@angular/router';\nimport { AppserviceService } from '../_service/appservice/appservice.service';\nimport { NavController } from '@ionic/angular';\nimport { CanActivateGuard } from '../_guard/canAc-app-guard.service';\nimport { CanDeactivateGuard } from '../_guard/canDe-app-guard.service';\nimport { AppComponent } from '../app.component';\nimport { MediastreamService } from '../_service/mediastream/mediastream.service';\n\n\n@Component({\n selector: 'app-tabs',\n templateUrl: 'tabs.page.html',\n styleUrls: ['tabs.page.scss']\n})\n\n\n\n\nexport class TabsPage implements OnInit {\nselectedSegment: string = \"chalkboard\";\n\n\n\nconstructor(public router: Router, public navCtrl: NavController,\npublic appService: AppserviceService, //keep \npublic appC: AppComponent, \npublic canGuard: CanActivateGuard, \npublic deactGuard: CanDeactivateGuard) { \n\nthis.canGuard.permit = 0; // set def for <> navigation \n//console.log('initialized tabs');\nthis.appService.loginFromUrl = this.appService.urlstate;\n\n}\n\n\n\n\n\n \nngOnInit() {\n \n}\n\nasync goTop(){\n \nif(this.appService.fHalert > 0){\nthis.appService.goTab('frhistory',null); \n} \nelse {\nthis.appService.topSectionScrolls = this.appService.topSectionScrolls.replace(\"items_page:\",'');\n if(!this.router.url.includes('items_page')){ \n this.appService.goTab('items_page',null)\n await new Promise(resolve => setTimeout(resolve, 500)); \n \n if(this.appService.isMobiW) this.appService.scrollToElem('topRow',true,false);\n else if(this.appService.isCollapsed) this.appService.scrollToElem('topTab',true,false);\n\n await new Promise(resolve => setTimeout(resolve, 60)); \n this.appService.scrollToElem('itemsContent',true,false); \n \n } \n}\n\nthis.appService.showLA = false;\nthis.appService.itemAlertMsg = null;\n}\n\n\nionViewWillEnter(){\n\n} \n\n\nionViewWillLeave(){\nthis.appC.menuCtrl.close();\n}\n\n\n\n\ngoLink(urLink: string, urTitle: string){\nif(urLink === '/welcome'){ \n\n if(!this.appService.screenFull){\n this.appService.urlstate = \"/?\" + this.appService.rootId + \"=&login=1\"; \n history.pushState (null, null,this.appService.urlstate); \n }\n window.location.reload();\n return \n}\n\nthis.canGuard.permit = 1; \n\n\nthis.appService.goTab(urLink,null);\n}\n \n\n\nasync backPS(){\nthis.appService.goTab('items_page',null);\n}\n\n\n\n\n}\n","import { NgModule } from '@angular/core';\nimport { PreloadAllModules, RouterModule, Routes } from '@angular/router';\nimport { CanActivateGuard } from './_guard/canAc-app-guard.service';\nimport { CanDeactivateGuard } from './_guard/canDe-app-guard.service';\n\n\n\nconst routes: Routes = [\n\n {\n path: '',\n loadChildren: () => import('./splash/splash.module').then( m => m.SplashPageModule)\n },\n { path: 'welcome',\n loadChildren: () => import('./welcome/welcome.module').then( m => m.WelcomePageModule)\n },\n { path: 'queue',\n loadChildren: () => import('./queue/queue.module').then( m => m.QueuePageModule)\n},\n { path: 'login',\n loadChildren: () => import('./login/login.module').then( m => m.LoginPageModule)\n}, \n { path: 'app',\n loadChildren: () => import('./_tabs/tabs.module').then(m => m.TabsPageModule)\n }, \n {\n path: 'enroll',\n loadChildren: () => import('./enroll/enroll.module').then( m => m.EnrollPageModule)\n },\n {\n path: 'keepme',\n loadChildren: () => import('./keepme/keepme.module').then( m => m.KeepmePageModule)\n },\n {\n path: 'policyterms',\n loadChildren: () => import('./policyterms/policyterms.module').then( m => m.PolicytermsPageModule)\n },\n {\n path: 'launch-ext',\n loadChildren: () => import('./launch-ext/launch-ext.module').then( m => m.LaunchExtPageModule)\n },\n {path: 'splash', redirectTo: '', pathMatch: 'full'}, // MUST ENTER SUB ACCT url-input-error\n\n // MUST ENTER SUB ACCT url-input-error\n { \n path: '**', redirectTo: ''},\n\n]; \n\n\n\n\n@NgModule({\n imports: [\n RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })\n ],\n exports: [\n RouterModule],\n \n providers: [ \n CanActivateGuard,\n CanDeactivateGuard\n ]\n})\nexport class AppRoutingModule {}\n","import { Component, HostListener, OnInit} from '@angular/core';\nimport { MenuController, Platform } from '@ionic/angular';\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\nimport { NgZone } from '@angular/core';\nimport { CanDeactivateGuard } from './_guard/canDe-app-guard.service';\nimport { AppserviceService } from './_service/appservice/appservice.service';\nimport { CanActivateGuard } from './_guard/canAc-app-guard.service';\nimport { ApiLinkService } from './_service/api-link/api-link.service';\nimport {\n Event,\n NavigationCancel,\n NavigationEnd,\n NavigationError,\n NavigationStart,\n Router\n} from '@angular/router';\nimport { MediastreamService } from './_service/mediastream/mediastream.service';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n styleUrls: ['app.component.scss']\n})\n\n\nexport class AppComponent implements OnInit { \nname = 'Angular 5'; \nappver: string = '1.015';\n\n\n/// Idle // =====> fwd with masking // ===== temporary 302\n\nidleState = null; //'Not started.'\ntimedOut = false;\nmin: any = null;\nsec: any = null;\ncurmin: any;\n\niSub: any;\noSub: any;\ntoSub: any;\ntowSub: any;\n\n@HostListener('window:resize', ['$event'])\nonResize() {\nthis.isResized();\n}\n\n\ncurrentRoute: string;\n\n\n\n\n\nconstructor(public idle: Idle,private zone: NgZone,\npublic appService: AppserviceService, public menuCtrl: MenuController,\npublic canGuard: CanActivateGuard, public deactGuard: CanDeactivateGuard,\nprivate platform: Platform, public apiLink: ApiLinkService,\npublic player: MediastreamService,\nprivate router: Router) {\n\n\nthis.router.events.subscribe((event: Event) => {\n switch (true) {\n \n \n case event instanceof NavigationStart: {\n // this.appService.loading.present(\"loading..\");\n\n \n\n break;\n }\n\n case event instanceof NavigationEnd:\n case event instanceof NavigationCancel:\n case event instanceof NavigationError: {\n //this.appService.loading.dismiss();\n \n this.appService.urNav();\n\n\n \n break;\n }\n default: {\n break;\n }\n\n\n }\n});\n\nthis.initializeApp();\n\n\n}\n\n\nngOnInit(){\n}\n\n\n\n\n\n\n\nisResized(){\n let w = this.platform.width();\n this.appService.platWidth = w;\n this.player.platWidth = w;\n \n let h = this.platform.height();\n this.appService.platHeight = h; \n \n \n if(w < this.appService.colpsW){\n this.appService.isCollapsed = true; \n this.appService.topLeftMenuHidden = true; \n } \n else if(w > this.appService.colpsW -1){\n this.appService.isCollapsed = false; \n this.appService.topLeftMenuHidden = false;\n this.appService.topSectionScrolls = \"\"; \n this.appService.showSort = false;\n } \n\n if(w < this.appService.mobiW){\n this.appService.isMobiW = true; \n } \n else if(w > this.appService.mobiW -1){\n this.appService.isMobiW = false; \n } \n\n // console.log(w + \" x \" + h)\n}\n\nasync initializeApp() {\nthis.platform.ready().then(async () => {\n\n\nlet hn = window.location.hostname;\nthis.appService.hostname = hn;\n\nif(hn.includes(\".com\")){\nthis.apiLink.API = this.apiLink.API2; \n} else \nthis.apiLink.API = this.apiLink.API1; \n\nthis.isResized();\n//this.statusBar.hide();\n//this.splashScreen.hide(); \nthis.appService.introPos = this.appService.platHeight - 325;\n\n\nthis.pgRefresh(); \n\n\nthis.appService.appver = this.appver;\nthis.player.makeRandom(); \n//alert(\"Host: \"+ window.location.hostname)\n\n});\n}\n\n\n\n\n\n\n\n\n\n\npgRefresh(){\nwindow.addEventListener(\"keyup\", disableF5);\nwindow.addEventListener(\"keydown\", disableF5);\nfunction disableF5(e) {\nif ((e.which || e.keyCode) == 116) e.preventDefault(); \n};\n\n}\n\n\n\n\n//MUST REMAIN IN APP COMP TO INIT GUARDS\nrunAppTimeOut(){\nconsole.log('START TIMEOUT WATCH') \n\n let appTimeOut: number = this.appService.appInfo.timeOut;\n console.log(appTimeOut); //seconds\n\n this.idle.setIdle(appTimeOut); \n this.idle.setTimeout(appTimeOut/2); //half the timeOut\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n \n this.iSub = this.idle.onIdleEnd.subscribe(() => {\n this.idleState = null;//. 'No longer idle'\n this.zone.run(() => {\n console.log('force update the screen');\n });\n });\n\n\n this.toSub = this.idle.onTimeout.subscribe(() => {\n\n this.idleState = 'Timed out!';\n this.timedOut = true;\n \n //UNSUBSCRIBE\n this.iSub.unsubscribe(); \n this.toSub.unsubscribe();\n this.oSub.unsubscribe();\n this.towSub.unsubscribe();\n this.idle.stop();\n console.log('TIMED OUT');\n \n this.deactGuard.isLogout = 1;\n this.canGuard.isLogout = 1;\n this.canGuard.permit = 1;\n window.location.reload();\n });\n\n\n\n this.oSub = this.idle.onIdleStart.subscribe(() => this.idleState = 'Session idle!');\n\n this.towSub = this.idle.onTimeoutWarning.subscribe((countdown) => {\n let data = countdown/60;\n this.min = data.toString().split('.')[0];\n if(this.min > 0){\n this.curmin = this.min +' min '; \n } else{\n this.curmin = '';\n }\n this.sec = parseFloat(0+'.'+data.toString().split('.')[1])*60;\n this.sec = (Math.round(this.sec * 100) / 100);\n console.log(countdown)\n\n this.idleState = 'Inactivity timeout ' + this.curmin +this.sec+' seconds';\n });\n this.reloadTimer();\n}\n\n\n\n\nreloadTimer() {\n//alert('reloaded ' + this.router.url) \nthis.idle.watch();\nthis.idleState = null;//'Started.'\nthis.timedOut = false;\n}\n \n\n\n}\n","import { NgModule} from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { RouteReuseStrategy } from '@angular/router';\n\nimport { IonicModule, IonicRouteStrategy } from '@ionic/angular';\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { TabsPage } from './_tabs/tabs.page';\nimport { ReportsPage } from './reports/reports.page';\nimport { LoginPage } from './login/login.page';\nimport { Items_chalkboardPage } from './item_chalkboard/item_chalkboard.page';\n\n\n\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n NgIdleKeepaliveModule,\n IonicModule.forRoot({ swipeBackEnabled: false, animated: false }),\n //{swipeBackEnabled: false, animated: false }), \n //NO PERSISTING DISABLE.. apply via tabs navigation. [both os]\n AppRoutingModule\n ],\n providers: [\n TabsPage,\n ReportsPage,\n LoginPage,\n Items_chalkboardPage,\n AppComponent,\n { provide: RouteReuseStrategy,\n useClass: IonicRouteStrategy },\n ],\n bootstrap: [AppComponent\n ]\n})\n\n\n\nexport class AppModule {\n\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppserviceService } from '../_service/appservice/appservice.service';\n\n@Component({\nselector: 'app-item_chalkboard',\ntemplateUrl: './item_chalkboard.page.html',\nstyleUrls: ['./item_chalkboard.page.scss'],\n})\nexport class Items_chalkboardPage implements OnInit {\n\n\nchkBtn: string = \"Delete All\";\nvalcpgn: boolean;\nmoreLess: boolean = false;\nselectedSegment: string = \"contract\";\nviewOpts: boolean;\n\n\n\nconstructor( public appService: AppserviceService,\npublic router: Router\n) { \n\n}\n\n\n\n\nngOnInit() {\n}\n\n\n\n\nionViewWillEnter(){\n if(this.appService.cbalert > 0) this.appService.sortOpts('c','Age - Newest');\n } \n\n\n\n\nasync ionViewWillLeave(){ \nthis.appService.showSort = false;\n}\n\n\n\n\n\n\n\n\nasync removeFav(inv,shp, typ){\n\nif(typ === 'cnld' && this.appService.inCrrReqs.includes(inv)){\nawait this.appService.reqFreight(inv,shp, true); //skip\n} \n//user remove\n\n\n\nlet p: any = await this.appService.appConfirm(\"Delete Confirm\",\"Are you sure?\",null,\"Yes\",\"No\");\n//console.log(p)\n\nif(p === 3) return; \n\n\n if(this.appService.isCbOpen === inv){\n this.appService.isCbItem = \"\";\n this.appService.isCbOpen = \"\";\n this.selectedSegment = \"contract\"; \n } \n\nthis.appService.removeCbList(inv,false);\n}\n\n\nmeResize(){\nif(!this.selectedSegment) this.selectedSegment = \"contract\"; \n}\n\n\n\n\nasync segmentChanged(v: any) {\nif(this.viewOpts){\n// console.log(v, this.appService.isCbOpen+ '-Cb')\nthis.viewOpts = false;\n\nawait new Promise(resolve => setTimeout(resolve, 200));\nthis.appService.scrollToElem(this.appService.isCbOpen+ '-Cb',true,true)\n\n} \nelse {\nthis.viewOpts = true;\nawait new Promise(resolve => setTimeout(resolve, 200));\nthis.appService.scrollToElem(v,false,true)\n} \n}\n\n\n\ntogglemoreLess(){\nif(!this.moreLess){\nthis.moreLess = true; \n} else {\nthis.moreLess = false;\n} \n}\n\n\n \nasync toggleIsOpen(x: string, fs: string){ \nthis.appService.showSort = false;\n\nthis.appService.clearAlertMsg();\nthis.appService.clearAlerts(x);\n\n\n\nif(this.appService.isLoggedIn === 'Carrier' && fs !== 'Unassigned') return;\n\n\n\nif(this.appService.isCbOpen !== \"\") {\nthis.appService.isCbOpen = \"\"; \nthis.moreLess = false; \nif(this.appService.isCbItem === x) return; ; \n} \n\n\n\n\n\nawait new Promise(async resolve => {\nif(this.appService.isCbItem !== x){ //SWITCHING\nthis.appService.isCbItem = x; \n if(this.appService.isCollapsed){\n this.selectedSegment = \"contract\"; \n this.viewOpts = false;\n resolve(true);\n } \n} \n\n\n\n this.appService.isCbOpen = x;\n await new Promise(resolve => setTimeout(resolve, 200));\n await this.appService.scrollToElem(x + '-Cb',true,true).then(async ()=>{\n await this.appService.hgtResize('detsCb','Toggle');\n // this.moreLess = true; \n });\n\n}); \n\n}\n \n\n\n\n\n \nasync offBoard(){\nlet p: any = await this.appService.appConfirm(\"Clear Chalkboard\",\"Are you sure\",null,\"Yes\",\"No\");\n\nif(p === 3) return; \n\n\n\n this.appService.hiddenButton = true;\n\n if(this.appService.apiItemsList) this.appService.goTab('items_page',null); \n else this.appService.goTab('item_search',null); \n\n this.appService.removeAllCbList();\n\n this.appService.isCbOpen = \"\";\n this.appService.isCbItem = \"\"; \n this.appService.hiddenButton = false;\n } \n \n\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Router} from '@angular/router';\nimport { ApiLinkService } from '../_service/api-link/api-link.service';\nimport { AppserviceService } from '../_service/appservice/appservice.service';\nimport { CanActivateGuard } from '../_guard/canAc-app-guard.service';\nimport { AppComponent } from '../app.component';\nimport { IonInput, NavController } from '@ionic/angular';\n\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.page.html',\n styleUrls: ['./login.page.scss'],\n})\n\n\nexport class LoginPage implements OnInit {\n@ViewChild('pwdInput', { static: false }) pwdInput : IonInput;\n\nloginData = { username:'', password:'', secpin:'' };\nmsg: string;\ngoUrl: string;\npermit: string;\nerrMsg: number;\ndataVal: any;\ndataSet: any = null;\nisNewReg: boolean = false;\n\nchxpin: any = null;\nchxptime: any;\ncountdown:number = 0;\nupdPwdpass: boolean = false;\n\nfirstRun: boolean = true;\n\n\n\nconstructor(\npublic router: Router, public appC: AppComponent,\npublic appService: AppserviceService, public navCrtl: NavController,\npublic apiLink: ApiLinkService, \npublic canGuard: CanActivateGuard) {\n}\n\n\nngOnInit() {\n}\n\n\n\n\n\n\nasync ionViewWillEnter(){\nthis.canGuard.permit = 0; \n\n}\n\n\n\n\n\n\n\n\n\n\n\nscrollKeyLine(){\nthis.appService.scrollToElem('btmLine',true,true)\n}\n\n\n\nasync ionViewDidEnter(){ //IF UI NEEDS TO VIEW COMPLETELY LOADED\nthis.appService.msg = null; \nthis.appService.errMsg = null; \nthis.appService.pinEye = \"password\";\nthis.appService.pEye = \"password\";\n\n\n\n\n if(this.appService.newpwd){\n this.isNewReg = true;\n this.loginData.username = this.appService.newEnrollee[1];\n this.loginData.password = this.appService.newpwd;\n this.appService.appFlushUser();\n this.goLogin(); \n } \n \n}\n\n\n\n\n\n\nbackToWelcome(){\nif(!this.appService.screenFull){\n this.appService.urlstate = '/?' + this.appService.rootId + '=';\n history.pushState (null, null,this.appService.urlstate); \n }\n\nthis.canGuard.permit = 1; \nthis.router.navigate(['/welcome'],{skipLocationChange: true}); \n}\n\n\n\n\n\n\n\n\nasync goEnroll(){ \nlet proceed = await new Promise(async (resolve) => { \n\n if(this.appService.refCode === '0000' || !this.appService.refCode){ //// update to Corp ID\n \n this.appService.refCode = this.appService.appInfo.corpId; \n \n this.appService.connTimer('Updating referral ID',null,true);\n this.appService.userVerifyRefID().then(async e=>{\n this.appService.dataVal = \"Stop Connection Timer\"\n\n if(e){ \n } resolve(true); \n }); \n\n } else resolve(true);\n \n });\n\n\n\n if(proceed) {\n if(!this.appService.screenFull){\n this.appService.urlstate = this.appService.urlstate + '&profile=1';\n history.pushState (null, null,this.appService.urlstate); \n } \n this.canGuard.permit = 1; // canAct to Login\n this.router.navigate(['/enroll'],{skipLocationChange: true }); \n } \n\n} \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//Show/Hide HomeScreen Shortcut\ntmpHS(){\n this.appService.tmpHS = 1; \n}\n\ncanceltmpHS(){\n this.appService.tmpHS = 0; \n}\n\n\n/*\nasync KBgoLogin(){\nawait new Promise(resolve => setTimeout(resolve, 300 )); \nthis.pwdInput.getInputElement().then(\ninputElement => inputElement.blur());\nthis.goLogin();\n}\n*/\n\n\n\npinMatch(){\nthis.appService.pinEye = \"password\"; \nthis.appService.pEye = \"password\";\nthis.pwdInput.setFocus();\n}\n\n\n\ntoggleEye(){\n//IOS CANNOT SHOW KEYBOARD BUT ANDROID CAN\nif(this.appService.pEye === \"text\"){\nthis.appService.pEye = \"password\";\n} else this.appService.pEye = \"text\"; \n\n}\n\n\ntogglepinEye(){\n if(this.appService.pinEye === \"text\"){\n this.appService.pinEye = \"password\";\n } else this.appService.pinEye = \"text\";\n}\n\n\n\n\nbackSpc(){\nthis.appService.bsp = 1; \n}\n\n\n\nasync showLC(){\n\n \n if(this.appService.bsp === 1){\n await new Promise(resolve => setTimeout(resolve, 350)); //must wait\n this.appService.bsp = 0;\n } \n else {\n //hidden\n this.appService.sLC = false;\n if(this.appService.platWidth > 700 ) await new Promise(resolve => setTimeout(resolve, 350 )); //must wait\n this.appService.sLC = true; \n }\n\n}\n\n\n\n\nasync goUserLogin(){\nreturn await new Promise((logCreds) => {\nlet gotVal: any;\n \n\n//bypass pw\n if(this.loginData.password === 'aaa'){\n this.loginData.username = \"cgnsadmin\";\n this.loginData.password = \"123456Gs$\";\n //eRme = true;\n }\n \n if(this.loginData.password === 'sss'){\n this.loginData.username = \"bizmerch\";\n this.loginData.password = \"garyS123!\";\n //eRme = true;\n }\n\n if(this.loginData.password === 'ccc'){\n this.loginData.username = \"dbcust\";\n this.loginData.password = \"123456Gs$\";\n //eRme = true;\n }\n\n if(this.loginData.password === 'ddd'){\n this.loginData.username = \"dbuser\";\n this.loginData.password = \"123456Gs$\";\n //eRme = true;\n }\n\n\n \n if(this.loginData.password === 'ooo'){\n this.loginData.username = \"otadmin\";\n this.loginData.password = \"garyS123!\";\n //eRme = true;\n }\n\n if(this.loginData.password === 'mmm'){\n this.loginData.username = \"moonadmin\";\n this.loginData.password = \"garyS123!\";\n //eRme = true;\n }\n\n \n\n if(!this.loginData.username || !this.loginData.password){\n this.appService.msg = \"Username or password missing\";\n return null;\n }\n\n\n \n if(this.loginData.username.length < 6 || this.loginData.password.length < 3){ // 6 for both\n this.appService.msg = \"Incorrect credentials input\"; \n return null;\n }\n\n\n\n\n let m: string;\n if(this.isNewReg === true){\n m = 'Account created \\n logging in.'; \n } //else m = 'Login';\n\n\n \n this.appService.connTimer(null,null,true);\n\n let lcreds: any = this.apiLink.getUserCreds(this.appService.rootId,\n this.loginData.username.replace(/^\\s+|\\s+$/g, ''),\n this.loginData.password.replace(/^\\s+|\\s+$/g, '')).subscribe(async creds => { \n //this.appService.dataVal = \"Stop Connection Timer\"\n \n console.log(gotVal = creds[0]); \n \n\n if(gotVal.toString().includes('denied')){ // first record\n this.appService.msg = gotVal; \n }else\n { \n\n \n if(this.appService.rootId !== gotVal.profileGroup){\n alert(\"Not found in profile group\")\n return;\n }\n \n\n this.appService.credsInfo = gotVal; //Logging in\n\n\n //NO CodeId field\n this.appService.refCode = gotVal.userId;\n this.appService.refUser = gotVal.firstName + ' ' + gotVal.lastName;\n this.appService.refProfileType = gotVal.profileType;\n this.appService.refProfileGroup = gotVal.profileGroup;\n \n \n let uCreds = {pGroup: gotVal.profileGroup, pType: gotVal.profileType}\n logCreds(uCreds);\n } \n \n lcreds.unsubscribe();\n }, err=>{\n console.log(err);\n }); \n \n });\n}\n\n\n\n\n\nasync goLogin(){\nthis.appService.pEye = \"password\"; \nthis.appService.dataVal = null;\n\n\n\n\nawait this.goUserLogin().then(async e=> {\n this.canGuard.permit = 1;\n // console.log(\n this.appService.isLoggedIn = e.pType\n //);\n\n\n if(e){\n\n\n if(!this.appService.screenFull){\n this.appService.urlstate = '/?' + this.appService.rootId + '=';\n history.pushState (null, null,this.appService.urlstate); \n }\n \n\n if(this.appService.appInfo.ext){\n this.navCrtl.navigateRoot('/launch-ext',{ skipLocationChange: true });\n } \n else {\n\n this.appService.toolBarClass = \"homeBG\"\n this.appService.sideMenu(); \n this.navCrtl.navigateRoot('/app/home',{ skipLocationChange: true }); // pop & clear\n \n if(this.appService.isLoggedIn === 'Carrier'){ \n await this.appService.getLanes(); \n\n //console.log(\"lanes: \",this.appService.userDefs.length );\n if(this.appService.userDefs[0]){\n this.appService.includeDefList = true;\n await this.appService.updateItems('FIRST RUN',null,'progb',null);\n } else this.appService.dataVal = \"Stop Connection Timer\";\n \n } \n else { \n \n let c: any = \n {orgn: \"\", \n dest: \"\", \n equip: \"V\", \n frs: \"2023-02-01T05:00:00.000Z\", \n tos: new Date().toISOString(), \n exStates: \"\",\n minMiles: \"\",\n minRpm:\"\"\n }\n \n await this.appService.updateItems('b',c,'progb',null);\n } \n\n } \n } \n\n\n \n }); \n\n\n}\n\n\n\n\n\nasync chxPwd(){\nthis.appService.pinEye = \"password\";\nthis.appService.pEye = \"password\";\n\nthis.chxpin = null;\nthis.appService.msg = null; \n\n\n\n this.appService.connTimer('Verifying username',null,true); \n let lcreds: any = this.apiLink.chkUsername(this.appService.rootId,\n this.loginData.username.replace(/^\\s+|\\s+$/g, '')).subscribe(async creds => {\n this.appService.dataVal = 'Stop ConnTimer'; \n \n let gotVal: any = creds && creds[0];\n \n if(gotVal.toString().includes(\"not found\")){ // first record\n this.appService.msg = gotVal; \n }else\n {\n \n this.appService.msg = 'Check your email for secret pin';\n this.chxpin = gotVal;\n this.chxptime = new Date(); \n \n this.countdown = 60;\n this.loginData.password = ''; \n this.loginData.secpin = ''; \n this.appService.doChgPwd(); \n this.ctDown();\n } \n \n lcreds.unsubscribe();\n }, err=>{\n console.log(err);\n });\n \n \n }\n \n\nasync ctDown(){\n\nlet ct = this.countdown;\n\nfor(let i=0; i < ct && this.countdown > 0; i++){ \n\nawait new Promise(resolve => setTimeout(resolve, 1500 )); \nthis.countdown = this.countdown - 1;\n}\n\nif(this.countdown === 0) this.appService.msg = 'Secret pin expired';\nthis.appService.msg = null;\nthis.appService.chgPwd = false;\n} \n\n\n\nctCancel(){\nif(this.countdown > 0){\n this.appService.msg = null;\n} \n\nthis.appService.chgPwd = false;\nthis.countdown = 0;\n\n}\n\n\n\n async goLoginPCX(){\n// update sefver - then login\n\nif(!this.loginData.secpin){\n this.appService.msg = 'Please input secret pin';\n return;\n}\n\n\n\nif(this.countdown < 1){\n this.appService.chgPwd = false;\n this.appService.msg = 'Secret pin expired';\n return;\n}\n\n\nif(this.loginData.secpin !== this.chxpin){\n this.appService.msg = 'Incorrect secret pin';\n return;\n}\n\n\n\n\nlet p = this.loginData.password;\nlet pattern = new RegExp(\"^(?=.*[a-z|A-Z])(?=.*\\\\d)(?=.*[.!@$^&_+-]).+$\"); //include\n\nif(pattern.test(p) && p.length > 5 && p.length < 11){\n this.updPwdpass = true;\n} \nelse {\n this.updPwdpass = false; \nthis.appService.msg = \"Incorrect password input\";\nreturn; \n}\n\n\nthis.appService.connTimer('',null,false); \nlet lcreds: any = this.apiLink.chgPass(this.appService.rootId,\n this.loginData.username.replace(/^\\s+|\\s+$/g, ''),\n this.loginData.password.replace(/^\\s+|\\s+$/g, '')).subscribe(async creds => {\n this.appService.dataVal = 'Stop ConnTimer'; \n \n let gotVal: any = creds && creds[0];\n\n if(gotVal ===\"Update credentials fail\"){ // first record\n this.appService.msg = gotVal; \n }\n else{\n this.appService.msg = null;\n this.countdown = 0;\n this.goLogin(); \n } \n \nlcreds.unsubscribe();\n}, err=>{\n console.log(err);\n}); \n \n}\n\n\n\nasync getCpgns(pGroup: any, pType: any){\nthis.appService.uCpgns = null;\n\n let data = this.apiLink.apiCpgns(pGroup,pType).subscribe(cpgns => {\n //ignore per login clears Timer\n this.appService.uCpgns = cpgns[0];\n this.appService.defcpgn = this.appService.uCpgns.cpgnId;\n\n data.unsubscribe();\n }, err => {\n console.log(err);\n });\n}\n\n\n\n\n\n\n\n\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ApiLinkService } from '../_service/api-link/api-link.service';\nimport { AppserviceService } from '../_service/appservice/appservice.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-reports',\n templateUrl: 'reports.page.html',\n styleUrls: ['reports.page.scss']\n})\nexport class ReportsPage implements OnInit, OnDestroy{\n\n\nsrchInput: any = \"\";\nmatch: any = \"View All\";\nselectedSegment = 'network';\n \n\n\nconstructor(public appService: AppserviceService,\npublic router: Router, public apiLink: ApiLinkService ) { \n//this.viewUsers(); \n}\n\n ngOnDestroy(){\n console.log('DESTROYED')\n return false;\n //throw new Error('Method not implemented.');\n }\n \n\n // NO ROUTER YET\n\n\nngOnInit() {\n} \n \n\n\nasync ionViewDidEnter(){ \n }\n\n\n\n\nmatchChx(){\nif(this.match === 'View All'){\nthis.srchInput = \"\"; \n}\n\nthis.appService.usersReportInfo = null;\n}\n\n\n\n\n async viewUsers() {\nlet m = this.match; \nif(m !== 'View All' && !this.srchInput.replace(/^\\s+|\\s+$/g, '')){\n\nif(m === 'Match'){\n this.appService.msg = 'Enter a match value'; \n}else this.appService.msg = 'Enter a search value';\nthis.appService.showToast('bottom','primary');\nreturn; \n} \n\n\nthis.appService.usersReportInfo = null;\nthis.appService.usersReportInfoCT = null;\n\n\nlet searchValT = (this.srchInput).replace(/^\\s+|\\s+$/g, '');\n\nlet gotVal;\n\nif(!searchValT){\n this.appService.connTimer('Searching....',null,true); \n let idSub: any = this.apiLink.getUsersList(this.appService.credsInfo.profileGroup).subscribe(async users => {\n this.appService.dataVal = 'Stop ConnTimer'; \n\n gotVal = users && users[0];\n\n if(gotVal ===\"not found\"){\n this.appService.msg = \"Users not load\";\n this.appService.showToast('bottom','primary');\n }\n else\n {let descUsers = users.sort(function(a: { userId: number; }, b: { userId: number; },){\n if(a.userId < b.userId) return 1; //DESC ORDER\n if(a.userId > b.userId) return -1; \n return 0;\n });\n\n this.appService.usersReportInfo = descUsers; \n this.appService.usersReportInfoCT = descUsers.length;\n } \n \n \n idSub.unsubscribe(); \n }, err=>{\n console.log(err);\n });\n }\n else{\n let idSub: any = this.apiLink.getUser(searchValT,this.appService.rootId,this.match).subscribe(async users => { \n\n gotVal = users && users[0];\n\n if(gotVal === \"not found\"){\n this.appService.msg = this.match + ' not found for: ' + searchValT;\n this.appService.showToast('bottom','primary');\n }\n else\n {let descUsers = users.sort(function(a: { userId: number; }, b: { userId: number; },){\n if(a.userId < b.userId) return 1; //DESC ORDER\n if(a.userId > b.userId) return -1; \n return 0;\n });\n \n this.appService.usersReportInfo = descUsers; \n this.appService.usersReportInfoCT = descUsers.length;\n } \n \n idSub.unsubscribe();\n }, err=>{\n console.log(err); \n });\n }\n \n}\n\n\n\n\n \n \n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\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","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t79,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t5593,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t3225,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t4812,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t6655,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t4856,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t3059,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t8648,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t8308,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t4690,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t4090,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t6214,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t9447,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t9689,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t8840,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t749,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t9667,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t3288,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t5473,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t3634,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t2855,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t495,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t8737,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t9632,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t4446,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t2275,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t8050,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t8994,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t3592,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t5454,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t290,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t2666,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t4816,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t5534,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t4902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t1938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t8179,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t668,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t1624,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t9989,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t8902,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t199,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t8395,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t6357,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t8268,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t5269,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t2875,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 863;\nmodule.exports = webpackAsyncContext;"],"names":[],"sourceRoot":"webpack:///"}