{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/_helpers/assert.helper.ts","webpack:///src/app/_helpers/contract.helper.ts","webpack:///src/app/_helpers/http.helper.ts","webpack:///src/app/_helpers/store.helper.ts","webpack:///src/app/_helpers/url.helper.ts","webpack:///src/app/_interceptor/jwt.interceptor.ts","webpack:///src/app/_pipes/custom.currency.pipe.ts","webpack:///src/app/_proxy/admin.proxy.ts","webpack:///src/app/_proxy/agreements.proxy.ts","webpack:///src/app/_proxy/auth.proxy.ts","webpack:///src/app/_services/admin.service.ts","webpack:///src/app/_services/agreements.service.ts","webpack:///src/app/_services/appconfig.service.ts","webpack:///src/app/_services/authentication.service.ts","webpack:///src/app/admin-details/admin-details.ts","webpack:///src/app/admin-details/admin-details.component.html","webpack:///src/app/admins/admins.ts","webpack:///src/app/admins/admins.component.html","webpack:///src/app/agreement-details/agreement-details.component.ts","webpack:///src/app/agreement-details/agreement-details.component.html","webpack:///src/app/agreements/agreements.component.ts","webpack:///src/app/agreements/agreements.component.html","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/auth/admin.guard.ts","webpack:///src/app/auth/auth.guard.ts","webpack:///src/app/auth/auth.interceptor.ts","webpack:///src/app/auth/auth.module.ts","webpack:///src/app/auth/index.ts","webpack:///src/app/auth/state/auth.actions.ts","webpack:///src/app/auth/state/auth.facade.ts","webpack:///src/app/auth/state/auth.reducer.ts","webpack:///src/app/auth/state/auth.selector.ts","webpack:///src/app/auth/state/hydration.reducer.ts","webpack:///src/app/auth/state/index.ts","webpack:///src/app/auth/super-admin.guard.ts","webpack:///src/app/createinvoice/createinvoice.component.ts","webpack:///src/app/createinvoice/createinvoice.component.html","webpack:///src/app/custom-validators.ts","webpack:///src/app/customer-messages/customer-messages.component.ts","webpack:///src/app/customer-messages/customer-messages.component.html","webpack:///src/app/dnd.directive.ts","webpack:///src/app/document-templates/document-templates.component.ts","webpack:///src/app/document-templates/document-templates.component.html","webpack:///src/app/faq-details/faq-details.component.ts","webpack:///src/app/faq-details/faq-details.component.html","webpack:///src/app/faqs/faqs.component.ts","webpack:///src/app/faqs/faqs.component.html","webpack:///src/app/forgot-password/forgot-password.component.ts","webpack:///src/app/forgot-password/forgot-password.component.html","webpack:///src/app/home/home.component.ts","webpack:///src/app/home/home.component.html","webpack:///src/app/invoices/invoices.component.ts","webpack:///src/app/invoices/invoices.component.html","webpack:///src/app/layout/header/header.component.ts","webpack:///src/app/layout/header/header.component.html","webpack:///src/app/layout/initials-overlay/initials-overlay.component.ts","webpack:///src/app/layout/initials-overlay/initials-overlay.component.html","webpack:///src/app/layout/layout.module.ts","webpack:///src/app/layout/sidebar/sidebar.component.ts","webpack:///src/app/layout/sidebar/sidebar.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/logs/logs.component.ts","webpack:///src/app/logs/logs.component.html","webpack:///src/app/marketing-banner-details/marketing-banner-details.component.ts","webpack:///src/app/marketing-banner-details/marketing-banner-details.component.html","webpack:///src/app/marketing-banners/marketing-banners.ts","webpack:///src/app/marketing-banners/marketing-banners.component.html","webpack:///src/app/overlay/overlay.module.ts","webpack:///src/app/overlay/overlay.service.ts","webpack:///src/app/password-reset/password-reset.component.ts","webpack:///src/app/password-reset/password-reset.component.html","webpack:///src/app/progress-spinner/progress-spinner.component.ts","webpack:///src/app/progress-spinner/progress-spinner.component.html","webpack:///src/app/sign-up/sign-up.component.ts","webpack:///src/app/sign-up/sign-up.component.html","webpack:///src/app/upload-documents-dialog/upload-documents-dialog.component.ts","webpack:///src/app/upload-documents-dialog/upload-documents-dialog.component.html","webpack:///src/app/upload-documents/upload-documents.component.ts","webpack:///src/app/upload-documents/upload-documents.component.html","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","Assert","throwError","msg","value","JSON","stringify","isHttpUri","uri","OperationMethod","ServiceContract","opts","type","prototype","prefix","OperationContract","method","Get","headers","proxy","operation","call","BaseServiceProxy","baseUri","params","body","pipe","resp","HttpMethod","DEFAULT_HTTP_OPTIONS","withCredentials","HTTP_CLIENT_PROXY","HttpClientProxy","http","endpointUri","_options","request","Post","Delete","Put","url","options","query","BaseStoreFacade","store","execute","run","success","failure","func","data","action","dispatch","baseHref","document","querySelector","getAttribute","httpUri","leadingSlash","trailingSlash","isValidHttpUri","test","normalizeUri","replace","fulfillUri","_","$1","undefined","tryOpenInNewTab","valid","window","open","APP_BASE_PATH","APP_BASE_URI","location","origin","JwtInterceptor","authFacade","token","token$","subscribe","newRequest","req1","clone","set","handle","CustomCurrencyPipe","currency","currencyCode","format","name","AdminServiceProxy","appSettings","get","apiEndpointUrl","responseType","observe","providedIn","AgreemntsServiceProxy","AuthServiceProxy","ActivityType","ActivityStatus","AdminService","getMarketingBanners","r","getFaqs","getEnabledFaqs","deleteFaq","deleteMarketingBanner","editMarketingBanner","editFaq","getFaq","getMarketingBanner","getMarketingBannerPicture","getEnabledMarketingBannerPicture","getLogs","exportLogs","DEFAULT_CURRENCY","FactoringType","FactoringTypeTranslation","AgreementStatus","AgreementStatusTranslation","InvoiceStatus","InvoiceStatusTranslation","AgrDebtorsVendorsStatus","AgrDebtorsVendorsStatusTranslation","CommissionUpfrontType","CreditLimitStatus","AgreementsService","getAgreements","getAgreement","getCreditLimitAmounts","getAgreementInvoices","getInvoices","getAgreementVendorsDebtors","getAgreementVendorsDebtorsExtended","getVendorsDebtors","createInvoice","getCreditLimit","downloadAgreement","agreementId","invoice","uploadDocument","downloadCustomerStatement","AppConfigService","toPromise","appConfig","endpoint","enableAds","addTitle","AuthService","setPassword","signIn","logOut","email","resetPassword","getUserCount","createSuperAdmin","createAdmin","getAdmins","deleteAdmin","AdminDetailsComponent","route","authService","formBuilder","toastr","router","color","mode","displayProgressSpinner","spinnerWithoutBackdrop","disableSubmitButton","showProgressSpinner","hideProgressSpinner","refreshForm","form","group","required","compose","result","showToasterSuccess","navigate","showToasterError","message","positionClass","progressAnimation","timeOut","error","onSubmit","selector","templateUrl","styleUrls","AdminsComponent","admins","showTable","adminsDisplayedColumns","adminsDataSource","length","paginator","filter","x","admin","selectedAdmin","createNewAdmin","AgreementDetailsComponent","agreementsService","sanitizer","dialog","adminService","translate","status","agreementTitle","agreement","invoices","creditLimitList","vendorsDebtorsList","invoicesDisplayedColumns","creditLimitDisplayedColumns","debtorsDisplayedColumns","invoicesDataSource","customerId","allSelected","newSelected","openSelected","archiveSelected","showPercentage","defaultSearch","showAd","decodedToken","filename","split","trim","objectURL","URL","createObjectURL","Blob","banner","bypassSecurityTrustUrl","snapshot","commissionUpfrontType","Percentage","agreementType","typeText","typeTranslation","commissionUpfrontTypeText","el","statusText","statusTranslation","invoiceDueDate","getDate","invoiceDate","limit","utilisedAmount","utilisedCreditLimit","availableAmount","availableCreditLimit","instant","disclosedUndisclosed","contractEffectiveDate","contractTerm","clientId","clientName","clientRegistrationId","clientVATRegistrationId","clientPhoneNo","clientEMail","clientBankAccNo","numberOutstandingInvoices","numberClosedInvoices","advance","commissionUpfront","commissionAmountUpfront","getCurrency","commissionDeferred","interestAPR","increasedInterestAPR","penaltyInterestDaily","advancePaid","advancePending","debtorCollections","termChargesTotal","interestAmount","empty","newInvoices","New","NotificationSent","changeSelected","Accepted","Disbursed","Overdue","Closed","Rejected","date","toString","downloadedFile","a","createElement","setAttribute","appendChild","href","download","target","click","removeChild","dialogRef","restoreFocus","width","height","afterClosed","searchValue","toLowerCase","systemId","applySearch","filterAll","filterNew","filterOpen","filterArchive","backToContracts","AgreementsComponent","agreements","agreementsDisplayedColumns","agreementsDataSource","selectedAgreement","removeHighlightedRow","routes","path","component","showHeader","showSidebar","canActivate","AppRoutingModule","forRoot","scrollPositionRestoration","imports","AppComponent","activatedRoute","currLanguage","localStorage","getItem","setDefaultLang","events","event","firstChild","Language","MY_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","HTTP_CLIENT_PROXY_FACTORY","settings","HttpLoaderFactory","AppSettingsFactory","appConfigService","loadAppConfig","ENDPOINT_SETTINGS","APP_SETTINGS","AppModule","provide","useFactory","deps","multi","useClass","useValue","navigator","language","metaReducers","loader","declarations","providers","bootstrap","AdminGuard","store$","next","state","checkToken","AuthGuard","AUTH_UNAUTHORIZED_STATUS","AuthInterceptorHeader","AuthInterceptor","facade","has","IgnoreStatus","err","handleError","res","resetToken","AuthModule","forFeature","AuthActionType","SignInSuccessAction","payload","SignInSucess","SignOutSuccessAction","SignOutSuccess","ResetTokenAction","ResetToken","AuthFacade","service","select","toastrConfig","preventDuplicates","countDuplicates","fetch","AUTH_FEATURE_KEY","initialAuthState","authReducer","AUTH_STATE","authQuery","hydrationMetaReducer","reducer","storageValue","removeItem","nextState","setItem","reducers","auth","SuperAdminGuard","superAdmin","CreateInvoiceComponent","files","vendorsDebtors","agreementTitles","agreementVendorsDebtorsNames","Valid","Date","agreementNo","debtorNo","invoiceNo","invoiceAmountInclVAT","pattern","controls","valueChanges","setValue","agreementVendorDebtor","formData","FormData","file","append","selectedValue","close","prepareFilesList","index","splice","item","push","bytes","k","dm","sizes","i","Math","floor","log","parseFloat","pow","toFixed","selectedFile","onFileDropped","fileBrowseHandler","CustomValidators","regex","control","password","parent","mismatch","CustomerMessagesComponent","messagesDisplayedColumns","jwt_decode","createNewMessage","DndDirective","fileDropped","_dragInProgress","evt","preventDefault","stopPropagation","fileOver","dataTransfer","emit","DocumentTemplatesComponent","FaqDetailsComponent","faq","buttonText","titleText","isAdmin","question","answer","isEnabled","FaqsComponent","faqs","faqsDisplayedColumns","faqsDataSource","contract","selectedFaq","ForgotPasswordComponent","encapsulation","None","HomeComponent","agreementsCount","documentTemplatesCount","latestInvoiceAmount","agreementsOverdueAmount","creditLimit","isSuperAdmin","agreementsPreview","invoicesPreview","validContractTerm","forEach","overdueAmount","eta","isMin","getTime","agreementInvoices","count","expanded","InvoicesComponent","selectedInvoice","invoiceId","HeaderComponent","initialsOverlay","changeDetector","jwtData","hideBadge","languages","label","img","substring","use","find","lang","names","initials","toUpperCase","overlayRef","create","hasBackdrop","backdropClass","panelClass","positionStrategy","position","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","componentRef","attach","instance","detach","backdropClick","openHome","selectLanguage","displayOverlay","InitialsOverlayComponent","customerName","logout","LayoutModule","SidebarComponent","elementRef","nativeElement","classList","add","hoverClass","remove","LoginComponent","superAdminExists","formCsa","LogsComponent","logs","logsDisplayedColumns","logsDataSource","activityTypeText","activityType","activityStatusText","activityStatus","MarketingBannerDetailsComponent","marketingBanner","myfilename","mbPreview","title","fileContent","fileInput","Array","from","reader","FileReader","onload","image","Image","src","rs","imgBase64Path","readAsDataURL","uploadFileInput","fileChangeEvent","MarketingBannersComponent","marketingBanners","marketingBannersDisplayedColumns","marketingBannersDataSource","mb","selectedMarketingBanner","createNewMarketingBanner","AppOverlayModule","OverlayService","overlay","config","templateRef","vcRef","templatePortal","global","centerHorizontally","centerVertically","PasswordResetComponent","checkPasswords","pass","confirmPass","notSame","patternValidator","hasNumber","hasCapitalCase","hasSmallCase","hasSpecialCharacters","minLength","confirmPassword","passwordMatchValidator","validators","ProgressSpinnerComponent","overlayService","diameter","backdropEnabled","positionGloballyCenter","progressSpinnerOverlayConfig","createOverlay","hasAttached","attachTemplatePortal","progressSpinnerRef","SignUpComponent","UploadDocumentsDialog","agreementIds","uploadDocuments","UploadDocumentsComponent","environment","production","apiEndpoint","Settings","App","console","uris","reqs","json","all"],"mappings":"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;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;A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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { isValidHttpUri } from './url.helper';\r\n\r\nexport namespace Assert {\r\n const throwError = (msg: string, value?: any): never => {\r\n if (value) msg += ` value=${JSON.stringify(value)}`;\r\n throw new Error(msg);\r\n };\r\n\r\n export const isHttpUri = (uri: string, msg?: string) => {\r\n if (!isValidHttpUri(uri)) throwError(msg || 'Value must be valid http uri', uri);\r\n };\r\n}\r\n","import { Observable, throwError } from \"rxjs\";\r\nimport { HttpClientProxy } from \"./http.helper\";\r\nimport { Dictionary } from \"./type.helper\";\r\nimport { fulfillUri, normalizeUri } from \"./url.helper\";\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Type } from \"@angular/core\";\r\n\r\ninterface IRequest {\r\n body?: TBody;\r\n params?: TParams;\r\n }\r\n \r\n interface IResponse {\r\n message?: string;\r\n }\r\n\r\n export interface ISingleData extends IResponse {\r\n data: TData;\r\n }\r\n \r\n export interface IListData extends IResponse {\r\n data: TData[];\r\n }\r\nexport enum OperationMethod {\r\n Get = 'get',\r\n Post = 'post',\r\n Delete = 'delete',\r\n Put = 'put'\r\n }\r\n\r\n interface IServiceOptions {\r\n readonly uri?: string;\r\n }\r\n\r\ninterface IOperationOptions {\r\n readonly uri?: string;\r\n readonly method?: OperationMethod;\r\n readonly headers?: Dictionary;\r\n }\r\n\r\n export function ServiceContract(opts: IServiceOptions = {}): (type: Type) => void {\r\n return (type: Type): void => {\r\n type.prototype.prefix = normalizeUri(opts.uri || '');\r\n };\r\n }\r\n\r\nexport function OperationContract(opts?: IOperationOptions): (proxy: BaseServiceProxy, operation: string) => void {\r\n const method = (opts || {}).method || OperationMethod.Get;\r\n const uri = normalizeUri((opts || {}).uri || '');\r\n const headers = (opts || {}).headers;\r\n \r\n return (proxy: BaseServiceProxy, operation: string): void => {\r\n (proxy)[operation] = function(\r\n req?: IRequest\r\n ): Observable {\r\n return this.call(method, uri, req || {}, headers);\r\n };\r\n };\r\n }\r\n\r\n export type ServiceOperation = (\r\n req?: IRequest\r\n ) => Observable;\r\n\r\n export abstract class BaseServiceProxy {\r\n private readonly prefix!: string;\r\n \r\n protected constructor(private proxy: HttpClientProxy, baseUri?: string) {\r\n this.prefix = baseUri || this.prefix;\r\n }\r\n \r\n private call(\r\n method: OperationMethod,\r\n uri: string,\r\n req: IRequest,\r\n headers?: Dictionary\r\n ): Observable {\r\n return this.proxy[method](this.uri(uri, req.params), { body: req.body, headers: headers }).pipe(\r\n catchError(resp => throwError(resp))\r\n );\r\n \r\n }\r\n\r\n private uri(uri: string, params?: any): string {\r\n return fulfillUri(this.prefix + uri, params);\r\n }\r\n}","import { Dictionary } from \"./type.helper\";\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Assert } from \"./assert.helper\";\r\nimport { normalizeUri } from \"./url.helper\";\r\nimport { Observable } from \"rxjs\";\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\n\r\ntype HttpHeaders = Dictionary;\r\ntype HttpParams = Dictionary;\r\n\r\nenum HttpMethod {\r\n Get = 'get',\r\n Post = 'post',\r\n Put = 'put',\r\n Delete = 'delete'\r\n}\r\n\r\nexport interface IHttpOptions {\r\n readonly withCredentials?: boolean;\r\n readonly headers?: HttpHeaders;\r\n }\r\n \r\n interface IHttpRequest {\r\n readonly headers?: HttpHeaders;\r\n readonly query?: HttpParams;\r\n readonly body?: any;\r\n readonly responseType?: string;\r\n }\r\n\r\nconst DEFAULT_HTTP_OPTIONS: IHttpOptions = { headers: {}, withCredentials: false };\r\n\r\nexport const HTTP_CLIENT_PROXY = new InjectionToken('http-client-proxy');\r\n\r\nexport class HttpClientProxy {\r\n private readonly _options: IHttpOptions;\r\n private readonly endpointUri: string;\r\n \r\n constructor(private http: HttpClient, endpointUri: string, opts?: IHttpOptions) {\r\n Assert.isHttpUri(endpointUri);\r\n this.endpointUri = normalizeUri(endpointUri);\r\n this._options = { ...DEFAULT_HTTP_OPTIONS, ...opts };\r\n }\r\n \r\n get(uri: string, req?: IHttpRequest): Observable {\r\n return this.request(HttpMethod.Get, uri, req);\r\n }\r\n \r\n post(uri: string, req?: IHttpRequest): Observable {\r\n return this.request(HttpMethod.Post, uri, req);\r\n }\r\n \r\n delete(uri: string, req?: IHttpRequest): Observable {\r\n return this.request(HttpMethod.Delete, uri, req);\r\n }\r\n \r\n put(uri: string, req?: IHttpRequest): Observable {\r\n return this.request(HttpMethod.Put, uri, req);\r\n }\r\n \r\n private request(method: HttpMethod, uri: string, req?: IHttpRequest): Observable {\r\n return this.http.request(method, this.url(uri), this.options(req));\r\n }\r\n \r\n private url(uri: string): string {\r\n return this.endpointUri + normalizeUri(uri);\r\n }\r\n \r\n private options(req?: IHttpRequest) {\r\n const headers = { ...this._options.headers, ...(req || {}).headers };\r\n return { ...this._options, headers, body: (req || {}).body, params: (req || {}).query};\r\n }\r\n }","import { Action, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { share, tap } from 'rxjs/operators';\r\n\r\nimport { ProcessOptions } from './type.helper';\r\n\r\nexport interface FetchOptions extends ProcessOptions {}\r\n\r\nexport abstract class BaseStoreFacade {\r\n protected constructor(protected store: Store) {}\r\n\r\n protected fetch(opts: FetchOptions): Observable {\r\n return opts.execute().pipe(\r\n tap(this.run(opts.success), this.run(opts.failure)),\r\n share()\r\n );\r\n }\r\n\r\n private run(func?: (data: TData) => Action | void) {\r\n return (data: TData) => {\r\n if (!func) return;\r\n const action = func(data);\r\n if (action) this.store.dispatch(action);\r\n };\r\n }\r\n}\r\n","const baseHref = ((document.querySelector('base') || {})).getAttribute('href') || '/';\r\n\r\n// TODO: use g flag and move const into usage so g is always reset\r\nconst httpUri = /^https?:\\/\\/|\\//i;\r\nconst leadingSlash = /^(?!https?)\\/*/i;\r\nconst trailingSlash = /\\/+(\\?|#|$)/;\r\n\r\nexport const isValidHttpUri = (uri: string) => httpUri.test(uri);\r\n\r\nexport const normalizeUri = (uri: string) => uri.replace(leadingSlash, '/').replace(trailingSlash, '$1');\r\n\r\nexport const fulfillUri = (uri: string, params: any) =>\r\n uri.replace(/\\{([^\\}]*)\\}/g, (_, $1) => (params[$1] === undefined ? '' : params[$1]));\r\n\r\nexport const tryOpenInNewTab = (uri: string) => {\r\n const valid = isValidHttpUri(uri);\r\n if (valid) window.open(uri, '_blank');\r\n return valid;\r\n};\r\n\r\nexport const APP_BASE_PATH = normalizeUri(baseHref) || '/';\r\nexport const APP_BASE_URI = normalizeUri(window.location.origin + APP_BASE_PATH);\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthFacade } from '../auth';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n token = \"\";\r\n constructor(private authFacade: AuthFacade){\r\n this.authFacade.token$.subscribe(token => {\r\n this.token = token;\r\n })\r\n }\r\n\r\n intercept(request: HttpRequest, newRequest: HttpHandler): Observable> {\r\n // add authorization header to request\r\n\r\n //Get Token data from local storage\r\n\r\n const req1 = request.clone({\r\n headers: request.headers.set('Authorization', `Bearer ${this.token}`),\r\n });\r\n\r\n return newRequest.handle(req1 );\r\n }\r\n}","import { getCurrencySymbol } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core'\r\n\r\n@Pipe({ name : 'customCurrency' })\r\nexport class CustomCurrencyPipe implements PipeTransform{\r\n transform(currency: number, currencyCode: string, format: 'wide' | 'narrow' = 'narrow'): string {\r\n return `${currency} ${getCurrencySymbol(currencyCode, format)}`;\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseServiceProxy, IListData, ISingleData, OperationContract, OperationMethod, ServiceContract, ServiceOperation } from \"../_helpers/contract.helper\";\r\nimport { HttpClientProxy, HTTP_CLIENT_PROXY } from \"../_helpers/http.helper\";\r\nimport { FaqData, LogData, MarketingBannerData } from \"../_services/admin.service\";\r\nimport { AppConfigService } from \"../_services/appconfig.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@ServiceContract({ uri: 'api/admin' })\r\nexport class AdminServiceProxy extends BaseServiceProxy {\r\n constructor(@Inject(HTTP_CLIENT_PROXY) proxy: HttpClientProxy, private http: HttpClient, private appSettings: AppConfigService) {\r\n super(proxy);\r\n }\r\n\r\n @OperationContract({ uri: 'marketingbanners', method: OperationMethod.Get })\r\n getMarketingBanners!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'faqs', method: OperationMethod.Get })\r\n getFaqs!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'enabledfaqs', method: OperationMethod.Get })\r\n getEnabledFaqs!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'marketingbanners/delete/{id}', method: OperationMethod.Get })\r\n deleteMarketingBanner!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'faqs/{id}', method: OperationMethod.Get })\r\n getFaq!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'faqs/delete/{id}', method: OperationMethod.Get })\r\n deleteFaq!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'faqs/edit', method: OperationMethod.Post })\r\n editFaq!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'marketingbanners/edit', method: OperationMethod.Post })\r\n editMarketingBanner!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'marketingbanners/{id}', method: OperationMethod.Get })\r\n getMarketingBanner!: ServiceOperation>;\r\n\r\n getMarketingBannerPicture(id: string){\r\n return this.http.get(this.appSettings.apiEndpointUrl + \"/api/admin/marketingbannersimage/\" + id, { responseType: 'blob', observe: 'response'});\r\n }\r\n\r\n getEnabledMarketingBannerPicture(){\r\n return this.http.get(this.appSettings.apiEndpointUrl + \"/api/admin/marketingbannersimage\", { responseType: 'blob', observe: 'response'});\r\n }\r\n\r\n @OperationContract({ uri: 'logs', method: OperationMethod.Get })\r\n getLogs!: ServiceOperation>;\r\n\r\n exportLogs(){\r\n return this.http.get(this.appSettings.apiEndpointUrl + \"/api/admin/exportlogs\", { responseType: 'blob', observe: 'response'});\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseServiceProxy, IListData, ISingleData, OperationContract, OperationMethod, ServiceContract, ServiceOperation } from \"../_helpers/contract.helper\";\r\nimport { HttpClientProxy, HTTP_CLIENT_PROXY } from \"../_helpers/http.helper\";\r\nimport { environment } from '../../environments/environment';\r\nimport { AppConfigService } from \"../_services/appconfig.service\";\r\nimport { AgreementData, AgreementVendorDebtorData, AgreementVendorDebtorDataExtended, CreditLimitAmounts, CreditLimitData, InvoiceData, NewInvoiceData, SingleResponse } from \"../_services/agreements.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@ServiceContract({ uri: 'api/agreement' })\r\nexport class AgreemntsServiceProxy extends BaseServiceProxy {\r\n constructor(@Inject(HTTP_CLIENT_PROXY) proxy: HttpClientProxy, private http: HttpClient, private appSettings: AppConfigService) {\r\n super(proxy);\r\n }\r\n\r\n @OperationContract({ uri: 'agreements', method: OperationMethod.Get })\r\n getAgreements!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'agreementdetails/{id}', method: OperationMethod.Get })\r\n getAgreement!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'creditlimitamounts/{id}/{type}', method: OperationMethod.Get })\r\n getCreditLimitAmounts!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'agreementdetails/{id}/invoices', method: OperationMethod.Get })\r\n getAgreementInvoices!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'invoices', method: OperationMethod.Get })\r\n getInvoices!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'vendorsdebtors/{id}', method: OperationMethod.Get })\r\n getAgreementVendorsDebtors!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'vendorsdebtorsextended/{id}', method: OperationMethod.Get })\r\n getAgreementVendorsDebtorsExtended!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'vendorsdebtors', method: OperationMethod.Get })\r\n getVendorsDebtors!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'create/invoice', method: OperationMethod.Post })\r\n createInvoice!: ServiceOperation;\r\n\r\n @OperationContract({ uri: 'creditlimit/{type}/{id}', method: OperationMethod.Get })\r\n getCreditLimit!: ServiceOperation>;\r\n\r\n downloadAgreement (id: string){\r\n return this.http.get(this.appSettings.apiEndpointUrl + `/api/agreement/download/agreement/${id}`, { responseType: 'blob', observe: 'response'});\r\n }\r\n\r\n @OperationContract({ uri: 'upload/{agreementId}/{invoice}', method: OperationMethod.Post })\r\n uploadDocument!: ServiceOperation>;\r\n\r\n downloadCustomerStatement(){\r\n return this.http.get(this.appSettings.apiEndpointUrl + `/api/agreement/download/customerstatement`, { responseType: 'blob', observe: 'response'});\r\n }\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { BaseServiceProxy, IListData, ISingleData, OperationContract, OperationMethod, ServiceContract, ServiceOperation } from \"../_helpers/contract.helper\";\r\nimport { HttpClientProxy, HTTP_CLIENT_PROXY } from \"../_helpers/http.helper\";\r\nimport { AdminData } from \"../_services/admin.service\";\r\nimport { AdminModel, SetPasswordData, SignInData } from \"../_services/authentication.service\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\n@ServiceContract({ uri: 'api/auth' })\r\nexport class AuthServiceProxy extends BaseServiceProxy {\r\n constructor(@Inject(HTTP_CLIENT_PROXY) proxy: HttpClientProxy, private http: HttpClient) {\r\n super(proxy);\r\n }\r\n\r\n @OperationContract({ uri: 'setpassword', method: OperationMethod.Post })\r\n setPassword!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'signin', method: OperationMethod.Post })\r\n signIn!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'logout', method: OperationMethod.Post })\r\n logOut!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'resetpassword/{email}', method: OperationMethod.Get })\r\n resetPassword!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'usercount', method: OperationMethod.Get })\r\n getUserCount!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'createSuperAdmin', method: OperationMethod.Post })\r\n createSuperAdmin!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'createAdmin', method: OperationMethod.Post })\r\n createAdmin!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'admins', method: OperationMethod.Get })\r\n getAdmins!: ServiceOperation>;\r\n\r\n @OperationContract({ uri: 'deleteadmin/{id}', method: OperationMethod.Get })\r\n deleteAdmin!: ServiceOperation>;\r\n}","import { Injectable } from '@angular/core'; \r\nimport { map } from 'rxjs/operators';\r\nimport { AdminServiceProxy } from '../_proxy/admin.proxy';\r\n\r\nexport enum ActivityType{\r\n Login,\r\n Logout,\r\n Activation,\r\n Email,\r\n Error,\r\n}\r\n\r\nexport enum ActivityStatus{\r\n Empty,\r\n Information,\r\n Success,\r\n Error\r\n}\r\n\r\nexport interface MarketingBannerData {\r\n id: string;\r\n title: string;\r\n fileContent: Blob;\r\n isEnabled: boolean;\r\n fileName: string;\r\n }\r\n \r\n export interface FaqData {\r\n id: string;\r\n question: string;\r\n answer: string;\r\n isEnabled: boolean;\r\n }\r\n\r\n export interface LogData {\r\n activityDateTime: Date;\r\n activityType: ActivityType;\r\n activityTypeText: string;\r\n content: string;\r\n activityStatus: ActivityStatus;\r\n activityStatusText: string;\r\n }\r\n\r\n export interface AdminData {\r\n id: string;\r\n name: string;\r\n email: string;\r\n activated: boolean;\r\n }\r\n\r\n@Injectable({ \r\n providedIn: 'root' \r\n })\r\nexport class AdminService { \r\n constructor(private proxy: AdminServiceProxy) { } \r\n\r\n \r\n getMarketingBanners() {\r\n return this.proxy.getMarketingBanners().pipe(map(r => r.data));\r\n }\r\n\r\n getFaqs() {\r\n return this.proxy.getFaqs().pipe(map(r => r.data));\r\n }\r\n\r\n getEnabledFaqs() {\r\n return this.proxy.getEnabledFaqs().pipe(map(r => r.data));\r\n }\r\n\r\n deleteFaq(id: string) {\r\n return this.proxy.deleteFaq({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n deleteMarketingBanner(id: string) {\r\n return this.proxy.deleteMarketingBanner({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n editMarketingBanner(data: FormData) {\r\n return this.proxy.editMarketingBanner({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n editFaq(data: FaqData) {\r\n return this.proxy.editFaq({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n getFaq(id: string) {\r\n return this.proxy.getFaq({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getMarketingBanner (id: string) {\r\n return this.proxy.getMarketingBanner({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getMarketingBannerPicture(id: string) {\r\n return this.proxy.getMarketingBannerPicture(id);\r\n }\r\n\r\n getEnabledMarketingBannerPicture() {\r\n return this.proxy.getEnabledMarketingBannerPicture();\r\n }\r\n\r\n getLogs() {\r\n return this.proxy.getLogs().pipe(map(r => r.data));\r\n }\r\n\r\n exportLogs(){\r\n return this.proxy.exportLogs();\r\n }\r\n} \r\n","import { Injectable } from '@angular/core'; \r\nimport { HttpClient,HttpHeaders } from '@angular/common/http'; \r\nimport { AgreemntsServiceProxy } from '../_proxy/agreements.proxy';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { IListData } from '../_helpers/contract.helper';\r\n\r\nexport const DEFAULT_CURRENCY = 'EUR';\r\n\r\nexport enum FactoringType{\r\n Loan,\r\n Conventional\r\n}\r\n\r\nexport enum FactoringTypeTranslation{\r\n Loan = \"Enum.Factoring-Type-loan\",\r\n Conventional = \"Enum.Factoring-Type-conventional\"\r\n}\r\n\r\nexport enum AgreementStatus{\r\n InDeliberation,\r\n Valid,\r\n CollectionsOnly,\r\n Closed,\r\n WaitingForApproval,\r\n Declined\r\n}\r\n\r\nexport enum AgreementStatusTranslation{\r\n InDeliberation = \"Enum.Agreement-id\",\r\n Valid = \"Enum.Agreement-valid\",\r\n CollectionsOnly = \"Enum.Agreement-co\",\r\n Closed = \"Enum.Agreement-closed\",\r\n WaitingForApproval = \"Enum.Agreement-wfa\",\r\n Declined = \"Enum.Agreement-declined\"\r\n}\r\n\r\nexport enum InvoiceStatus{\r\n Closed,\r\n Overdue,\r\n Disbursed,\r\n Rejected,\r\n New ,\r\n Accepted,\r\n NotificationSent\r\n}\r\n\r\nexport enum InvoiceStatusTranslation{\r\n Closed = \"Enum.Invoice-closed\",\r\n Overdue = \"Enum.Invoice-overdue\",\r\n Disbursed = \"Enum.Invoice-disbursed\",\r\n Rejected = \"Enum.Invoice-rejected\",\r\n New = \"Enum.Invoice-new\",\r\n Accepted = \"Enum.Invoice-accepted\",\r\n NotificationSent = \"Enum.Invoice-ns\"\r\n}\r\n\r\n\r\nexport enum AgrDebtorsVendorsStatus{\r\n New,\r\n Valid,\r\n Suspended,\r\n Blocked\r\n}\r\n\r\nexport enum AgrDebtorsVendorsStatusTranslation{\r\n New = \"Enum.Debtor-new\",\r\n Valid = \"Enum.Debtor-valid\",\r\n Suspended = \"Enum.Debtor-suspended\",\r\n Blocked = \"Enum.Debtor-blocked\"\r\n}\r\n\r\nexport enum CommissionUpfrontType{\r\n Percentage,\r\n FixedAmount\r\n}\r\n\r\nexport enum CreditLimitStatus{\r\n Approved,\r\n Cancelled\r\n}\r\n\r\nexport interface CreditLimitData{\r\n level: string;\r\n type: string; \r\n id: string; \r\n agreementContactId: string;\r\n lineId: number;\r\n status: CreditLimitStatus;\r\n validFrom: Date;\r\n validUntil: Date;\r\n creditLimit: number;\r\n nextReviewDate: Date;\r\n utilisedAmount: number;\r\n availableAmount: number;\r\n}\r\n\r\nexport interface CreditLimitAmounts {\r\n availableCreditLimit: number;\r\n utilisedCreditLimit: number;\r\n}\r\n\r\nexport interface AgreementData{\r\n id: string;\r\n type: FactoringType;\r\n typeText: string;\r\n typeTranslation: string;\r\n disclosedUndisclosed: string\r\n status: AgreementStatus;\r\n statusText: string;\r\n statusTranslation: string;\r\n contractEffectiveDate: Date;\r\n contractTerm: Date;\r\n clientId: string;\r\n clientName: string;\r\n clientRegistrationId: string;\r\n clientVATRegistrationId: string;\r\n clientPhoneNo: string;\r\n clientEMail: string;\r\n clientBankAccNo: string;\r\n advance: number;\r\n commissionUpfrontType: CommissionUpfrontType;\r\n commissionUpfrontTypeText: string;\r\n commissionUpfront: number;\r\n commissionAmountUpfront: number;\r\n commissionDeferred: number;\r\n interestAPR: number;\r\n increasedInterestAPR: number;\r\n penaltyInterestDaily: number;\r\n numberOutstandingInvoices: number;\r\n numberClosedInvoices: number;\r\n advancePaid: number;\r\n advancePending: number;\r\n debtorCollections: number;\r\n termChargesTotal: number;\r\n interestAmount: number;\r\n expanded: boolean;\r\n overdueAmount: number;\r\n validContractTerm: boolean;\r\n systemId: string;\r\n}\r\n\r\nexport interface InvoiceData{\r\n agreementId: string;\r\n invoiceId: string;\r\n advancePaid: number;\r\n disbursementDate: Date;\r\n status: InvoiceStatus;\r\n statusText: string;\r\n statusTranslation: string;\r\n invoiceNo: string;\r\n invoiceAmountInclVAT: number;\r\n debtorId: string;\r\n debtorName: string;\r\n invoiceDate: Date;\r\n invoiceDueDate: Date;\r\n penaltyInterestAmount: number;\r\n reserveOutstanding: number;\r\n vendorName: string\r\n vendorId: string\r\n factoringProductCode: string\r\n factoringType: FactoringType;\r\n termChargesTotal: number;\r\n termChargesDue: number;\r\n debtorOutstanding: number;\r\n}\r\n\r\nexport interface AgreementVendorDebtorData{\r\n agreementId: string;\r\n id: string;\r\n name: string;\r\n registrationId: string;\r\n vatRegistrationId: string;\r\n address: string;\r\n address2: string;\r\n city: string;\r\n county: string;\r\n countryRegionCode: string;\r\n phoneNo: string;\r\n eMail: string;\r\n contactPerson: string;\r\n status: AgrDebtorsVendorsStatus;\r\n statusText: string;\r\n}\r\n\r\nexport interface AgreementVendorDebtorDataExtended{\r\n agreementId: string;\r\n id: string;\r\n name: string;\r\n registrationId: string;\r\n vatRegistrationId: string;\r\n address: string;\r\n address2: string;\r\n city: string;\r\n county: string;\r\n countryRegionCode: string;\r\n phoneNo: string;\r\n eMail: string;\r\n contactPerson: string;\r\n status: AgrDebtorsVendorsStatus;\r\n statusText: string;\r\n statusTranslation: string;\r\n availableAmount: string;\r\n utilisedAmount: string;\r\n}\r\n\r\nexport interface NewInvoiceData {\r\n agreementNo: string;\r\n debtorNo: string;\r\n invoiceDate: Date;\r\n invoiceDueDate: Date;\r\n invoiceNo : string;\r\n invoiceAmountInclVAT: number;\r\n}\r\n\r\nexport interface SingleResponse {\r\n data: boolean;\r\n message: string;\r\n}\r\n\r\n@Injectable({ \r\n providedIn: 'root' \r\n })\r\nexport class AgreementsService { \r\n constructor(private proxy: AgreemntsServiceProxy) { } \r\n\r\n getAgreements(): Observable {\r\n return this.proxy.getAgreements().pipe(map(r => r.data));\r\n }\r\n\r\n getAgreement(id: string): Observable {\r\n return this.proxy.getAgreement({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getCreditLimitAmounts(id: string, type: string): Observable {\r\n return this.proxy.getCreditLimitAmounts({ params: { id, type } }).pipe(map(r => r.data));\r\n }\r\n\r\n getAgreementInvoices(id: string): Observable {\r\n return this.proxy.getAgreementInvoices({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getInvoices(): Observable {\r\n return this.proxy.getInvoices().pipe(map(r => r.data));\r\n }\r\n\r\n getAgreementVendorsDebtors(id: string): Observable {\r\n return this.proxy.getAgreementVendorsDebtors({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getAgreementVendorsDebtorsExtended(id: string): Observable {\r\n return this.proxy.getAgreementVendorsDebtorsExtended({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n\r\n getVendorsDebtors(): Observable {\r\n return this.proxy.getVendorsDebtors().pipe(map(r => r.data));\r\n }\r\n\r\n createInvoice(data: NewInvoiceData): Observable {\r\n return this.proxy.createInvoice({ body: data });\r\n }\r\n\r\n getCreditLimit(type: string, id: string): Observable {\r\n return this.proxy.getCreditLimit({ params: { type, id } }).pipe(map(r => r.data));\r\n }\r\n\r\n downloadAgreement(id: string) {\r\n return this.proxy.downloadAgreement(id);\r\n }\r\n\r\n uploadDocument(data: FormData, agreementId: string, invoice: string): Observable {\r\n return this.proxy.uploadDocument({ body: data, params: { agreementId: agreementId, invoice: invoice } }).pipe(map(r => r.data));\r\n }\r\n\r\n downloadCustomerStatement() {\r\n return this.proxy.downloadCustomerStatement();\r\n }\r\n} ","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppConfigService {\r\n\r\n private appConfig: any;\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n loadAppConfig() {\r\n return this.http.get('./settings/app.settings.json')\r\n .toPromise()\r\n .then(data => {\r\n this.appConfig = data;\r\n });\r\n }\r\n\r\n get apiEndpointUrl() {\r\n\r\n if (!this.appConfig) {\r\n throw Error('Config file not loaded!');\r\n }\r\n return this.appConfig.endpoint.uri;\r\n }\r\n\r\n get adVisibility() {\r\n if (!this.appConfig) {\r\n throw Error('Config file not loaded!');\r\n }\r\n return this.appConfig.enableAds;\r\n }\r\n\r\n get addTitle() {\r\n if (!this.appConfig) {\r\n throw Error('Config file not loaded!');\r\n }\r\n return this.appConfig.addTitle;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core'; \r\nimport { AuthServiceProxy } from '../_proxy/auth.proxy';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport interface SetPasswordData{\r\n email: string;\r\n code: string;\r\n password: string;\r\n confirmPassword: string;\r\n}\r\n\r\nexport interface SignInData{\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport interface AdminModel{\r\n email: string;\r\n name: string;\r\n}\r\n\r\n@Injectable({ \r\n providedIn: 'root' \r\n })\r\nexport class AuthService { \r\n constructor(private proxy: AuthServiceProxy) { } \r\n\r\n \r\n setPassword(data: SetPasswordData) {\r\n return this.proxy.setPassword({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n signIn(data: SignInData) {\r\n return this.proxy.signIn({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n logOut() {\r\n return this.proxy.logOut().pipe(map(r => r.data));\r\n }\r\n\r\n resetPassword(email: string) {\r\n return this.proxy.resetPassword({ params: { email } }).pipe(map(r => r.data));\r\n }\r\n\r\n getUserCount(){\r\n return this.proxy.getUserCount().pipe(map(r => r.data));\r\n }\r\n\r\n createSuperAdmin(data: AdminModel) {\r\n return this.proxy.createSuperAdmin({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n createAdmin(data: AdminModel) {\r\n return this.proxy.createAdmin({ body: data }).pipe(map(r => r.data));\r\n }\r\n\r\n getAdmins() {\r\n return this.proxy.getAdmins().pipe(map(r => r.data));\r\n }\r\n\r\n deleteAdmin(id: string){\r\n return this.proxy.deleteAdmin({ params: { id } }).pipe(map(r => r.data));\r\n }\r\n} \r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AdminData, AdminService, FaqData } from '../_services/admin.service';\nimport { AuthService } from '../_services/authentication.service';\n\n@Component({\n selector: 'app-admin-details',\n templateUrl: './admin-details.component.html',\n styleUrls: ['./admin-details.component.css']\n})\nexport class AdminDetailsComponent implements OnInit {\n form!: FormGroup;\n \n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n disableSubmitButton = true;\n\n constructor(\n private route: ActivatedRoute,\n private authService: AuthService,\n private formBuilder: FormBuilder, \n private toastr: ToastrService,\n private router: Router\n ) { \n }\n\n ngOnInit() {\n this.refreshForm();\n }\n\n private refreshForm(){\n this.form = this.formBuilder.group({ \n name: ['', Validators.required],\n email: ['', Validators.compose([Validators.email, Validators.required])], \n })\n }\n\n onSubmit(){\n if(this.form.valid){\n //this.showProgressSpinner();\n this.authService.createAdmin({...this.form.value }).subscribe((result => {\n //this.hideProgressSpinner();\n if(result) {\n this.showToasterSuccess('Admin created successfully.');\n this.router.navigate(['/admins']);\n }\n else{\n this.showToasterError('Failed to create Admin.')\n }\n }));\n }\n }\n\n //toast\n showToasterSuccess(message){\n this.toastr.success(message, 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n showToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","\n\n
\n
\n

{{ 'Admin-Details.title' | translate }}

\n {{ 'Admin-Details.back-button-title' | translate }}\n
\n \n
\n
\n \n {{ 'Admin-Details.form-name' | translate }}\n \n \n \n \n {{ 'Admin-Details.form-email' | translate }}\n \n \n \n
\n \n
\n
\n
\n
\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { AdminData, AdminService, FaqData } from '../_services/admin.service';\nimport { AuthService } from '../_services/authentication.service';\n\n@Component({\n selector: 'app-admins',\n templateUrl: './admins.component.html',\n styleUrls: ['./admins.component.css']\n})\nexport class AdminsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n admins: AdminData[] = [];\n @Input() selectedAdmin: any;\n id = '';\n showTable = false;\n\n adminsDisplayedColumns: string[] = ['description', 'name', 'email', 'activated', 'button'];\n adminsDataSource = new MatTableDataSource(this.admins);\n\n constructor(\n private authService: AuthService,\n private router: Router,\n private toastr: ToastrService\n ) {\n }\n\n ngOnInit() {\n this.authService.getAdmins().subscribe((result) => {\n this.admins = result;\n this.showTable = result.length > 0;\n this.adminsDataSource = new MatTableDataSource(this.admins);\n this.adminsDataSource.paginator = this.paginator;\n });\n }\n\n deleteAdmin(id: any){\n this.authService.deleteAdmin(id).subscribe(result => {\n if(result) {\n this.showToasterSuccess('Admin deleted successfully.');\n this.admins = this.admins.filter(x => x.id != id);\n this.adminsDataSource = new MatTableDataSource(this.admins);\n this.showTable = this.admins.length > 0;\n }\n else{\n this.showToasterError('Failed to delete Admin.')\n }\n })\n }\n\n highlightRow(admin) {\n this.selectedAdmin = admin.id\n }\n\n removeHighlightedRow(){\n this.selectedAdmin = null;\n }\n\n createNewAdmin(){\n this.router.navigate(['/createadmin']);\n }\n\n //toast\n showToasterSuccess(message){\n this.toastr.success(message, 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n showToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n}","\n
\n
\n person\n

{{ 'Admins.form-title' | translate }}

\n \n \n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
person {{ 'Admins.table-name-column' | translate }} {{ element.name }} {{ 'Admins.table-email-column' | translate }} {{ element.email }} {{ 'Admins.table-activated-column' | translate }} {{ (element.activated ? 'General.Yes': 'General.No') | translate }}
\n\n\n\n\n
\n

{{ 'Admins.no-admins' | translate }}

\n
\n\n
\n\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { formatDate, getCurrencySymbol } from '@angular/common';\n// import { AssetData, ContractData, ContractScheduleLineData, ContractsService, ContractStatus, DEFAULT_CURRENCY, ExtendedContractData } from '../_services/contracts.service';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { AppConfigService } from '../_services/appconfig.service';\nimport { AdminService } from '../_services/admin.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AgrDebtorsVendorsStatus, AgrDebtorsVendorsStatusTranslation, AgreementData, AgreementsService, AgreementStatus, AgreementStatusTranslation, AgreementVendorDebtorData, CommissionUpfrontType, CreditLimitData, DEFAULT_CURRENCY, FactoringType, FactoringTypeTranslation, InvoiceData, InvoiceStatus, InvoiceStatusTranslation } from '../_services/agreements.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UploadDocumentsDialog } from '../upload-documents-dialog/upload-documents-dialog.component';\nimport { CreateInvoiceComponent } from '../createinvoice/createinvoice.component';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport jwt_decode from \"jwt-decode\";\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-agreement-details',\n templateUrl: './agreement-details.component.html',\n styleUrls: ['./agreement-details.component.scss']\n})\nexport class AgreementDetailsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @Input() id: string = '';\n @Input() status: string = '';\n @Input() agreementTitle: string = '';\n @Input() agreementType;\n\n form!: FormGroup;\n agreement: AgreementData = null;\n invoices: InvoiceData[] = [];\n creditLimitList: CreditLimitData[] = [];\n vendorsDebtorsList: AgreementVendorDebtorData[] = [];\n\n invoicesDisplayedColumns: string[] = ['description', 'invoiceid', 'status', 'invoicedate', 'invoiceduedate', 'invoiceamount'];\n creditLimitDisplayedColumns: string[] = ['creditlimit', 'availableamount', 'utilisedamount', 'validfrom', 'validuntil'];\n debtorsDisplayedColumns: string[] = ['name', 'status', 'registrationNo', 'utilisedAmount', 'availableAmount'];\n\n invoicesDataSource = new MatTableDataSource(this.invoices);\n\n currencyCode = DEFAULT_CURRENCY;\n customerId = '';\n\n allSelected = true;\n newSelected = false;\n openSelected = false;\n archiveSelected = false;\n showPercentage = false;\n defaultSearch = '';\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n \n showAd = false;\n banner: any;\n\n constructor(\n private agreementsService: AgreementsService, \n private router: Router, \n private route: ActivatedRoute,\n private formBuilder: FormBuilder, \n private toastr: ToastrService,\n private authFacade: AuthFacade,\n private sanitizer: DomSanitizer,\n private dialog: MatDialog,\n private adminService: AdminService,\n private translate: TranslateService\n ) { \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.customerId = decodedToken.customerId;\n }));\n }\n\n ngOnInit() {\n this.adminService.getEnabledMarketingBannerPicture().subscribe(result => {\n let filename = '';\n if(result.headers.get('content-disposition')){\n filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n filename = filename.split('\"')[1] === undefined ? filename : filename.split('\"')[1].trim();\n var objectURL = URL.createObjectURL(new Blob([result.body], { type: result.body.type }));\n this.banner = this.sanitizer.bypassSecurityTrustUrl(objectURL);\n this.showAd = filename != 'null.txt';\n }\n else{\n this.showAd = false;\n }\n });\n\n this.refreshForm();\n this.id = this.route.snapshot.params.id;\n this.agreementsService.getAgreement(this.id).subscribe((result) => {\n this.agreement = result;\n this.agreementTitle = this.agreement.id;\n this.showPercentage = result.commissionUpfrontType === CommissionUpfrontType.Percentage;\n this.status = AgreementStatusTranslation[AgreementStatus[result.status]];\n this.agreementType = this.agreement.type;\n this.agreement.typeText = FactoringType[result.type].replace(/([A-Z])/g, ' $1').trim();\n this.agreement.typeTranslation = FactoringTypeTranslation[FactoringType[result.type]];\n this.agreement.commissionUpfrontTypeText = CommissionUpfrontType[result.commissionUpfrontType].replace(/([A-Z])/g, ' $1').trim();\n this.refreshForm();\n });\n\n this.agreementsService.getAgreementInvoices(this.id).subscribe((result) => {\n this.invoices = result.map(el => {\n el.statusText = InvoiceStatus[el.status].replace(/([A-Z])/g, ' $1').trim();\n el.statusTranslation = InvoiceStatusTranslation[InvoiceStatus[el.status]];\n el.invoiceDueDate = this.getDate(el.invoiceDueDate);\n el.invoiceDate = this.getDate(el.invoiceDate);\n return el;\n });\n\n this.invoicesDataSource = new MatTableDataSource(this.invoices);\n this.invoicesDataSource.paginator = this.paginator;\n });\n\n this.agreementsService.getCreditLimit('agreement', this.id).subscribe((result) => {\n this.creditLimitList = result;\n this.creditLimitList = result.map((limit) => {\n this.agreementsService.getCreditLimitAmounts(this.id, 'agreement').subscribe((result) => {\n limit.utilisedAmount = result.utilisedCreditLimit;\n limit.availableAmount = result.availableCreditLimit;\n });\n return limit;\n });\n });\n\n this.agreementsService.getAgreementVendorsDebtorsExtended(this.id).subscribe((result) => {\n this.vendorsDebtorsList = result.map((el)=> {\n el.statusTranslation = AgrDebtorsVendorsStatusTranslation[el.status];\n el.availableAmount = el.availableAmount ? el.availableAmount + getCurrencySymbol(this.currencyCode, 'narrow') : this.translate.instant(\"Not Available\");\n el.utilisedAmount = el.utilisedAmount ? el.utilisedAmount + getCurrencySymbol(this.currencyCode, 'narrow') : this.translate.instant(\"Not Available\");\n return el;\n });\n });\n }\n\n private refreshForm(){\n this.form = this.formBuilder.group({ \n id: [(this.agreement && this.agreement.id) || undefined],\n statusText: [(this.agreement && this.agreement.statusText) || undefined],\n typeText: [(this.agreement && this.agreement.typeText && this.translate.instant(this.agreement.typeTranslation)) || undefined],\n disclosedUndisclosed: [(this.agreement && this.agreement.disclosedUndisclosed) || undefined],\n status: [(this.agreement && this.agreement.status) || undefined],\n contractEffectiveDate: [(this.agreement && this.getDate(this.agreement.contractEffectiveDate) && formatDate(this.getDate(this.agreement.contractEffectiveDate), 'yyyy-MM-dd', 'en-us')) || undefined],\n contractTerm: [(this.agreement && this.getDate(this.agreement.contractTerm) && formatDate(this.getDate(this.agreement.contractTerm), 'yyyy-MM-dd', 'en-us')) || undefined],\n clientId: [(this.agreement && this.agreement.clientId) || undefined],\n clientName: [(this.agreement && this.agreement.clientName) || undefined],\n clientRegistrationId: [(this.agreement && this.agreement.clientRegistrationId) || undefined],\n clientVATRegistrationId: [(this.agreement && this.agreement.clientVATRegistrationId) || undefined],\n clientPhoneNo: [(this.agreement && this.agreement.clientPhoneNo) || undefined],\n clientEMail: [(this.agreement && this.agreement.clientEMail) || undefined],\n clientBankAccNo: [(this.agreement && this.agreement.clientBankAccNo) || undefined],\n commissionUpfrontTypeText: [(this.agreement && this.agreement.commissionUpfrontTypeText) || undefined],\n numberOutstandingInvoices: [(this.agreement && this.agreement.numberOutstandingInvoices) || 0],\n numberClosedInvoices: [(this.agreement && this.agreement.numberClosedInvoices) || 0],\n advance: [(this.agreement && this.agreement.advance) || 0], \n commissionUpfront: [(this.agreement && this.agreement.commissionUpfront) || 0], \n commissionAmountUpfront: [this.getCurrency(((this.agreement && this.agreement.commissionAmountUpfront) || 0), this.currencyCode)], \n commissionDeferred: [(this.agreement && this.agreement.commissionDeferred) || 0], \n interestAPR: [(this.agreement && this.agreement.interestAPR) || 0], \n increasedInterestAPR: [(this.agreement && this.agreement.increasedInterestAPR) || 0], \n penaltyInterestDaily: [(this.agreement && this.agreement.penaltyInterestDaily) || 0], \n advancePaid: [this.getCurrency(((this.agreement && this.agreement.advancePaid) || 0), this.currencyCode)], \n advancePending: [this.getCurrency(((this.agreement && this.agreement.advancePending) || 0), this.currencyCode)], \n debtorCollections: [this.getCurrency(((this.agreement && this.agreement.debtorCollections) || 0), this.currencyCode)], \n termChargesTotal: [this.getCurrency(((this.agreement && this.agreement.termChargesTotal) || 0), this.currencyCode)], \n interestAmount: [this.getCurrency(((this.agreement && this.agreement.interestAmount) || 0), this.currencyCode)], \n empty: [undefined]\n })\n }\n\n filterNew(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.New || x.status == InvoiceStatus.NotificationSent);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.changeSelected('new');\n }\n\n filterOpen(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.Accepted || x.status == InvoiceStatus.Disbursed || x.status == InvoiceStatus.Overdue);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.changeSelected('open');\n }\n\n filterArchive(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.Closed || x.status == InvoiceStatus.Rejected);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.changeSelected('archive');\n }\n\n filterAll(){\n this.invoicesDataSource = new MatTableDataSource(this.invoices);\n this.changeSelected('all');\n }\n\n changeSelected(type: string){\n this.allSelected = false;\n this.newSelected = false;\n this.openSelected = false;\n this.archiveSelected = false;\n\n if(type == 'all')\n this.allSelected = true;\n if(type == 'new')\n this.newSelected = true;\n if(type == 'open')\n this.openSelected = true;\n if(type == 'archive')\n this.archiveSelected = true;\n }\n\n getCurrency(value: number, currencyCode: string){\n return `${value} ${getCurrencySymbol(currencyCode, 'narrow')}`;\n }\n \n getDate(date: Date) : Date{\n return date.toString() == '0001-01-01T00:00:00' ? undefined : date;\n }\n\n createNewInvoice(){\n this.router.navigate(['/createinvoice/'+this.id]);\n }\n\n downloadAgreement(){\n this.showProgressSpinner()\n this.agreementsService.downloadAgreement(this.id).subscribe((result => {\n if(result.body['size'] > 0){\n var filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n const downloadedFile = new Blob([result.body], { type: result.body.type });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = URL.createObjectURL(downloadedFile);\n a.download = filename;\n a.target = '_blank';\n this.hideProgressSpinner();\n a.click();\n document.body.removeChild(a);\n }\n else{\n this.hideProgressSpinner();\n this.showToasterError()\n }\n }));\n }\n\n backToContracts(){\n this.router.navigate(['/agreements']);\n }\n\n uploadDocument(){\n const dialogRef = this.dialog.open(UploadDocumentsDialog, {\n restoreFocus: false,\n width: '50%',\n height: '50%',\n data: {agreementId: this.id},\n });\n\n dialogRef.afterClosed().subscribe(result => {\n });\n }\n\n applySearch(searchValue: string) {\n searchValue = searchValue.trim(); \n searchValue = searchValue.toLowerCase(); \n this.invoicesDataSource.filter = searchValue;\n }\n\n createInvoice(){\n //this.creatingInvoice = true;\n const dialogRef = this.dialog.open(CreateInvoiceComponent, {\n restoreFocus: false,\n width: '60%',\n height: '80%',\n data: {agreementId: this.agreement.systemId},\n });\n\n dialogRef.afterClosed().subscribe(result => {\n });\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n\n //toast\n\n showToasterError(){\n this.toastr.error('Failed to download agreement.', 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n}","\n\n
\n \n
\n
\n description\n

{{ 'Agreement-Details.form-title' | translate }} {{ agreementTitle }} - {{ status | translate}}

\n
\n \n \n
\n
\n \n
\n
\n
\n {{ 'Agreement-Details.form-client-name' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-type' | translate }}\n \n \n \n
\n
\n {{ 'Agreement-Details.form-contract-effective-date' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-contract-term' | translate }}\n \n \n \n
\n
\n\n \n \n
\n
\n {{ 'Agreement-Details.form-client-phone-no' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-client-eMail' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-client-bank-acc-no' | translate }}\n \n \n \n
\n \n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n {{ 'Agreement-Details.form-debtor-collections' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-term-charges-total' | translate }}\n \n \n \n
\n \n
\n \n {{ 'Agreement-Details.form-interest-amount' | translate }}\n \n \n \n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n {{ 'Agreement-Details.form-number-outstanding-invoices' | translate }}\n \n \n \n
\n \n
\n {{ 'Agreement-Details.form-number-closed-invoices' | translate }}\n \n \n \n
\n \n
\n \n \n \n
\n \n
\n \n \n \n
\n
\n\n \n\n
\n
\n \n
\n
\n description\n

{{ 'Agreement-Details.credit-limit-title' | translate }}

\n
\n\n \n\n \n \n {{ 'Agreement-Details.credit-limit-table-credit-limit-column' | translate }} \n {{element.creditLimit | customCurrency : currencyCode}} \n \n \n \n {{ 'Agreement-Details.credit-limit-table-available-amount-column' | translate }} \n {{element.availableAmount | customCurrency : currencyCode}} \n \n \n \n\n \n {{ 'Agreement-Details.credit-limit-table-utilised-amount-column' | translate }} \n {{element.utilisedAmount | customCurrency : currencyCode}} \n \n\n \n\n \n {{ 'Agreement-Details.credit-limit-table-valid-from-column' | translate }} \n {{element.validFrom | date:'yyyy-MM-dd'}} \n \n\n \n {{ 'Agreement-Details.credit-limit-table-valid-until-column' | translate }} \n {{element.validUntil | date:'yyyy-MM-dd'}} \n \n \n \n \n \n
\n\n
\n
\n description\n

{{ 'Agreement-Details.debtors-title-debtor' | translate }}

\n

{{ 'Agreement-Details.debtors-title-vendor' | translate }}

\n
\n\n \n\n \n \n {{ 'Agreement-Details.debtors-table-name-column' | translate }} \n {{element.name }} \n \n \n \n {{ 'Agreement-Details.debtors-table-status-column' | translate }} \n {{element.statusTranslation | translate}} \n \n \n \n {{ 'Agreement-Details.debtors-table-registration-no-column' | translate }} \n {{element.registrationId}} \n \n\n \n {{ 'Agreement-Details.debtors-table-utilised-amount-column' | translate }} \n {{element.utilisedAmount }} \n \n\n \n {{ 'Agreement-Details.debtors-table-available-amount-column' | translate }} \n {{element.availableAmount }} \n \n \n \n \n \n
\n\n
\n \n
\n\n
\n
\n description\n

{{ 'Agreement-Details.invoices-title' | translate }}

\n \n
\n\n \n\n \n
\n
\n \n
\n \n \n
\n \n \n \n \n \n
\n
\n \n \n\n \n\n \n \n \n description \n \n \n \n {{ 'Agreement-Details.invoices-table-invoice-id' | translate }} \n {{element.invoiceId}} \n \n \n \n {{ 'Agreement-Details.invoices-table-status' | translate }} \n {{element.statusTranslation | translate}} \n \n \n \n {{ 'Agreement-Details.invoices-table-invoice-date' | translate }} \n {{element.invoiceDate | date:'yyyy-MM-dd' }} \n \n \n \n {{ 'Agreement-Details.invoices-table-invoice-due-date' | translate }} \n {{element.invoiceDueDate | date:'yyyy-MM-dd' }} \n \n \n \n {{ 'Agreement-Details.installments-table-invoice-amount' | translate }} \n {{element.invoiceAmountInclVAT | customCurrency : currencyCode }} \n \n \n \n \n \n\n \n \n
\n \n\n
\n \n
\n\n
\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { AgreementData, AgreementsService, AgreementStatus, AgreementStatusTranslation } from '../_services/agreements.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-agreements',\n templateUrl: './agreements.component.html',\n styleUrls: ['./agreements.component.css']\n})\nexport class AgreementsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n agreements: AgreementData[] = [];\n @Input() selectedAgreement: any;\n id = '';\n\n agreementsDisplayedColumns: string[] = ['description', 'agreementno', 'status', 'disclosedundisclosed', 'contracteffectivedate', 'contractterm', 'button'];\n agreementsDataSource = new MatTableDataSource(this.agreements);\n\n constructor(private agreementsService: AgreementsService, private router: Router, private authFacade: AuthFacade) {\n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.id = decodedToken.customerId;\n }));\n }\n\n ngOnInit() {\n this.agreementsService.getAgreements().subscribe((result) => {\n this.agreements = result.map(el => {\n el.statusText = AgreementStatus[el.status].replace(/([A-Z])/g, ' $1').trim();\n el.statusTranslation = AgreementStatusTranslation[AgreementStatus[el.status]];\n el.contractEffectiveDate = this.getDate(el.contractEffectiveDate);\n el.contractTerm = this.getDate(el.contractTerm);\n return el;\n });\n this.agreementsDataSource = new MatTableDataSource(this.agreements);\n this.agreementsDataSource.paginator = this.paginator;\n })\n }\n\n getDate(date: Date) : Date{\n return date.toString() == '0001-01-01T00:00:00' ? undefined : date;\n }\n\n openAgreementDetails(id: any){\n this.router.navigate(['/agreements', id]);\n }\n\n highlightRow(agreement) {\n this.selectedAgreement = agreement.id;\n }\n\n removeHighlightedRow(){\n this.selectedAgreement = null;\n }\n}","\n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n\n \n \n
description {{ 'Agreements.table-agreement-no-column' | translate }} {{ element.id }} {{ 'Agreements.table-status-column' | translate }} {{ element.statusTranslation | translate }} {{ 'Agreements.table-disclosed-undisclosed-column' | translate }} {{ element.disclosedUndisclosed | translate}} {{ 'Agreements.table-contract-effective-date-column' | translate }} {{element.contractEffectiveDate | date:'yyyy-MM-dd' }} {{ 'Agreements.table-contract-term-column' | translate }} {{element.contractTerm | date:'yyyy-MM-dd' }}
\n\n\n\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AdminDetailsComponent } from './admin-details/admin-details';\nimport { AdminsComponent } from './admins/admins';\nimport { AuthGuard } from './auth';\nimport { AdminGuard } from './auth/admin.guard';\nimport { SuperAdminGuard } from './auth/super-admin.guard';\nimport { AgreementDetailsComponent } from './agreement-details/agreement-details.component';\nimport { AgreementsComponent } from './agreements/agreements.component';\nimport { CustomerMessagesComponent } from './customer-messages/customer-messages.component';\nimport { DocumentTemplatesComponent } from './document-templates/document-templates.component';\nimport { FaqDetailsComponent } from './faq-details/faq-details.component';\nimport { FaqsComponent } from './faqs/faqs.component';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { CreateInvoiceComponent } from './createinvoice/createinvoice.component';\nimport { HomeComponent } from './home/home.component';\nimport { InvoicesComponent } from './invoices/invoices.component';\nimport { LoginComponent } from './login/login.component';\nimport { LogsComponent } from './logs/logs.component';\nimport { MarketingBannerDetailsComponent } from './marketing-banner-details/marketing-banner-details.component';\nimport { MarketingBannersComponent } from './marketing-banners/marketing-banners';\nimport { PasswordResetComponent } from './password-reset/password-reset.component';\nimport { SignUpComponent } from './sign-up/sign-up.component';\nimport { UploadDocumentsComponent } from './upload-documents/upload-documents.component';\n\n\nconst routes: Routes = [\n {\n path:'',\n component: LoginComponent,\n data: { showHeader: false, showSidebar: false }\n },\n {\n path:'login',\n component: LoginComponent,\n data: { showHeader: false, showSidebar: false }\n },\n {\n path:'home',\n canActivate: [AuthGuard],\n component: HomeComponent,\n },\n {\n path:'agreements',\n canActivate: [AuthGuard],\n component: AgreementsComponent,\n },\n {\n path:'invoices',\n canActivate: [AuthGuard],\n component: InvoicesComponent,\n },\n {\n path:'invoices/:id',\n canActivate: [AuthGuard],\n component: InvoicesComponent,\n },\n {\n path:'templates',\n canActivate: [AuthGuard],\n component: DocumentTemplatesComponent,\n },\n {\n path:'upload',\n canActivate: [AuthGuard],\n component: UploadDocumentsComponent,\n },\n {\n path:'createinvoice',\n canActivate: [AuthGuard],\n component: CreateInvoiceComponent,\n },\n {\n path:'createinvoice/:id',\n canActivate: [AuthGuard],\n component: CreateInvoiceComponent,\n },\n {\n path:'agreements/:id',\n canActivate: [AuthGuard],\n component: AgreementDetailsComponent,\n },\n {\n path:'signup/:code/:email',\n component: SignUpComponent,\n data: { showHeader: false, showSidebar: false }\n },\n {\n path:'messages',\n canActivate: [AuthGuard],\n component: CustomerMessagesComponent,\n },\n {\n path:'forgotpassword',\n component: ForgotPasswordComponent,\n data: { showHeader: false, showSidebar: false }\n },\n {\n path:'passwordreset/:code/:email',\n component: PasswordResetComponent,\n data: { showHeader: false, showSidebar: false }\n },\n {\n path:'marketingbanners',\n canActivate: [AuthGuard, AdminGuard],\n component: MarketingBannersComponent,\n },\n {\n path:'faqs',\n canActivate: [AuthGuard],\n component: FaqsComponent,\n },\n {\n path:'admins',\n canActivate: [AuthGuard, SuperAdminGuard],\n component: AdminsComponent,\n },\n {\n path:'createadmin',\n canActivate: [AuthGuard, SuperAdminGuard],\n component: AdminDetailsComponent,\n },\n {\n path:'faqs/:id',\n canActivate: [AuthGuard],\n component: FaqDetailsComponent,\n },\n {\n path:'marketingbanners/:id',\n canActivate: [AuthGuard, AdminGuard],\n component: MarketingBannerDetailsComponent,\n },\n {\n path:'logs',\n canActivate: [AuthGuard, AdminGuard],\n component: LogsComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n scrollPositionRestoration: 'top'\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit{\n showHeader = false;\n showSidebar = false;\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private translate: TranslateService) {\n let currLanguage = localStorage.getItem(\"language\");\n if(currLanguage){\n translate.setDefaultLang(currLanguage.replace(/['\"]+/g, ''));\n }\n else{\n translate.setDefaultLang('en');\n }\n }\n\n ngOnInit() {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.showHeader = this.activatedRoute.firstChild.snapshot.data.showHeader !== false;\n this.showSidebar = this.activatedRoute.firstChild.snapshot.data.showSidebar !== false;\n }\n });\n }\n}\n","\n\n
\n \n
\n \n
\n
","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, DEFAULT_CURRENCY_CODE, InjectionToken, LOCALE_ID, NgModule } from '@angular/core';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LoginComponent } from './login/login.component';\nimport { SignUpComponent } from './sign-up/sign-up.component';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCardModule } from '@angular/material/card';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HomeComponent } from './home/home.component';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { LayoutModule } from './layout/layout.module';\nimport { AgreementsComponent } from './agreements/agreements.component';\nimport { InvoicesComponent } from './invoices/invoices.component';\nimport { DocumentTemplatesComponent } from './document-templates/document-templates.component';\nimport { UploadDocumentsComponent } from './upload-documents/upload-documents.component';\nimport { CreateInvoiceComponent } from './createinvoice/createinvoice.component';\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatIconModule } from '@angular/material/icon';\nimport { HttpClientProxy, HTTP_CLIENT_PROXY, IHttpOptions } from './_helpers/http.helper';\nimport { AgreementDetailsComponent } from './agreement-details/agreement-details.component';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatFileUploadModule } from 'angular-material-fileupload';\nimport { DndDirective } from './dnd.directive';\nimport { MatSelectModule } from '@angular/material/select';\nimport { environment } from '../environments/environment';\nimport { JwtInterceptor } from './_interceptor/jwt.interceptor';\nimport { AuthModule, AuthState } from './auth';\nimport { ActionReducer, StoreModule } from '@ngrx/store';\nimport { metaReducers, reducers } from './auth/state';\nimport { CustomCurrencyPipe } from './_pipes/custom.currency.pipe';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { AppOverlayModule } from './overlay/overlay.module';\nimport { ProgressSpinnerComponent } from './progress-spinner/progress-spinner.component';\nimport { CustomerMessagesComponent } from './customer-messages/customer-messages.component';\nimport { ToastrModule } from 'ngx-toastr';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\nimport { PasswordResetComponent } from './password-reset/password-reset.component';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { AppConfigService } from './_services/appconfig.service';\nimport { FaqDetailsComponent } from './faq-details/faq-details.component';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { AdminsComponent } from './admins/admins';\nimport { AdminDetailsComponent } from './admin-details/admin-details';\nimport { MarketingBannersComponent } from './marketing-banners/marketing-banners';\nimport { MarketingBannerDetailsComponent } from './marketing-banner-details/marketing-banner-details.component';\nimport { FaqsComponent } from './faqs/faqs.component';\nimport { LogsComponent } from './logs/logs.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter, MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { UploadDocumentsDialog } from './upload-documents-dialog/upload-documents-dialog.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { registerLocaleData } from '@angular/common';\nimport localeLt from '@angular/common/locales/lt';\n\nregisterLocaleData(localeLt);\n\nexport interface IEndpointSettings {\n uri: string;\n options?: IHttpOptions;\n}\n\nexport enum Language{\n EN,\n LT\n}\n\nexport interface IAppSettings {\n endpoint: IEndpointSettings;\n}\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'YYYY-MM-DD',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport function HTTP_CLIENT_PROXY_FACTORY (http: HttpClient, settings: IEndpointSettings)\n{\n return new HttpClientProxy(http, settings.uri, { \"withCredentials\": false });\n}\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nexport function AppSettingsFactory(appConfigService: AppConfigService) {\n return () => appConfigService.loadAppConfig();\n}\n\nexport const ENDPOINT_SETTINGS = new InjectionToken('endpoint-settings');\nexport const APP_SETTINGS = new InjectionToken('app-settings');\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n HomeComponent,\n AgreementsComponent,\n InvoicesComponent,\n DocumentTemplatesComponent,\n UploadDocumentsComponent,\n CreateInvoiceComponent,\n AgreementDetailsComponent,\n DndDirective,\n SignUpComponent,\n CustomCurrencyPipe,\n ProgressSpinnerComponent,\n CustomerMessagesComponent,\n ForgotPasswordComponent,\n PasswordResetComponent,\n FaqsComponent,\n LogsComponent,\n MarketingBannersComponent,\n MarketingBannerDetailsComponent,\n FaqDetailsComponent,\n AdminsComponent,\n AdminDetailsComponent,\n UploadDocumentsDialog\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n FlexLayoutModule,\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatCardModule,\n ReactiveFormsModule,\n FormsModule,\n MatSidenavModule,\n MatToolbarModule,\n LayoutModule,\n HttpClientModule,\n MatTableModule,\n MatPaginatorModule,\n MatIconModule,\n MatDividerModule,\n MatFileUploadModule,\n MatSelectModule,\n AuthModule,\n MatProgressSpinnerModule,\n AppOverlayModule,\n BrowserAnimationsModule,\n MatBadgeModule,\n MatCheckboxModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatDialogModule,\n MatTooltipModule,\n ToastrModule.forRoot(),\n StoreModule.forRoot(reducers, {metaReducers}),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n providers: [\n {\n provide: ENDPOINT_SETTINGS,\n useFactory: (settings: IAppSettings) => settings.endpoint,\n deps: [APP_SETTINGS]\n },\n { provide: APP_INITIALIZER, multi: true, useFactory: AppSettingsFactory, deps: [AppConfigService]},\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n { provide: LOCALE_ID, useValue: window.navigator.language },\n { provide: DEFAULT_CURRENCY_CODE, useValue: 'EUR' },\n {\n provide: HTTP_CLIENT_PROXY,\n useFactory: HTTP_CLIENT_PROXY_FACTORY,\n deps: [HttpClient, ENDPOINT_SETTINGS]\n },\n MatDatepickerModule,\n MatNativeDateModule,\n {provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},\n {provide: MAT_DATE_FORMATS, useValue: MY_FORMATS},\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { first, map } from 'rxjs/operators';\r\nimport { authQuery, AuthState } from './state';\r\nimport { JwtData } from './state/auth.reducer';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminGuard implements CanActivate {\r\n constructor(\r\n private store$: Store,\r\n private router: Router\r\n ) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean \r\n {\r\n return this.checkToken().pipe(\r\n map(token => {\r\n let decodedToken: JwtData = jwt_decode(token)\r\n if (decodedToken.admin.toLowerCase() == 'true') return true;\r\n this.router.navigate(['/login']);\r\n return false;\r\n }),\r\n first()\r\n );\r\n }\r\n \r\n private checkToken(): Observable {\r\n return this.store$.pipe(select(authQuery.token)).pipe(first());\r\n }\r\n \r\n}","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { first, map } from 'rxjs/operators';\r\nimport { authQuery, AuthState } from './state';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private store$: Store,\r\n private router: Router\r\n ) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean \r\n {\r\n return this.checkToken().pipe(\r\n map(token => {\r\n if (token) return true;\r\n this.router.navigate(['/login']);\r\n return false;\r\n }),\r\n first()\r\n );\r\n }\r\n \r\n private checkToken(): Observable {\r\n return this.store$.pipe(select(authQuery.token)).pipe(first());\r\n }\r\n \r\n}","import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\n\r\nimport { AuthFacade } from './state';\r\n\r\nconst AUTH_UNAUTHORIZED_STATUS = 401;\r\n\r\nexport enum AuthInterceptorHeader {\r\n IgnoreStatus = 'ignoreStatus'\r\n}\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n constructor(private facade: AuthFacade, private router: Router) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.headers.has(AuthInterceptorHeader.IgnoreStatus)) {\r\n return next.handle(req.clone({ headers: req.headers.delete(AuthInterceptorHeader.IgnoreStatus) }));\r\n }\r\n\r\n return next.handle(req).pipe(catchError(err => this.handleError(err)));\r\n }\r\n\r\n private handleError(res: HttpErrorResponse): Observable {\r\n if (res.status === AUTH_UNAUTHORIZED_STATUS) {\r\n this.facade.resetToken();\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n return throwError(res);\r\n }\r\n}\r\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { AuthGuard } from './auth.guard';\r\n\r\nimport { AuthInterceptor } from './auth.interceptor';\r\nimport { AUTH_FEATURE_KEY, AuthFacade, authReducer } from './state';\r\n\r\n\r\n\r\n// TODO global resolve constant? as argument?\r\n\r\n@NgModule({\r\n imports: [StoreModule.forFeature(AUTH_FEATURE_KEY, authReducer)],\r\n providers: [\r\n AuthFacade,\r\n AuthGuard,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class AuthModule {}\r\n","export { AuthFacade, AuthState, authQuery } from './state';\r\nexport { AuthModule } from './auth.module';\r\nexport { AuthGuard } from './auth.guard';\r\n","import { Action } from '@ngrx/store';\r\n\r\n\r\nexport enum AuthActionType {\r\n SignInSucess = 'auth.signIn.success',\r\n SignOutSuccess = 'auth.signOut.success',\r\n ResetToken = 'auth.reset',\r\n\r\n // ChangePasswordSuccess = 'auth.changePassword.success',\r\n}\r\n\r\nexport class SignInSuccessAction implements Action {\r\n readonly type = AuthActionType.SignInSucess;\r\n constructor(public payload: string) {}\r\n}\r\n\r\nexport class SignOutSuccessAction implements Action {\r\n readonly type = AuthActionType.SignOutSuccess;\r\n constructor() {}\r\n}\r\n\r\nexport class ResetTokenAction implements Action {\r\n readonly type = AuthActionType.ResetToken;\r\n constructor() {}\r\n}\r\n\r\nexport type AuthAction =\r\n | SignInSuccessAction\r\n | SignOutSuccessAction\r\n | ResetTokenAction\r\n \r\n","import { Injectable } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseStoreFacade } from \"src/app/_helpers/store.helper\";\r\nimport { AuthService, SignInData } from \"src/app/_services/authentication.service\";\r\nimport { ResetTokenAction, SignInSuccessAction, SignOutSuccessAction } from \"./auth.actions\";\r\nimport { AuthPartialState } from './auth.reducer';\r\nimport { authQuery } from './auth.selector';\r\n\r\n@Injectable()\r\nexport class AuthFacade extends BaseStoreFacade {\r\n token$ = this.store.select(authQuery.token);\r\n // jwtData$ = this.store.select(authQuery.jwtData);\r\n\r\n constructor(private service: AuthService, store: Store, private toastr: ToastrService) {\r\n super(store);\r\n this.toastr.toastrConfig.preventDuplicates = true;\r\n this.toastr.toastrConfig.countDuplicates = true;\r\n }\r\n\r\n signIn(data: SignInData): Observable {\r\n return this.fetch({\r\n execute: () => this.service.signIn(data),\r\n success: result => new SignInSuccessAction(result),\r\n failure: () => this.showToasterError()\r\n });\r\n }\r\n\r\n signOut(): Observable {\r\n return this.fetch({\r\n execute: () => this.service.logOut(),\r\n success: () => new SignOutSuccessAction()\r\n });\r\n }\r\n\r\n resetToken(){\r\n this.store.dispatch(new ResetTokenAction());\r\n }\r\n\r\n showToasterError(){\r\n this.toastr.error('Failed to sign in. Check if you entered credentials correctly.', 'Error', {\r\n positionClass: 'toast-bottom-center',\r\n progressAnimation: 'decreasing',\r\n timeOut: 5000,\r\n });\r\n }\r\n}","import { AuthAction, AuthActionType } from './auth.actions';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\nexport const AUTH_FEATURE_KEY = 'auth';\r\n\r\nexport interface AuthState {\r\n token: string;\r\n // email: string;\r\n // name: string;\r\n // customerId: string;\r\n // expirationDate: number;\r\n // isAdmin: boolean;\r\n // isSuperAdmin: boolean;\r\n}\r\n\r\nexport interface AuthPartialState {\r\n readonly [AUTH_FEATURE_KEY]: AuthState;\r\n}\r\n\r\nexport interface JwtData{\r\n email: string;\r\n name: string;\r\n customerId: string;\r\n exp: number;\r\n admin: string;\r\n superAdmin: string;\r\n}\r\n\r\nconst initialAuthState: AuthState = {\r\n token: '',\r\n // email: '',\r\n // name: '',\r\n // customerId: '',\r\n // expirationDate: 0,\r\n // isAdmin: false,\r\n // isSuperAdmin: false\r\n};\r\n\r\nexport function authReducer(state: AuthState = initialAuthState, action: AuthAction): AuthState {\r\n switch (action.type) {\r\n case AuthActionType.SignInSucess: {\r\n // let decodedJwt: JwtData = jwt_decode(action.payload);\r\n return {\r\n ...state,\r\n token: action.payload,\r\n // email: decodedJwt.email,\r\n // name: decodedJwt.name,\r\n // customerId: decodedJwt.customerId,\r\n // expirationDate: decodedJwt.exp,\r\n // isAdmin: decodedJwt.admin.toLowerCase() == 'true',\r\n // isSuperAdmin: decodedJwt.superAdmin.toLowerCase() == 'true'\r\n };\r\n }\r\n case AuthActionType.SignOutSuccess: {\r\n return initialAuthState;\r\n }\r\n case AuthActionType.ResetToken: {\r\n return initialAuthState;\r\n }\r\n default: {\r\n return state;\r\n }\r\n }\r\n}","import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { AUTH_FEATURE_KEY, AuthState, JwtData } from './auth.reducer';\r\n\r\nconst AUTH_STATE = createFeatureSelector(AUTH_FEATURE_KEY);\r\n\r\nconst token = createSelector(\r\n AUTH_STATE,\r\n (state: AuthState) => state.token\r\n)\r\n\r\n// const isAdmin = createSelector(\r\n// AUTH_STATE,\r\n// (state: AuthState) => state.isAdmin || state.isSuperAdmin\r\n// )\r\n\r\n// const isSuperAdmin = createSelector(\r\n// AUTH_STATE,\r\n// (state: AuthState) => state.isSuperAdmin\r\n// )\r\n\r\n// const jwtData = createSelector(\r\n// AUTH_STATE,\r\n// (state: AuthState) => ({ email: state.email, name: state.name, customerId: state.customerId, expirationDate: state.expirationDate, isAdmin: state.isAdmin, isSuperAdmin: state.isSuperAdmin })\r\n// )\r\n\r\nexport const authQuery = {\r\n token,\r\n // jwtData,\r\n // isAdmin,\r\n // isSuperAdmin\r\n};","import { ActionReducer, INIT, UPDATE } from \"@ngrx/store\";\r\nimport { RootState } from \".\";\r\n\r\nexport const hydrationMetaReducer = (\r\n reducer: ActionReducer\r\n): ActionReducer => {\r\n return (state, action) => {\r\n if (action.type === INIT || action.type === UPDATE) {\r\n const storageValue = localStorage.getItem(\"state\");\r\n if (storageValue) {\r\n try {\r\n return JSON.parse(storageValue);\r\n } catch {\r\n localStorage.removeItem(\"state\");\r\n }\r\n }\r\n }\r\n const nextState = reducer(state, action);\r\n localStorage.setItem(\"state\", JSON.stringify(nextState));\r\n return nextState;\r\n };\r\n};\r\n","import { ActionReducerMap, MetaReducer } from '@ngrx/store';\r\nimport { hydrationMetaReducer } from './hydration.reducer';\r\nimport { authReducer, AuthState } from './auth.reducer';\r\n\r\nexport { AuthFacade } from './auth.facade';\r\nexport { AuthState, AUTH_FEATURE_KEY, authReducer } from './auth.reducer';\r\nexport { authQuery } from './auth.selector';\r\n\r\nexport interface RootState {\r\n auth: AuthState\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n auth: authReducer\r\n }\r\n \r\n export const metaReducers: MetaReducer[] = [\r\n hydrationMetaReducer\r\n ]","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { first, map } from 'rxjs/operators';\r\nimport { authQuery, AuthState } from './state';\r\nimport { JwtData } from './state/auth.reducer';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SuperAdminGuard implements CanActivate {\r\n constructor(\r\n private store$: Store,\r\n private router: Router\r\n ) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean \r\n {\r\n return this.checkToken().pipe(\r\n map(token => {\r\n let decodedToken: JwtData = jwt_decode(token)\r\n if (decodedToken.superAdmin.toLowerCase() == 'true') return true;\r\n this.router.navigate(['/login']);\r\n return false;\r\n }),\r\n first()\r\n );\r\n }\r\n \r\n private checkToken(): Observable {\r\n return this.store$.pipe(select(authQuery.token)).pipe(first());\r\n }\r\n \r\n}","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActivatedRoute } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { subscribeOnce } from '../_helpers/rxjs.helper';\nimport { AgrDebtorsVendorsStatus, AgreementData, AgreementsService, AgreementStatus, AgreementVendorDebtorData } from '../_services/agreements.service';\nimport jwt_decode from \"jwt-decode\";\n\nexport interface CreateInvoiceComponentData{\n agreementId: string;\n}\n\n@Component({\n selector: 'app-createinvoice',\n templateUrl: './createinvoice.component.html',\n styleUrls: ['./createinvoice.component.scss']\n})\n\nexport class CreateInvoiceComponent implements OnInit {\n @Input() selectedValue: string;\n @Input() selectedFile: any;\n\n files: any[] = [];\n form!: FormGroup;\n vendorsDebtors: AgreementVendorDebtorData[] = [];\n agreements: AgreementData[] = [];\n agreementTitles: string[] = [];\n agreementVendorsDebtorsNames: string[] = [];\n agreementTitle = '';\n id = '';\n customerId = '';\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n disableSubmitButton = true;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: CreateInvoiceComponentData,\n private formBuilder: FormBuilder,\n private agreementsService: AgreementsService,\n private authFacade: AuthFacade,\n private toastr: ToastrService\n ) { \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.customerId = decodedToken.customerId;\n }));\n }\n\n ngOnInit(): void {\n this.id = this.data.agreementId;\n this.agreementsService.getAgreements().subscribe((result) => {\n this.agreements = result.filter(x => x.status == AgreementStatus.Valid && new Date(x.contractTerm) > new Date());\n if(this.id)\n this.agreementTitle = this.agreements.filter(x => x.systemId == this.id)[0].id;\n this.agreementTitles = this.agreements.map(x => x.id);\n this.refreshForm();\n\n });\n\n this.agreementsService.getVendorsDebtors().subscribe((result) => {\n this.vendorsDebtors = result;\n if(this.agreementTitle){\n this.agreementVendorsDebtorsNames = this.vendorsDebtors.filter((x => x.agreementId == this.agreementTitle && x.status == AgrDebtorsVendorsStatus.Valid)).map(x => x.name);\n }\n });\n\n this.refreshForm();\n }\n\n refreshForm(){\n this.form = this.formBuilder.group({ \n agreementNo: [ this.agreementTitle || '', Validators.required],\n debtorNo: ['', Validators.required],\n invoiceDate:['', Validators.required],\n invoiceNo: ['', Validators.required],\n invoiceAmountInclVAT: ['', [Validators.required, Validators.pattern(/^\\d+(?:[,.]\\d+)?$/)]],\n invoiceDueDate: ['', Validators.required]\n })\n\n this.form.controls['agreementNo'].valueChanges.subscribe((result) => {\n if(result){\n this.agreementTitle = result;\n this.id = this.agreements.filter(x => x.id == result)[0].systemId;\n this.agreementVendorsDebtorsNames = this.vendorsDebtors.filter((x => x.agreementId == result)).map(x => x.name);\n this.form.controls['debtorNo'].setValue('');\n }\n });\n }\n\n onSubmit(){\n if(this.form.valid){\n this.showProgressSpinner();\n let agreementVendorDebtor = this.form.value.debtorNo;\n this.form.value.debtorNo = this.vendorsDebtors.filter(x => x.agreementId == this.agreementTitle && x.name == agreementVendorDebtor)[0].id; \n this.agreementsService.createInvoice({...this.form.value }).subscribe((result => {\n if(result.data){\n if(this.files.length > 0){\n const formData = new FormData();\n for (const file of this.files) {\n formData.append(file.name, file);\n }\n \n let agreementId = this.id;\n \n this.agreementsService.uploadDocument(formData, agreementId, 'Invoice_'+this.form.value.invoiceNo).subscribe(result => {\n this.hideProgressSpinner();\n \n if(result){\n this.showToasterSuccess();\n this.files = [];\n this.selectedValue = \"\";\n this.dialogRef.close();\n }\n else{\n this.showToasterError();\n this.dialogRef.close();\n }\n });\n }\n else{\n this.hideProgressSpinner();\n this.showToasterSuccess();\n this.dialogRef.close();\n }\n }\n else{\n this.hideProgressSpinner();\n this.showToasterError()\n this.dialogRef.close();\n }\n }));\n }\n }\n\n onFileDropped(file) {\n this.prepareFilesList(file);\n }\n\n fileBrowseHandler(file) {\n this.prepareFilesList(file);\n }\n\n deleteFile(index: number) {\n this.files.splice(index, 1);\n }\n\n prepareFilesList(files: Array) {\n for (const item of files) {\n this.files.push(item);\n }\n }\n\n formatBytes(bytes) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = 0;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n\n highlightRow(file) {\n this.selectedFile = file.name;\n }\n\n removeHighlightedRow(){\n this.selectedFile = null;\n }\n\n //toast\n showToasterSuccess(){\n this.toastr.success('Invoice created successfully.', 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n showToasterError(){\n this.toastr.error('Failed to create invoice.', 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","
\n

{{ 'CreateInvoice.title' | translate }}

\n \n
\n \n\n
\n \n {{ 'CreateInvoice.form-agreement-no' | translate }}\n \n \n \n {{ agreementTitle }}\n \n \n \n\n \n {{ 'CreateInvoice.form-agreement-vendor-debtor' | translate }}\n \n \n \n {{ vendorDebtor }}\n \n \n \n\n \n {{ 'CreateInvoice.form-invoice-date' | translate }}\n \n \n \n \n \n\n \n {{ 'CreateInvoice.form-invoice-no' | translate }}\n \n \n\n \n {{ 'CreateInvoice.form-invoice-amount-incl-VAT' | translate }}\n \n {{ 'CreateInvoice.form-invoice-amount-incl-VAT-error' | translate }}\n \n\n \n {{ 'CreateInvoice.form-invoice-due-date' | translate }}\n \n \n \n \n \n \n
\n
\n
\n \n cloud_upload\n \n
\n attach_file\n

{{ 'Upload.add-file-title' | translate }}

\n

{{ 'Upload.add-file-subtitle' | translate }}

\n
\n
\n \n \n
\n
\n
\n

{{ file?.name }}

\n

{{ formatBytes(file?.size) }}

\n
\n close\n
\n
\n
\n
\n\n
\n \n
\n
\n
\n
\n\n\n","import { ValidationErrors, ValidatorFn, AbstractControl } from '@angular/forms';\r\n\r\nexport class CustomValidators {\r\n static patternValidator(regex: RegExp, error: ValidationErrors): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n if (!control.value) {\r\n // if control is empty return no error\r\n return null;\r\n }\r\n\r\n // test the value of the control against the regexp supplied\r\n const valid = regex.test(control.value);\r\n\r\n // if true, return no error (no error), else return error passed in the second parameter\r\n return valid ? null : error;\r\n };\r\n }\r\n\r\n static passwordMatchValidator(password: string): ValidatorFn {\r\n return (control: AbstractControl) => {\r\n if (!control || !control.parent) {\r\n return null;\r\n }\r\n return control.parent.get(password).value === control.value ? null : { mismatch: true };\r\n };\r\n }\r\n}","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthFacade } from \"../auth\";\r\nimport { JwtData } from \"../auth/state/auth.reducer\";\r\n// import { ContractsService, CustomerMessageData, CustomerMessageType } from \"../_services/contracts.service\";\r\n\r\n\r\n@Component({\r\n selector: 'app-customer-messages',\r\n templateUrl: './customer-messages.component.html',\r\n styleUrls: ['./customer-messages.component.scss']\r\n})\r\n export class CustomerMessagesComponent implements OnInit {\r\n // messages: CustomerMessageData[] = [];\r\n customerId = '';\r\n\r\n messagesDisplayedColumns: string[] = ['messageType','contract', 'subject', 'excerpt', 'messageCreated'];\r\n\r\n\r\n constructor(\r\n // private contractsService: ContractsService, \r\n private authFacade: AuthFacade, \r\n private router: Router\r\n ) {\r\n this.authFacade.token$.subscribe((token => {\r\n let decodedToken: JwtData = jwt_decode(token)\r\n this.customerId = decodedToken.customerId;\r\n }));\r\n }\r\n\r\n ngOnInit() {\r\n // this.contractsService.getCustomerMessages(this.customerId).subscribe((result => {\r\n // this.messages = result.map(el => {\r\n // el.typeText = CustomerMessageType[el.recipientContactId ? 1 : 0];\r\n // return el;\r\n // });\r\n // }));\r\n // this.contractsService.readMessages(this.customerId).subscribe((result => {\r\n // console.log(result)\r\n // }));\r\n }\r\n\r\n createNewMessage(){\r\n this.router.navigate(['/help']);\r\n }\r\n}\r\n\r\nfunction jwt_decode(token: string): JwtData {\r\n throw new Error(\"Function not implemented.\");\r\n}\r\n","
\r\n
\r\n drafts\r\n

Messages List

\r\n\r\n \r\n
\r\n\r\n \r\n\r\n \r\n
","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n } from '@angular/core';\r\n \r\n @Directive({\r\n selector: '[appDnd]'\r\n })\r\n export class DndDirective {\r\n private _dragInProgress: boolean;\r\n\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @HostBinding('class.dragging') get dragInProgress() {\r\n return this._dragInProgress;\r\n }\r\n @Output() fileDropped = new EventEmitter();\r\n \r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n this._dragInProgress = true;\r\n }\r\n \r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event'])\r\n @HostListener('dragend', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n this._dragInProgress = false;\r\n }\r\n \r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n this._dragInProgress = false;\r\n }\r\n }\r\n ","import { StringMap } from '@angular/compiler/src/compiler_facade_interface';\nimport { Component, OnInit } from '@angular/core';\nimport { AuthFacade } from '../auth';\nimport { subscribeOnce } from '../_helpers/rxjs.helper';\n// import { ContractsService, DocumentTemplateData } from '../_services/contracts.service';\n\n@Component({\n selector: 'app-document-templates',\n templateUrl: './document-templates.component.html',\n styleUrls: ['./document-templates.component.scss']\n})\nexport class DocumentTemplatesComponent implements OnInit {\n // documentTemplates: DocumentTemplateData[] = [];\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n constructor(\n // private contractsService: ContractsService\n ) {}\n\n ngOnInit() {\n // this.contractsService.getDocumentTemplates().subscribe((result) => {\n // this.documentTemplates = result;\n // });\n }\n\n downloadTemplate(){\n this.showProgressSpinner();\n // this.contractsService.downloadDocumentTemplate(documentTemplate).subscribe((result => {\n // var filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n // const downloadedFile = new Blob([result.body], { type: result.body.type });\n // const a = document.createElement('a');\n // a.setAttribute('style', 'display:none;');\n // document.body.appendChild(a);\n // a.href = URL.createObjectURL(downloadedFile);\n // a.download = filename;\n // a.target = '_blank';\n // this.hideProgressSpinner();\n // a.click();\n // document.body.removeChild(a);\n // }));\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}\n","\n\n
\n \n
\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { AdminService, FaqData } from '../_services/admin.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-faq-details',\n templateUrl: './faq-details.component.html',\n styleUrls: ['./faq-details.component.css']\n})\nexport class FaqDetailsComponent implements OnInit {\n @Input() id: string = '';\n faq: FaqData = null;\n buttonText = \"Faq-Details.create-button\";\n titleText = \"Faq-Details.create-title\";\n form!: FormGroup;\n isAdmin = false;\n \n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n disableSubmitButton = true;\n\n constructor(\n private route: ActivatedRoute,\n private adminService: AdminService,\n private formBuilder: FormBuilder, \n private toastr: ToastrService,\n private router: Router,\n private authFacade: AuthFacade\n ) {\n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true' || decodedToken.superAdmin.toLowerCase() == 'true';\n }));\n }\n\n ngOnInit() {\n this.id = this.route.snapshot.params.id;\n if(this.id != '0'){\n this.buttonText = 'Faq-Details.edit-button';\n if(this.isAdmin){\n this.titleText = 'Faq-Details.edit-title';\n }else{\n this.titleText = 'Faq-Details.edit-title-2';\n }\n \n this.adminService.getFaq(this.id).subscribe(result => {\n this.faq = result;\n this.refreshForm();\n }); \n }\n this.refreshForm();\n }\n\n private refreshForm(){\n this.form = this.formBuilder.group({ \n id: [(this.faq && this.faq.id) || undefined],\n question: [(this.faq && this.faq.question) || undefined, Validators.required],\n answer: [(this.faq && this.faq.answer) || undefined, Validators.required], \n isEnabled: [(this.faq && this.faq.isEnabled) || false],\n })\n }\n\n deleteFaq(){\n this.adminService.deleteFaq(this.id).subscribe((result => {\n if(result) {\n this.showToasterSuccess('FAQ deleted successfully.');\n this.router.navigate(['/faqs']);\n }\n else{\n this.showToasterError('Failed to delete FAQ.')\n }\n }));\n }\n onSubmit(){\n if(this.form.valid){\n //this.showProgressSpinner();\n this.adminService.editFaq({...this.form.value }).subscribe((result => {\n //this.hideProgressSpinner();\n if(result) {\n this.showToasterSuccess('FAQ created/edited successfully.');\n this.router.navigate(['/faqs']);\n }\n else{\n this.showToasterError('Failed to create/edit FAQ.')\n }\n }));\n }\n }\n\n //toast\n showToasterSuccess(message){\n this.toastr.success(message, 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n showToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","\n\n
\n
\n

{{ titleText | translate }}

\n {{ 'Faq-Details.back-button-title' | translate }}\n
\n \n
\n
\n \n {{ 'Faq-Details.form-question' | translate }}\n \n \n \n \n {{ 'Faq-Details.form-answer' | translate }}\n \n \n \n {{ 'Faq-Details.form-isenabled' | translate }}\n \n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { AdminService, FaqData } from '../_services/admin.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-faqs',\n templateUrl: './faqs.component.html',\n styleUrls: ['./faqs.component.css']\n})\nexport class FaqsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n faqs: FaqData[] = [];\n @Input() selectedFaq: any;\n isAdmin = false;\n\n showTable = false;\n\n faqsDisplayedColumns: string[] = ['description', 'question', 'answer', 'isEnabled', 'button'];\n faqsDataSource = new MatTableDataSource(this.faqs);\n\n constructor(\n private adminService: AdminService,\n private router: Router,\n private authFacade: AuthFacade\n ) {\n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true' || decodedToken.superAdmin.toLowerCase() == 'true';\n }));\n }\n\n ngOnInit() {\n if(this.isAdmin){\n this.adminService.getFaqs().subscribe((result) => {\n this.faqs = result;\n this.showTable = result.length > 0;\n this.faqsDataSource = new MatTableDataSource(this.faqs);\n this.faqsDataSource.paginator = this.paginator;\n });\n }\n else{\n this.adminService.getEnabledFaqs().subscribe((result) => {\n this.faqs = result;\n this.showTable = result.length > 0;\n this.faqsDataSource = new MatTableDataSource(this.faqs);\n this.faqsDataSource.paginator = this.paginator;\n });\n }\n \n }\n\n applySearch(searchValue: string) {\n searchValue = searchValue.trim(); \n searchValue = searchValue.toLowerCase(); \n this.faqsDataSource.filter = searchValue;\n }\n\n openFaqEdit(id: any){\n this.router.navigate(['/faqs', id]);\n }\n\n deleteFaq(id: any){\n this.adminService.deleteFaq(id).subscribe(result => {\n })\n }\n\n highlightRow(contract) {\n this.selectedFaq = contract.id;\n }\n\n removeHighlightedRow(){\n this.selectedFaq = null;\n }\n\n createNewFaq(){\n this.router.navigate(['/faqs', 0]);\n }\n}\n","\n
\n
\n question_answer\n

{{ 'Faqs.form-title' | translate }}

\n \n \n
\n\n
\n
\n \n
\n
\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n
question_answer {{ 'Faqs.table-question-column' | translate }} {{ element.question }} {{ 'Faqs.table-answer-column' | translate }} {{ element.answer }} {{ 'Faqs.table-isEnabled-column' | translate }} {{ (element.isEnabled ? 'General.Yes': 'General.No') | translate }}
\n\n \n \n\n
\n

{{ 'Faqs.no-faqs' | translate }}

\n
\n
\n\n\n\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from '../_services/authentication.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n form!: FormGroup;\r\n\r\n constructor(\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private toastr: ToastrService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.toastr.toastrConfig.preventDuplicates = true;\r\n this.toastr.toastrConfig.countDuplicates = true;\r\n this.form = this.formBuilder.group({ \r\n email: ['', Validators.required],\r\n })\r\n }\r\n\r\n onSubmit(){\r\n if(this.form.valid){\r\n this.authService.resetPassword(this.form.get('email').value).subscribe((result) =>\r\n {\r\n if(result == 20000){\r\n this.router.navigate(['./login'])\r\n }\r\n else if(result == 40002){\r\n this.showToasterError(this.translate.instant(\"Error.PasswordReset-count\"));\r\n }\r\n else{\r\n this.showToasterError(this.translate.instant(\"Error.PasswordReset-general\"));\r\n }\r\n });\r\n }\r\n }\r\n\r\n showToasterError(message: string){\r\n this.toastr.error(message, 'Error', {\r\n positionClass: 'toast-bottom-center',\r\n progressAnimation: 'decreasing',\r\n timeOut: 10000,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ 'Forgot-Password.title' | translate }}

\r\n

{{ 'Forgot-Password.subtitle' | translate }}

\r\n
\r\n \r\n {{ 'Forgot-Password.form-email' | translate }}\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { formatDate } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { CreateInvoiceComponent } from '../createinvoice/createinvoice.component';\nimport { AdminService } from '../_services/admin.service';\nimport { AgreementData, AgreementsService, AgreementStatus, CreditLimitAmounts, CreditLimitData, DEFAULT_CURRENCY, InvoiceData, InvoiceStatus, InvoiceStatusTranslation } from '../_services/agreements.service';\nimport { AppConfigService } from '../_services/appconfig.service';\n// import { ContractData, ContractsService, ContractStatus, CustomerInvoiceData, DEFAULT_CURRENCY } from '../_services/contracts.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent implements OnInit {\n @Input() agreementsCount = 0;\n @Input() documentTemplatesCount = 0;\n @Input() latestInvoiceAmount = 0;\n @Input() agreementsOverdueAmount = 0;\n\n agreements: AgreementData[] = [];\n invoices: InvoiceData[] = [];\n creditLimit: CreditLimitData = null;\n customerId = '';\n isAdmin = false;\n isSuperAdmin = false;\n agreementsPreview: AgreementData[] = [];\n invoicesPreview: InvoiceData[] = [];\n currencyCode = DEFAULT_CURRENCY;\n\n //tables headers\n agreementsDisplayedColumns: string[] = ['agreementno', 'contracteffecticedate', 'contractterm'];\n invoicesDisplayedColumns: string[] = ['invoiceid', 'invoicestatus', 'invoicedate', 'invoiceduedate', 'invoiceamount'];\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n showAd = false;\n banner: any;\n\n constructor(\n private agreementsService: AgreementsService, \n private authFacade: AuthFacade, \n private dialog: MatDialog,\n private router: Router,\n private adminService: AdminService,\n private sanitizer: DomSanitizer,\n private toastr: ToastrService\n ) {\n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.customerId = decodedToken.customerId;\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true';\n this.isSuperAdmin = decodedToken.superAdmin.toLowerCase() == 'true';\n }));\n \n }\n\n ngOnInit(): void {\n this.adminService.getEnabledMarketingBannerPicture().subscribe(result => {\n let filename = '';\n if(result.headers.get('content-disposition')){\n filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n filename = filename.split('\"')[1] === undefined ? filename : filename.split('\"')[1].trim();\n var objectURL = URL.createObjectURL(new Blob([result.body], { type: result.body.type }));\n this.banner = this.sanitizer.bypassSecurityTrustUrl(objectURL);\n this.showAd = filename != 'null.txt';\n }\n else{\n this.showAd = false;\n }\n });\n\n this.agreementsService.getAgreements().subscribe((result) => {\n this.agreements = result.map((el) =>{\n el.statusText = AgreementStatus[el.status].replace(/([A-Z])/g, ' $1').trim();\n el.validContractTerm = new Date(el.contractTerm) > new Date();\n return el;\n });\n this.agreementsCount = this.agreements.length;\n this.agreements.filter(x => x.status == AgreementStatus.Valid).forEach((agreement) => {\n this.agreementsOverdueAmount += agreement.overdueAmount;\n })\n });\n\n this.agreementsService.getInvoices().subscribe((result) => {\n this.invoices = result.map(el => {\n el.statusText = InvoiceStatus[el.status].replace(/([A-Z])/g, ' $1').trim();\n el.statusTranslation = InvoiceStatusTranslation[InvoiceStatus[el.status]];\n el.invoiceDate = this.getDate(el.invoiceDate);\n el.invoiceDueDate = this.getDate(el.invoiceDueDate);\n return el;\n });\n });\n\n this.agreementsService.getCreditLimit('contact', 'null').subscribe((result) => {\n if(result){\n this.creditLimit = result[0];\n if(this.creditLimit){\n this.agreementsService.getCreditLimitAmounts(this.creditLimit.id, 'contact').subscribe((result) => {\n this.creditLimit.utilisedAmount = result.utilisedCreditLimit;\n this.creditLimit.availableAmount = result.availableCreditLimit;\n });\n }\n }\n });\n\n }\n\n isMinimumDateTimeValue(eta: Date): Boolean {\n var isMin = new Date(eta).getTime() === new Date('0001-01-01T00:00:00').getTime()\n return isMin;\n }\n\n downloadCustomerStatement(){\n this.showProgressSpinner()\n this.agreementsService.downloadCustomerStatement().subscribe((result => {\n if(result.body['size'] > 0){\n var filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n const downloadedFile = new Blob([result.body], { type: result.body.type });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = URL.createObjectURL(downloadedFile);\n a.download = filename;\n a.target = '_blank';\n this.hideProgressSpinner();\n a.click();\n document.body.removeChild(a);\n }\n else{\n this.hideProgressSpinner();\n this.showToasterError();\n }\n }));\n }\n\n getDate(date: Date) : Date{\n return date.toString() == '0001-01-01T00:00:00' ? undefined : date;\n }\n\n \n openMarketingBannersConfiguration(){\n this.router.navigate(['/marketingbanners']);\n }\n\n openFaqsConfiguration(){\n this.router.navigate(['/faqs']);\n }\n\n openCreateAdmins(){\n this.router.navigate(['/admins']);\n }\n\n openLogs(){\n this.router.navigate(['/logs']);\n }\n\n redirectToUpload(){\n this.router.navigate(['/upload']);\n }\n\n createInvoice(agreementId){\n //this.creatingInvoice = true;\n const dialogRef = this.dialog.open(CreateInvoiceComponent, {\n restoreFocus: false,\n width: '60%',\n height: '80%',\n data: {agreementId: agreementId},\n });\n\n dialogRef.afterClosed().subscribe(() => {\n this.agreementsService.getInvoices().subscribe((result) => {\n this.invoices = result.map(el => {\n el.statusText = InvoiceStatus[el.status].replace(/([A-Z])/g, ' $1').trim();\n el.statusTranslation = InvoiceStatusTranslation[InvoiceStatus[el.status].replace(/([A-Z])/g, ' $1').trim()];\n el.invoiceDate = this.getDate(el.invoiceDate);\n el.invoiceDueDate = this.getDate(el.invoiceDueDate);\n return el;\n });\n });\n });\n }\n\n details(agreementId){\n this.router.navigate(['/agreements', agreementId]);\n }\n\n getInvoicesData(agreementId){\n let agreementInvoices;\n let count = 0;\n agreementInvoices = this.invoices.filter((invoice) =>{\n if(invoice.agreementId == agreementId && count < 10){\n count ++;\n return true;\n }\n else{\n return false;\n }\n });\n\n return agreementInvoices;\n }\n\n agreementHeaderClicked(agreement){\n agreement.expanded = !agreement.expanded;\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n\n //toast\n\n showToasterError(){\n this.toastr.error('Failed to download customer statement.', 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n}","\n\n
\n
\n
\n

{{ 'Homepage.marketingbanners-title' | translate }}

\n
\n\n
\n

{{ 'Homepage.faqs-title' | translate }}

\n
\n \n
\n

{{ 'Homepage.logs-title' | translate }}

\n
\n \n
\n

{{ 'Homepage.admins-title' | translate }}

\n
\n
\n
\n\n
\n
\n
\n

{{ 'Homepage.credit-limit-title' | translate }}

\n

{{ 'Homepage.credit-limit-available-loading' | translate }}

\n

{{ 'Homepage.credit-limit-utilised-loading' | translate }}

\n

{{ 'Homepage.credit-limit-available' | translate }} {{ creditLimit.availableAmount | customCurrency : currencyCode }}

\n

{{ 'Homepage.credit-limit-utilised' | translate }} {{ creditLimit.utilisedAmount | customCurrency : currencyCode }}

\n

{{ 'Homepage.credit-limit-subtitle' | translate }} {{ creditLimit.validFrom | date:'yyyy-MM-dd' }} - {{ creditLimit.validUntil | date:'yyyy-MM-dd' }}

\n
\n\n
\n

{{ 'Homepage.agreement-overdue-title' | translate }}

\n

{{ agreementsOverdueAmount | customCurrency : currencyCode}}

\n {{ 'Homepage.invoices-quicklink' | translate }}\n
\n
\n\n
\n
\n
\n expand_less\n expand_more\n

{{agreement.id}}

\n

{{ 'Agreements.table-contract-effective-date-column' | translate }} - {{agreement.contractEffectiveDate | date:'yyyy-MM-dd'}}

\n

{{ 'Agreements.table-contract-term-column' | translate }} - {{agreement.contractTerm | date:'yyyy-MM-dd'}}

\n
\n \n \n
\n
\n \n \n \n \n \n {{ 'Homepage.invoices-preview-table-invoice-id-column' | translate }} \n {{element.invoiceId}} \n \n\n \n {{ 'Homepage.invoices-preview-table-invoice-status-column' | translate }} \n {{element.statusTranslation | translate}} \n \n \n \n {{ 'Homepage.invoices-preview-table-invoice-date-column' | translate }} \n {{element.invoiceDate | date:'yyyy-MM-dd' }} \n \n \n \n {{ 'Homepage.invoices-preview-table-invoice-due-date-column' | translate }} \n {{element.invoiceDueDate | date:'yyyy-MM-dd' }} \n \n\n \n {{ 'Homepage.invoices-preview-table-invoice-amount-incl-VAT-column' | translate }} \n {{element.invoiceAmountInclVAT | customCurrency : currencyCode }} \n \n \n \n \n\n \n \n\n \n
\n
\n\n
\n \n
\n\n
\n \n \n \n
\n
\n\n\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { CreateInvoiceComponent } from '../createinvoice/createinvoice.component';\nimport { InvoiceData, DEFAULT_CURRENCY, AgreementsService, InvoiceStatus, InvoiceStatusTranslation } from '../_services/agreements.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-invoices',\n templateUrl: './invoices.component.html',\n styleUrls: ['./invoices.component.css']\n})\nexport class InvoicesComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @Input() selectedInvoice: any;\n\n invoices: InvoiceData[] = [];\n id = '';\n defaultSearch = '';\n currencyCode = DEFAULT_CURRENCY;\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n allSelected = true;\n newSelected = false;\n openSelected = false;\n archiveSelected = false;\n\n // invoicesDisplayedColumns: string[] = ['description', 'invoiceid', 'agreementid', 'status', 'invoicedate', 'invoiceduedate', 'invoiceamount', 'button'];\n invoicesDisplayedColumns: string[] = ['description', 'invoiceid', 'agreementid', 'status', 'invoicedate', 'invoiceduedate', 'invoiceamount'];\n invoicesDataSource: MatTableDataSource;\n\n constructor(\n private agreementsService: AgreementsService,\n private authFacade: AuthFacade, \n private toastr: ToastrService,\n private router: Router,\n private route: ActivatedRoute,\n private dialog: MatDialog\n ) { \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.id = decodedToken.customerId;\n }));\n }\n\n ngOnInit() {\n if(this.route.snapshot.params.id == 'overdue'){\n this.defaultSearch = this.route.snapshot.params.id ;\n } else if(this.route.snapshot.params.id){\n this.agreementsService.getAgreement(this.route.snapshot.params.id).subscribe((result) => {\n this.defaultSearch = result.id;\n });\n }\n\n this.agreementsService.getInvoices().subscribe((result) => {\n this.invoices = result.map(el => {\n el.statusText = InvoiceStatus[el.status];\n el.statusTranslation = InvoiceStatusTranslation[InvoiceStatus[el.status]];\n return el;\n });\n\n this.invoicesDataSource = new MatTableDataSource(this.invoices);\n this.invoicesDataSource.paginator = this.paginator;\n if(this.defaultSearch){\n this.applySearch(this.defaultSearch);\n }\n })\n }\n\n \n\n applySearch(searchValue: string) {\n searchValue = searchValue.trim(); \n searchValue = searchValue.toLowerCase(); \n this.invoicesDataSource.filter = searchValue;\n }\n\n downloadInvoice(id: any, type: any){\n // this.showProgressSpinner();\n // let invoiceType = type == 'Invoice' ? 0 : 1;\n // this.contractsService.downloadInvoice({ documentNo: id, type: invoiceType}).subscribe((result => {\n // if(result.headers.get('content-disposition')){\n // var filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n // const downloadedFile = new Blob([result.body], { type: result.body.type });\n // const a = document.createElement('a');\n // a.setAttribute('style', 'display:none;');\n // document.body.appendChild(a);\n // a.href = URL.createObjectURL(downloadedFile);\n // a.download = filename;\n // a.target = '_blank';\n // a.click();\n // document.body.removeChild(a);\n // }\n // else{\n // this.showToasterError();\n // }\n \n // this.hideProgressSpinner();\n // }));\n }\n\n createInvoice(){\n //this.creatingInvoice = true;\n const dialogRef = this.dialog.open(CreateInvoiceComponent, {\n restoreFocus: false,\n width: '60%',\n height: '80%',\n data: {agreementId: null},\n });\n\n dialogRef.afterClosed().subscribe(() => {\n this.agreementsService.getInvoices().subscribe((result) => {\n this.invoices = result.map(el => {\n el.statusText = InvoiceStatus[el.status];\n el.statusTranslation = InvoiceStatusTranslation[InvoiceStatus[el.status]];\n el.invoiceDate = this.getDate(el.invoiceDate);\n el.invoiceDueDate = this.getDate(el.invoiceDueDate);\n return el;\n });\n \n this.invoicesDataSource = new MatTableDataSource(this.invoices);\n this.invoicesDataSource.paginator = this.paginator;\n if(this.defaultSearch){\n this.applySearch(this.defaultSearch);\n }\n })\n });\n }\n\n highlightRow(invoice) {\n this.selectedInvoice = invoice.invoiceId;\n }\n\n removeHighlightedRow(){\n this.selectedInvoice = null;\n }\n\n filterNew(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.New || x.status == InvoiceStatus.NotificationSent);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.invoicesDataSource.paginator = this.paginator;\n this.changeSelected('new');\n this.applySearch(this.defaultSearch);\n }\n\n filterOpen(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.Accepted || x.status == InvoiceStatus.Disbursed || x.status == InvoiceStatus.Overdue);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.invoicesDataSource.paginator = this.paginator;\n this.changeSelected('open');\n this.applySearch(this.defaultSearch);\n }\n\n filterArchive(){\n let newInvoices = this.invoices.filter(x => x.status == InvoiceStatus.Closed || x.status == InvoiceStatus.Rejected);\n this.invoicesDataSource = new MatTableDataSource(newInvoices);\n this.invoicesDataSource.paginator = this.paginator;\n this.changeSelected('archive');\n this.applySearch(this.defaultSearch);\n }\n\n filterAll(){\n this.invoicesDataSource = new MatTableDataSource(this.invoices);\n this.invoicesDataSource.paginator = this.paginator;\n this.changeSelected('all');\n this.applySearch(this.defaultSearch);\n }\n\n changeSelected(type: string){\n this.allSelected = false;\n this.newSelected = false;\n this.openSelected = false;\n this.archiveSelected = false;\n\n if(type == 'all')\n this.allSelected = true;\n if(type == 'new')\n this.newSelected = true;\n if(type == 'open')\n this.openSelected = true;\n if(type == 'archive')\n this.archiveSelected = true;\n }\n\n getDate(date: Date) : Date{\n return date.toString() == '0001-01-01T00:00:00' ? undefined : date;\n }\n \n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n\n //toast\n\n showToasterError(){\n this.toastr.error('Failed to download invoice.', 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n}","\n\n
\n
\n \n
\n \n\n
\n \n \n \n \n
\n
\n\n \n \n \n\n \n \n \n description \n \n \n \n {{ 'Invoices.table-invoice-id-column' | translate }} \n {{element.invoiceId}} \n \n\n \n {{ 'Invoices.table-agreement-id-column' | translate }} \n {{element.agreementId}} \n \n\n \n {{ 'Invoices.table-status-column' | translate }} \n {{element.statusTranslation | translate }} \n \n \n \n {{ 'Invoices.table-invoice-date-column' | translate }} \n {{element.invoiceDate | date:'yyyy-MM-dd' }} \n \n \n \n {{ 'Invoices.table-invoice-due-date-column' | translate }} \n {{element.invoiceDueDate | date:'yyyy-MM-dd' }} \n \n\n \n {{ 'Invoices.table-invoice-amount-incl-VAT-column' | translate }} \n {{element.invoiceAmountInclVAT | customCurrency : currencyCode }} \n \n \n \n \n \n\n\n\n\n\n\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthFacade } from 'src/app/auth';\nimport { InitialsOverlayComponent } from '../initials-overlay/initials-overlay.component';\nimport * as signalR from '@microsoft/signalr';\nimport { environment } from 'src/environments/environment';\n// import { ContractsService, MessageData } from 'src/app/_services/contracts.service';\nimport { BehaviorSubject } from 'rxjs';\nimport { AppConfigService } from 'src/app/_services/appconfig.service';\nimport { JwtData } from 'src/app/auth/state/auth.reducer';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n jwtData = null;\n overlayRef: OverlayRef;\n id = '';\n name = '';\n hideBadge = new BehaviorSubject(true);\n isAdmin = false;\n\n languages = [\n { value: 'en', label: 'English', img: './assets/images/en.flag.svg' }, \n { value: 'lt', label: 'Lietuvių', img: './assets/images/lt.flag.svg'}\n ];\n\n language = this.languages[0];\n\n constructor(private authFacade: AuthFacade,\n // private contractsService: ContractsService, \n private initialsOverlay: Overlay, \n private router: Router, \n private translate: TranslateService,\n public changeDetector: ChangeDetectorRef,\n private appSettings: AppConfigService \n ){ \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.id = decodedToken.customerId;\n this.name = decodedToken.name;\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true' || decodedToken.superAdmin.toLowerCase() == 'true';\n }));\n }\n\n ngOnInit(): void {\n\n let currLanguage = localStorage.getItem(\"language\");\n if(currLanguage){\n currLanguage = currLanguage.substring(1, currLanguage.length -1);\n this.translate.use(currLanguage);\n this.language = this.languages.find( lang => lang.value === currLanguage);\n }\n }\n\n selectLanguage(value: string) {\n this.language = this.languages.find( lang => lang.value === value);\n localStorage.setItem(\"language\", JSON.stringify(this.language.value));\n this.translate.use(this.language.value);\n }\n\n getInitials(name: string) {\n var names = name.split(' '),\n initials = names[0].substring(0, 1).toUpperCase();\n \n if (names.length > 1) {\n initials += names[names.length - 1].substring(0, 1).toUpperCase();\n }\n\n return initials;\n };\n\n displayOverlay() {\n const target = document.querySelector(\"#btn\") as HTMLElement;\n const overlayRef = this.initialsOverlay.create({\n hasBackdrop: true,\n backdropClass: \"cdk-overlay-transparent-backdrop\",\n panelClass: \"mat-elevation-z8\",\n positionStrategy: this.initialsOverlay\n .position()\n .flexibleConnectedTo(target)\n .withPositions([\n {\n originX: \"start\",\n originY: \"bottom\",\n overlayX: \"start\",\n overlayY: \"top\"\n }\n ])\n });\n const component = new ComponentPortal(InitialsOverlayComponent);\n const componentRef = overlayRef.attach(component);\n componentRef.instance.close.subscribe(() => overlayRef.detach());\n overlayRef.backdropClick().subscribe(() => overlayRef.detach());\n }\n\n openHome(){\n this.router.navigate(['/home']);\n }\n}","
\n
\n \n
\n\n
\n
\n \n \n \n
\n \n {{ language.label }}\n
\n
\n \n
\n \n {{ opt.label }}\n
\n
\n
\n
\n \n
\n\n \n\n
\n \n
\n

{{ getInitials(name)}}

\n
\n
\n \n
\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthFacade } from 'src/app/auth';\r\nimport { JwtData } from 'src/app/auth/state/auth.reducer';\r\nimport { subscribeOnce } from 'src/app/_helpers/rxjs.helper';\r\n// import { ContractsService } from 'src/app/_services/contracts.service';\r\nimport jwt_decode from \"jwt-decode\";\r\n\r\n@Component({\r\n selector: 'app-initials-overlay',\r\n templateUrl: './initials-overlay.component.html',\r\n styleUrls: ['./initials-overlay.component.scss']\r\n })\r\nexport class InitialsOverlayComponent implements OnInit {\r\n @Output() close = new EventEmitter();\r\n\r\n email = '';\r\n customerName = '';\r\n customerId = '';\r\n isAdmin = false;\r\n isSuperAdmin = false;\r\n\r\n constructor(\r\n private authFacade: AuthFacade, \r\n private router: Router, \r\n // private contractsService: ContractsService\r\n ) { \r\n this.authFacade.token$.subscribe((token => {\r\n let decodedToken: JwtData = jwt_decode(token)\r\n this.customerId = decodedToken.customerId;\r\n this.email = decodedToken.email;\r\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true' || decodedToken.superAdmin.toLowerCase() == 'true';\r\n this.isSuperAdmin = decodedToken.superAdmin.toLowerCase() == 'true';\r\n }));\r\n }\r\n\r\n ngOnInit() {\r\n // this.contractsService.getCustomerName(this.customerId).subscribe((result: string) => {\r\n // this.customerName = result;\r\n // });\r\n }\r\n\r\n logout(){\r\n this.authFacade.resetToken();\r\n this.close.emit();\r\n this.router.navigate(['/login'])\r\n }\r\n\r\n}","
\r\n

{{ email }}

\r\n

{{ customerName }}

\r\n

{{ 'General.Admin' | translate }}

\r\n

{{ 'General.SuperAdmin' | translate }}

\r\n \r\n
","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { InitialsOverlayComponent } from './initials-overlay/initials-overlay.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FlexLayoutModule,\r\n RouterModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatDividerModule,\r\n OverlayModule,\r\n TranslateModule,\r\n MatSelectModule,\r\n MatBadgeModule\r\n ],\r\n exports: [\r\n HeaderComponent,\r\n SidebarComponent,\r\n InitialsOverlayComponent\r\n ],\r\n declarations: [\r\n HeaderComponent,\r\n SidebarComponent,\r\n InitialsOverlayComponent\r\n ]\r\n})\r\nexport class LayoutModule { }\r\n","import { Component, ElementRef, HostListener, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthFacade } from 'src/app/auth';\nimport { JwtData } from 'src/app/auth/state/auth.reducer';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-sidebar',\n templateUrl: './sidebar.component.html',\n styleUrls: ['./sidebar.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SidebarComponent {\n jwtData = null;\n id = '';\n isAdmin = false;\n isSuperAdmin = false;\n\n constructor(\n private elementRef: ElementRef,\n private router: Router,\n private authFacade: AuthFacade,\n ){ \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.id = decodedToken.customerId;\n this.isAdmin = decodedToken.admin.toLowerCase() == 'true';\n this.isSuperAdmin = decodedToken.superAdmin.toLowerCase() == 'true';\n }));\n }\n\n @Input('hover-class') hoverClass:any;\n\n @HostListener('mouseenter') onMouseEnter() {\n this.elementRef.nativeElement.classList.add(this.hoverClass);\n }\n\n @HostListener('mouseleave') onMouseLeave() {\n this.elementRef.nativeElement.classList.remove(this.hoverClass);\n }\n\n openAgreements(){\n this.router.navigate(['/agreements']);\n }\n openInvoices(){\n this.router.navigate(['/invoices']);\n }\n openUploadDocuments(){\n this.router.navigate(['/upload']);\n }\n openHome(){\n this.router.navigate(['/home']);\n }\n openMarketingBannersConfiguration(){\n this.router.navigate(['/marketingbanners']);\n }\n openFaqsConfiguration(){\n this.router.navigate(['/faqs']);\n }\n openCreateAdmins(){\n this.router.navigate(['/admins']);\n }\n openLogs(){\n this.router.navigate(['/logs']);\n }\n openFaqs(){\n this.router.navigate(['/faqs']);\n }\n}","
\n \n \n \n \n \n \n\n \n \n \n \n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthService } from '../_services/authentication.service';\nimport { AuthFacade } from '../auth/state';\nimport { subscribeOnce } from '../_helpers/rxjs.helper';\nimport { ToastrService } from 'ngx-toastr';\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class LoginComponent implements OnInit {\n form!: FormGroup;\n formCsa!: FormGroup;\n\n superAdminExists = true;\n\n constructor(\n private router: Router,\n private formBuilder: FormBuilder,\n private authFacade: AuthFacade,\n private toastr: ToastrService,\n private authService: AuthService\n ) { }\n\n ngOnInit(): void {\n this.authService.getUserCount().subscribe(result => {\n this.superAdminExists = result > 0;\n });\n\n this.toastr.toastrConfig.preventDuplicates = true;\n this.toastr.toastrConfig.countDuplicates = true;\n this.authFacade.resetToken();\n this.form = this.formBuilder.group({ \n email: ['', Validators.compose([Validators.email, Validators.required])],\n password: ['', Validators.required]\n });\n\n this.formCsa = this.formBuilder.group({ \n email: ['', Validators.compose([Validators.email, Validators.required])],\n name: ['', Validators.required]\n });\n }\n\n onSubmit(){\n if(this.form.valid){\n this.authFacade.signIn(this.form.value).subscribe({ \n next: (result) => {\n if(result){\n this.router.navigate(['/home'])\n }\n else{\n this.showToasterError();\n }\n },\n error: (e) => {\n this.showToasterError();\n }\n });\n }\n }\n\n onSubmitCsa(){\n if(this.formCsa.valid){\n this.authService.createSuperAdmin(this.formCsa.value).subscribe((result) =>\n {\n if(result){\n this.router.navigate(['/login'])\n }\n else{\n this.showToasterError();\n }\n });\n }\n }\n\n showToasterError(){\n this.toastr.error('Failed to sign in. Check if you entered credentials correctly.', 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n}\n","
\n
\n \n
\n
\n
\n

{{ 'Login.title' | translate }}

\n

{{ 'Login.subtitle' | translate }}

\n
\n \n {{ 'Login.form-email' | translate }}\n \n \n \n \n {{ 'Login.form-password' | translate }}\n \n \n\n
\n {{ 'Login.form-forgot-password' | translate }} \n \n
\n
\n
\n\n
\n

{{ 'Login.csa-title' | translate }}

\n

{{ 'Login.subtitle' | translate }}

\n
\n \n {{ 'Login.form-email' | translate }}\n \n \n \n \n {{ 'Login.csa-form-name' | translate }}\n \n \n\n
\n \n
\n
\n
\n
\n
\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { ActivityStatus, ActivityType, AdminService, LogData } from '../_services/admin.service';\n\n@Component({\n selector: 'app-logs',\n templateUrl: './logs.component.html',\n styleUrls: ['./logs.component.css']\n})\nexport class LogsComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n logs: LogData[] = [];\n showTable = false;\n\n logsDisplayedColumns: string[] = ['description', 'content', 'activityType', 'activityStatus', 'activityDate'];\n logsDataSource = new MatTableDataSource(this.logs);\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n constructor(\n private adminService: AdminService,\n ) {\n }\n\n ngOnInit() {\n this.adminService.getLogs().subscribe((result) => {\n this.logs = result.map(el => {;\n el.activityTypeText = ActivityType[el.activityType];\n el.activityStatusText = ActivityStatus[el.activityStatus];\n return el;\n });\n \n \n this.showTable = result.length > 0;\n this.logsDataSource = new MatTableDataSource(this.logs);\n this.logsDataSource.paginator = this.paginator;\n });\n }\n\n exportLogs(){\n this.showProgressSpinner()\n this.adminService.exportLogs().subscribe((result => {\n var filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n const downloadedFile = new Blob([result.body], { type: result.body.type });\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = URL.createObjectURL(downloadedFile);\n a.download = filename;\n a.target = '_blank';\n this.hideProgressSpinner();\n a.click();\n document.body.removeChild(a);\n }));\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n \n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","\n
\n
\n history\n

{{ 'Logs.form-title' | translate }}

\n\n \n
\n\n \n \n \n \n \n\n \n \n \n \n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
history {{ 'Logs.table-content-column' | translate }} {{ element.content }} {{ 'Logs.table-type-column' | translate }} {{ element.activityTypeText }} {{ 'Logs.table-status-column' | translate }} {{ element.activityStatusText }} {{ 'Logs.table-date-column' | translate }} {{ element.activityDateTime | date:'yyyy-MM-dd' }}
\n\n \n \n\n
\n

{{ 'Logs.no-logs' | translate }}

\n
\n
\n\n\n\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ToastrService } from 'ngx-toastr';\nimport { AdminService, FaqData, MarketingBannerData } from '../_services/admin.service';\n\n@Component({\n selector: 'app-marketing-banner-details',\n templateUrl: './marketing-banner-details.component.html',\n styleUrls: ['./marketing-banner-details.component.css']\n})\nexport class MarketingBannerDetailsComponent implements OnInit {\n @Input() id: string = '';\n \n marketingBanner: MarketingBannerData = null;\n buttonText = \"Marketing-Banner-Details.create-button\";\n titleText = \"Marketing-Banner-Details.create-title\";\n form!: FormGroup;\n\n //file upload\n @ViewChild('UploadFileInput') uploadFileInput: ElementRef;\n myfilename = 'Select File';\n mbPreview: any;\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n disableSubmitButton = true;\n\n constructor(\n private route: ActivatedRoute,\n private adminService: AdminService,\n private formBuilder: FormBuilder, \n private toastr: ToastrService,\n private router: Router,\n private sanitizer: DomSanitizer\n ) { \n }\n\n ngOnInit() {\n this.id = this.route.snapshot.params.id;\n if(this.id != '0'){\n this.buttonText = 'Marketing-Banner-Details.edit-button';\n this.titleText = 'Marketing-Banner-Details.edit-title';\n this.adminService.getMarketingBanner(this.id).subscribe(result => {\n this.marketingBanner = result;\n this.adminService.getMarketingBannerPicture(this.id).subscribe(result => {\n let filename = '';\n if(result.headers.get('content-disposition')){\n filename = result.headers.get('content-disposition').split(';')[1].split('filename')[1].split('=')[1].trim();\n filename = filename.split('\"')[1] === undefined ? filename : filename.split('\"')[1].trim();\n var objectURL = URL.createObjectURL(new Blob([result.body], { type: result.body.type }));\n this.mbPreview = this.sanitizer.bypassSecurityTrustUrl(objectURL);\n }\n this.refreshForm(filename);\n });\n }); \n }\n this.refreshForm('');\n }\n\n private refreshForm(filename: string){\n this.form = this.formBuilder.group({ \n id: [(this.marketingBanner && this.marketingBanner.id) || undefined],\n title: [(this.marketingBanner && this.marketingBanner.title) || undefined, Validators.required],\n fileContent: [undefined], \n isEnabled: [(this.marketingBanner && this.marketingBanner.isEnabled) || false],\n myfilename:[filename]\n })\n }\n\n deleteMarketingBanner(){\n this.adminService.deleteMarketingBanner(this.id).subscribe((result => {\n if(result) {\n this.showToasterSuccess('Marketing banner deleted successfully.');\n this.router.navigate(['/marketingbanners']);\n }\n else{\n this.showToasterError('Failed to delete Marketing banner.')\n }\n }));\n }\n onSubmit(){\n if(this.form.valid){\n const formData = new FormData();\n formData.append('Id', this.form.controls['id'].value != null ? this.form.controls['id'].value : '');\n formData.append('Title', this.form.controls['title'].value);\n formData.append('IsEnabled', this.form.controls['isEnabled'].value);\n formData.append('FileContent', this.form.controls['fileContent'].value);\n formData.append('FileName', this.form.controls['myfilename'].value);\n\n this.adminService.editMarketingBanner(formData).subscribe((result => {\n //this.hideProgressSpinner();\n if(result) {\n this.showToasterSuccess('Marketing banner created/edited successfully.');\n this.router.navigate(['/marketingbanners']);\n }\n else{\n this.showToasterError('Failed to create/edit marketing banner.')\n }\n }));\n }\n }\n\n fileChangeEvent(fileInput: any) {\n if (fileInput.target.files && fileInput.target.files[0]) {\n this.form.controls['fileContent'].setValue(null);\n this.form.controls['myfilename'].setValue('');\n this.mbPreview = null;\n\n Array.from(fileInput.target.files).forEach((file: File) => {\n this.form.controls['fileContent'].setValue(file);\n this.form.controls['myfilename'].setValue(file.name);\n });\n\n const reader = new FileReader();\n reader.onload = (e: any) => {\n const image = new Image();\n image.src = e.target.result;\n this.mbPreview = image.src;\n image.onload = rs => {\n\n // Return Base64 Data URL\n const imgBase64Path = e.target.result;\n\n };\n };\n reader.readAsDataURL(fileInput.target.files[0]);\n\n // Reset File Input to Selct Same file again\n this.uploadFileInput.nativeElement.value = \"\";\n } else {\n this.form.controls['myfilename'].setValue('Select File');\n }\n }\n\n //toast\n showToasterSuccess(message){\n this.toastr.success(message, 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n showToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n }\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","\n\n
\n \n \n
\n
\n \n {{ 'Marketing-Banner-Details.form-title' | translate }}\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n\n {{ 'Marketing-Banner-Details.form-isenabled' | translate }}\n \n
\n \n \n
\n
\n
\n
\n\n\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Router } from '@angular/router';\nimport { AuthFacade } from '../auth';\nimport { AdminService, FaqData, MarketingBannerData } from '../_services/admin.service';\n\n@Component({\n selector: 'app-marketing-banners',\n templateUrl: './marketing-banners.component.html',\n styleUrls: ['./marketing-banners.component.css']\n})\nexport class MarketingBannersComponent implements OnInit {\n @ViewChild(MatPaginator) paginator: MatPaginator;\n marketingBanners: MarketingBannerData[] = [];\n @Input() selectedMarketingBanner: any;\n id = '';\n showTable = false;\n\n marketingBannersDisplayedColumns: string[] = ['description', 'title', 'isEnabled', 'button'];\n marketingBannersDataSource = new MatTableDataSource(this.marketingBanners);\n\n constructor(\n private adminService: AdminService,\n private router: Router\n ) {\n }\n\n ngOnInit() {\n this.adminService.getMarketingBanners().subscribe((result) => {\n this.marketingBanners = result;\n this.showTable = result.length > 0;\n this.marketingBannersDataSource = new MatTableDataSource(this.marketingBanners);\n this.marketingBannersDataSource.paginator = this.paginator;\n });\n }\n\n openMarketingBannerEdit(id: any){\n this.router.navigate(['/marketingbanners', id]);\n }\n\n highlightRow(mb) {\n this.selectedMarketingBanner = mb.id;\n }\n\n removeHighlightedRow(){\n this.selectedMarketingBanner = null;\n }\n\n createNewMarketingBanner(){\n this.router.navigate(['/marketingbanners', 0]);\n }\n}","\n
\n
\n photo_library\n

{{ 'Marketing-banners.form-title' | translate }}

\n \n \n
\n\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n
insert_photo {{ 'Marketing-banners.table-title-column' | translate }} {{ element.title }} {{ 'Marketing-banners.table-isEnabled-column' | translate }} {{ (element.isEnabled ? 'General.Yes': 'General.No') | translate }}
\n\n\n\n\n
\n

{{ 'Marketing-banners.no-mbs' | translate }}

\n
\n\n
\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nimport { OverlayService } from './overlay.service';\r\nexport { OverlayService } from './overlay.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n OverlayModule\r\n ],\r\n providers: [OverlayService],\r\n})\r\nexport class AppOverlayModule { }","import { Injectable, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Overlay, OverlayConfig, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\r\nimport { TemplatePortal } from '@angular/cdk/portal';\r\n\r\n@Injectable()\r\n\r\nexport class OverlayService {\r\n constructor(\r\n private overlay: Overlay\r\n ) { }\r\n createOverlay(config: OverlayConfig): OverlayRef {\r\n return this.overlay.create(config);\r\n }\r\n attachTemplatePortal(overlayRef: OverlayRef, templateRef: TemplateRef, vcRef: ViewContainerRef) {\r\n let templatePortal = new TemplatePortal(templateRef, vcRef);\r\n overlayRef.attach(templatePortal);\r\n }\r\n positionGloballyCenter(): PositionStrategy {\r\n return this.overlay.position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n }\r\n}\r\n\r\n// export interface AppOverlayConfig extends OverlayConfig { }\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomValidators } from '../custom-validators';\r\nimport { AuthService, SetPasswordData } from '../_services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-password-reset',\r\n templateUrl: './password-reset.component.html',\r\n styleUrls: ['./password-reset.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PasswordResetComponent implements OnInit {\r\n form!: FormGroup;\r\n code = \"\";\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.toastr.toastrConfig.preventDuplicates = true;\r\n this.toastr.toastrConfig.countDuplicates = true;\r\n let email = this.route.snapshot.params.email;\r\n this.code = this.route.snapshot.params.code;\r\n\r\n this.form = this.formBuilder.group({ \r\n email: [email, Validators.required],\r\n password: ['', Validators.compose([\r\n CustomValidators.patternValidator(/\\d/, { hasNumber: true }),\r\n CustomValidators.patternValidator(/[A-Z]/, { hasCapitalCase: true }),\r\n CustomValidators.patternValidator(/[a-z]/, { hasSmallCase: true }),\r\n CustomValidators.patternValidator(/[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/, { hasSpecialCharacters: true }),\r\n Validators.minLength(6),\r\n Validators.required\r\n ])],\r\n confirmPassword: ['', Validators.compose([\r\n Validators.required,\r\n CustomValidators.passwordMatchValidator('password')\r\n ])]\r\n }, { validators: this.checkPasswords })\r\n }\r\n\r\n \r\n\r\n onSubmit(){\r\n if(this.form.valid){\r\n const data = this.form.value as SetPasswordData;\r\n data.code = this.code;\r\n this.authService.setPassword(data).subscribe((result => {\r\n if(result){\r\n this.router.navigate(['/login']);\r\n }\r\n else{\r\n this.showToasterError();\r\n }\r\n }));\r\n }\r\n }\r\n \r\n checkPasswords: ValidatorFn = (group: AbstractControl): ValidationErrors | null => { \r\n let pass = group.get('password').value;\r\n let confirmPass = group.get('confirmPassword').value\r\n return pass === confirmPass ? null : { notSame: true }\r\n }\r\n\r\n showToasterError(){\r\n this.toastr.error('Failed to sign up. Check if you entered credentials correctly.', 'Error', {\r\n positionClass: 'toast-bottom-center',\r\n progressAnimation: 'decreasing',\r\n timeOut: 5000,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ 'Password-Reset.title' | translate }}

\r\n
\r\n \r\n {{ 'Password-Reset.form-email' | translate }}\r\n \r\n \r\n \r\n \r\n {{ 'Password-Reset.form-password' | translate }}\r\n \r\n {{ 'Password-Reset.form-password-error' | translate }}\r\n \r\n\r\n \r\n {{ 'Password-Reset.form-confirm-password' | translate }}\r\n \r\n {{ 'Password-Reset.form-confirmpassword-error' | translate }} \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild, TemplateRef, ViewContainerRef, DoCheck } from '@angular/core';\r\nimport { OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\r\n\r\nimport { OverlayService } from '../overlay/overlay.module';\r\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'app-progress-spinner',\r\n templateUrl: './progress-spinner.component.html',\r\n styleUrls: ['./progress-spinner.component.css']\r\n})\r\nexport class ProgressSpinnerComponent {\r\n @Input() color?: ThemePalette;\r\n @Input() diameter?: number = 100;\r\n @Input() mode?: ProgressSpinnerMode;\r\n @Input() strokeWidth?: number;\r\n @Input() value?: number;\r\n @Input() backdropEnabled = true;\r\n @Input() positionGloballyCenter = true;\r\n @Input() displayProgressSpinner: boolean;\r\n\r\n @ViewChild('progressSpinnerRef')\r\n private progressSpinnerRef: TemplateRef;\r\n private progressSpinnerOverlayConfig: OverlayConfig;\r\n private overlayRef: OverlayRef;\r\n constructor(private vcRef: ViewContainerRef, private overlayService: OverlayService) { }\r\n ngOnInit() {\r\n // Config for Overlay Service\r\n this.progressSpinnerOverlayConfig = {\r\n hasBackdrop: this.backdropEnabled\r\n };\r\n if (this.positionGloballyCenter) {\r\n this.progressSpinnerOverlayConfig['positionStrategy'] = this.overlayService.positionGloballyCenter();\r\n }\r\n // Create Overlay for progress spinner\r\n this.overlayRef = this.overlayService.createOverlay(this.progressSpinnerOverlayConfig);\r\n }\r\n ngDoCheck() {\r\n // Based on status of displayProgressSpinner attach/detach overlay to progress spinner template\r\n if (this.displayProgressSpinner && !this.overlayRef.hasAttached()) {\r\n this.overlayService.attachTemplatePortal(this.overlayRef, this.progressSpinnerRef, this.vcRef);\r\n } else if (!this.displayProgressSpinner && this.overlayRef.hasAttached()) {\r\n this.overlayRef.detach();\r\n }\r\n }\r\n}","\r\n\t\r\n\t\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CustomValidators } from '../custom-validators';\r\nimport { AuthService, SetPasswordData } from '../_services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-sign-up',\r\n templateUrl: './sign-up.component.html',\r\n styleUrls: ['./sign-up.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignUpComponent implements OnInit {\r\n form!: FormGroup;\r\n code = \"\";\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.toastr.toastrConfig.preventDuplicates = true;\r\n this.toastr.toastrConfig.countDuplicates = true;\r\n let email = this.route.snapshot.params.email;\r\n this.code = this.route.snapshot.params.code;\r\n\r\n this.form = this.formBuilder.group({ \r\n email: [email, Validators.required],\r\n password: ['', Validators.compose([\r\n CustomValidators.patternValidator(/\\d/, { hasNumber: true }),\r\n CustomValidators.patternValidator(/[A-Z]/, { hasCapitalCase: true }),\r\n CustomValidators.patternValidator(/[a-z]/, { hasSmallCase: true }),\r\n CustomValidators.patternValidator(/[ !@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]/, { hasSpecialCharacters: true }),\r\n Validators.minLength(6),\r\n Validators.required\r\n ])],\r\n confirmPassword: ['', Validators.compose([\r\n Validators.required,\r\n CustomValidators.passwordMatchValidator('password')\r\n ])]\r\n }, { validators: this.checkPasswords })\r\n }\r\n\r\n \r\n\r\n onSubmit(){\r\n if(this.form.valid){\r\n const data = this.form.value as SetPasswordData;\r\n data.code = this.code;\r\n this.authService.setPassword(data).subscribe((result => {\r\n if(result){\r\n this.router.navigate(['/login']);\r\n }\r\n else{\r\n this.showToasterError();\r\n }\r\n }));\r\n }\r\n }\r\n \r\n checkPasswords: ValidatorFn = (group: AbstractControl): ValidationErrors | null => { \r\n let pass = group.get('password').value;\r\n let confirmPass = group.get('confirmPassword').value\r\n return pass === confirmPass ? null : { notSame: true }\r\n }\r\n\r\n showToasterError(){\r\n this.toastr.error('Failed to sign up. Check if you entered credentials correctly.', 'Error', {\r\n positionClass: 'toast-bottom-center',\r\n progressAnimation: 'decreasing',\r\n timeOut: 5000,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{ 'Sign-Up.title' | translate }}

\r\n

{{ 'Sign-Up.subtitle' | translate }}

\r\n
\r\n \r\n {{ 'Sign-Up.form-email' | translate }}\r\n \r\n \r\n \r\n \r\n {{ 'Sign-Up.form-password' | translate }}\r\n \r\n {{ 'Sign-Up.form-password-error' | translate }}\r\n \r\n\r\n \r\n {{ 'Sign-Up.form-confirm-password' | translate }}\r\n \r\n {{ 'Sign-Up.form-confirmpassword-error' | translate }} \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ToastrService } from 'ngx-toastr';\nimport { AgreementsService } from '../_services/agreements.service';\n\nexport interface UploadDocumentsDialogData{\n agreementId: string;\n}\n\n@Component({\n selector: 'app-upload-documents-dialog',\n templateUrl: './upload-documents-dialog.component.html',\n styleUrls: ['./upload-documents-dialog.component.scss']\n})\nexport class UploadDocumentsDialog implements OnInit {\n @Input() selectedFile: any;\n @Input() selectedValue: string;\n\n agreementIds: string[] = [];\n agreementId = \"\";\n files: any[] = [];\n id = '';\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: UploadDocumentsDialogData,\n private agreementsService: AgreementsService, \n private toastr: ToastrService\n ) { \n }\n\n ngOnInit() {\n }\n\n onFileDropped(file) {\n this.prepareFilesList(file);\n }\n\n fileBrowseHandler(file) {\n this.prepareFilesList(file);\n }\n\n deleteFile(index: number) {\n this.files.splice(index, 1);\n }\n\n prepareFilesList(files: Array) {\n for (const item of files) {\n this.files.push(item);\n }\n\n }\n\n formatBytes(bytes) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = 0;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n\n highlightRow(file) {\n this.selectedFile = file.name;\n }\n\n removeHighlightedRow(){\n this.selectedFile = null;\n }\n\n uploadDocuments(){\n this.showProgressSpinner();\n const formData = new FormData();\n\n for (const file of this.files) {\n formData.append(file.name, file);\n }\n\n let agreementId = this.data.agreementId ? this.data.agreementId : \"\";\n\n this.agreementsService.uploadDocument(formData, agreementId, null).subscribe(result => {\n this.hideProgressSpinner();\n\n if(result == 20000){\n this.showToasterSuccess();\n this.files = [];\n this.selectedValue = \"\";\n this.dialogRef.close();\n }\n else if(result == 40002){\n this.showToasterError('Failed to upload files. Cannot upload this type of files.');\n this.dialogRef.close();\n }\n else{\n this.showToasterError('Failed to upload files.');\n this.dialogRef.close();\n }\n });\n\n }\n\n //toast\n showToasterSuccess(){\n this.toastr.success('Files uploaded successfully.', 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n}\n\nshowToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n}\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","
\n

{{ 'Upload.title' | translate }}

\n
\n
\n
\n \n cloud_upload\n \n
\n attach_file\n

{{ 'Upload.add-file-title' | translate }}

\n

{{ 'Upload.add-file-subtitle' | translate }}

\n
\n
\n\n\n
\n
\n
\n

{{ file?.name }}

\n

{{ formatBytes(file?.size) }}

\n
\n close\n
\n
\n
\n
\n \n
\n \n\n
\n \n
\n
\n
\n
\n
\n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\nimport { AuthFacade } from '../auth';\nimport { JwtData } from '../auth/state/auth.reducer';\nimport { AgreementsService } from '../_services/agreements.service';\n// import { ContractsService } from '../_services/contracts.service';\nimport jwt_decode from \"jwt-decode\";\n\n@Component({\n selector: 'app-upload-documents',\n templateUrl: './upload-documents.component.html',\n styleUrls: ['./upload-documents.component.scss']\n})\nexport class UploadDocumentsComponent implements OnInit {\n @Input() selectedFile: any;\n @Input() selectedValue: string;\n\n agreementIds: string[] = [];\n files: any[] = [];\n id = '';\n\n //spinner properties\n color = 'primary';\n mode = 'indeterminate';\n value = 50;\n displayProgressSpinner = false;\n spinnerWithoutBackdrop = false;\n\n constructor(\n private agreementsService: AgreementsService, \n private authFacade: AuthFacade, \n private toastr: ToastrService\n ) { \n this.authFacade.token$.subscribe((token => {\n let decodedToken: JwtData = jwt_decode(token)\n this.id = decodedToken.customerId;\n }));\n }\n\n ngOnInit() {\n this.agreementsService.getAgreements().subscribe((result) => {\n this.agreementIds = result.map(el => {\n return el.id;\n });\n })\n }\n\n onFileDropped(file) {\n this.prepareFilesList(file);\n }\n\n fileBrowseHandler(file) {\n this.prepareFilesList(file);\n }\n\n deleteFile(index: number) {\n this.files.splice(index, 1);\n }\n\n prepareFilesList(files: Array) {\n for (const item of files) {\n this.files.push(item);\n }\n }\n\n formatBytes(bytes) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = 0;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n\n\n highlightRow(file) {\n this.selectedFile = file.name;\n }\n\n removeHighlightedRow(){\n this.selectedFile = null;\n }\n\n uploadDocuments(){\n this.showProgressSpinner();\n const formData = new FormData();\n\n for (const file of this.files) {\n formData.append(file.name, file);\n }\n\n // let agreementId = this.selectedValue ? this.selectedValue : \"\";\n\n this.agreementsService.uploadDocument(formData, null, null).subscribe(result => {\n this.hideProgressSpinner();\n\n if(result == 20000){\n this.showToasterSuccess();\n this.files = [];\n this.selectedValue = \"\";\n }\n else if(result == 40002){\n this.showToasterError('Failed to upload files. Cannot upload this type of files.');\n }\n else{\n this.showToasterError('Failed to upload files.');\n }\n \n });\n\n }\n\n //toast\n showToasterSuccess(){\n this.toastr.success('Files uploaded successfully.', 'Success', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n}\n\nshowToasterError(message){\n this.toastr.error(message, 'Error', {\n positionClass: 'toast-bottom-center',\n progressAnimation: 'decreasing',\n timeOut: 5000,\n });\n}\n\n //spinner methods\n showProgressSpinner = () => {\n this.displayProgressSpinner = true;\n };\n\n hideProgressSpinner = () => {\n this.displayProgressSpinner = false;\n };\n}","\n\n
\n

{{ 'Upload.title' | translate }}

\n
\n
\n
\n \n cloud_upload\n \n
\n attach_file\n

{{ 'Upload.add-file-title' | translate }}

\n

{{ 'Upload.add-file-subtitle' | translate }}

\n
\n
\n\n\n
\n
\n
\n

{{ file?.name }}

\n

{{ formatBytes(file?.size) }}

\n
\n close\n
\n
\n
\n
\n \n
\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 apiEndpoint: 'https://localhost:44318' \n //apiEndpoint: 'http://webportals/customerportalserver' //webportals\n // apiEndpoint: 'https://st-128324.dynamicstocloud.com:88' \n //apiEndpoint: 'http://webportals/customerportalserver'\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, APP_SETTINGS } from './app/app.module';\nimport { environment } from './environments/environment';\n\n\nenum Settings {\n App,\n Core\n}\n\nconst bootstrap = (data: any[]) => {\n const providers = [\n { provide: APP_SETTINGS, useValue: data[Settings.App] },\n ];\n\n // Static providers before bootstrap\n platformBrowserDynamic(providers)\n .bootstrapModule(AppModule)\n .catch(err => console.error(err))\n};\n\nif (environment.production) {\n enableProdMode();\n}\n\n // Preload settings\n const uris = ['settings/app.settings.json'];\n const reqs = uris.map(uri => fetch(uri).then(resp => resp.json())); // TODO: what if error?\n\n Promise.all(reqs)\n .then(bootstrap)"]}