{"version":3,"sources":["webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/components/base-recaptcha.component.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/components/invisible-recaptcha.component.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/components/recaptcha-2.component.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/index.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/models/recaptcha-type.enum.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/ngx-captcha.module.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/services/recaptcha_v3.service.ts","webpack:///./GoogleCaptcha/ngx-captcha-lib/src/lib/services/script.service.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-error.handler.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/assets/scripts/alertify.js","webpack:///./src/app/components/app.component.css","webpack:///./src/app/components/app.component.html","webpack:///./src/app/components/app.component.ts","webpack:///./src/app/components/contact-us-ext/contact-us-ext.component.css","webpack:///./src/app/components/contact-us-ext/contact-us-ext.component.html","webpack:///./src/app/components/contact-us-ext/contact-us-ext.component.ts","webpack:///./src/app/components/contact-us/contact-us.component.css","webpack:///./src/app/components/contact-us/contact-us.component.html","webpack:///./src/app/components/contact-us/contact-us.component.ts","webpack:///./src/app/components/controls/notifications-viewer.component.css","webpack:///./src/app/components/controls/notifications-viewer.component.html","webpack:///./src/app/components/controls/notifications-viewer.component.ts","webpack:///./src/app/components/controls/role-editor.component.css","webpack:///./src/app/components/controls/role-editor.component.html","webpack:///./src/app/components/controls/role-editor.component.ts","webpack:///./src/app/components/controls/roles-management.component.css","webpack:///./src/app/components/controls/roles-management.component.html","webpack:///./src/app/components/controls/roles-management.component.ts","webpack:///./src/app/components/controls/search-box.component.css","webpack:///./src/app/components/controls/search-box.component.html","webpack:///./src/app/components/controls/search-box.component.ts","webpack:///./src/app/components/controls/sf-account-settings.component.css","webpack:///./src/app/components/controls/sf-account-settings.component.html","webpack:///./src/app/components/controls/sf-account-settings.component.ts","webpack:///./src/app/components/controls/sf-contact-info.component.css","webpack:///./src/app/components/controls/sf-contact-info.component.html","webpack:///./src/app/components/controls/sf-contact-info.component.ts","webpack:///./src/app/components/controls/sf-contacts.component.css","webpack:///./src/app/components/controls/sf-contacts.component.html","webpack:///./src/app/components/controls/sf-contacts.component.ts","webpack:///./src/app/components/controls/statistics-demo.component.css","webpack:///./src/app/components/controls/statistics-demo.component.html","webpack:///./src/app/components/controls/statistics-demo.component.ts","webpack:///./src/app/components/controls/todo-demo.component.css","webpack:///./src/app/components/controls/todo-demo.component.html","webpack:///./src/app/components/controls/todo-demo.component.ts","webpack:///./src/app/components/controls/user-info.component.css","webpack:///./src/app/components/controls/user-info.component.html","webpack:///./src/app/components/controls/user-info.component.ts","webpack:///./src/app/components/controls/user-preferences.component.css","webpack:///./src/app/components/controls/user-preferences.component.html","webpack:///./src/app/components/controls/user-preferences.component.ts","webpack:///./src/app/components/controls/users-management.component.css","webpack:///./src/app/components/controls/users-management.component.html","webpack:///./src/app/components/controls/users-management.component.ts","webpack:///./src/app/components/forgot-password-confirmation/forgot-password-confirmation.component.css","webpack:///./src/app/components/forgot-password-confirmation/forgot-password-confirmation.component.html","webpack:///./src/app/components/forgot-password-confirmation/forgot-password-confirmation.component.ts","webpack:///./src/app/components/forgot-password/forgot-password.component.css","webpack:///./src/app/components/forgot-password/forgot-password.component.html","webpack:///./src/app/components/forgot-password/forgot-password.component.ts","webpack:///./src/app/components/forgot-username-confirmation/forgot-username-confirmation.component.css","webpack:///./src/app/components/forgot-username-confirmation/forgot-username-confirmation.component.html","webpack:///./src/app/components/forgot-username-confirmation/forgot-username-confirmation.component.ts","webpack:///./src/app/components/forgot-username/forgot-username.component.css","webpack:///./src/app/components/forgot-username/forgot-username.component.html","webpack:///./src/app/components/forgot-username/forgot-username.component.ts","webpack:///./src/app/components/invoice-payment-history/invoice-payment-history.component.css","webpack:///./src/app/components/invoice-payment-history/invoice-payment-history.component.html","webpack:///./src/app/components/invoice-payment-history/invoice-payment-history.component.ts","webpack:///./src/app/components/invoices-closed/invoices-closed.component.css","webpack:///./src/app/components/invoices-closed/invoices-closed.component.html","webpack:///./src/app/components/invoices-closed/invoices-closed.component.ts","webpack:///./src/app/components/landing/landing.component.css","webpack:///./src/app/components/landing/landing.component.html","webpack:///./src/app/components/landing/landing.component.ts","webpack:///./src/app/components/login/login.component.css","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/not-found/not-found.component.css","webpack:///./src/app/components/not-found/not-found.component.html","webpack:///./src/app/components/not-found/not-found.component.ts","webpack:///./src/app/components/paymentautopay/payment-autopay.component.css","webpack:///./src/app/components/paymentautopay/payment-autopay.component.html","webpack:///./src/app/components/paymentautopay/payment-autopay.component.ts","webpack:///./src/app/components/paymentedit/payment-edit.component.css","webpack:///./src/app/components/paymentedit/payment-edit.component.html","webpack:///./src/app/components/paymentedit/payment-edit.component.ts","webpack:///./src/app/components/paymentpaynow/payment-paynow.component.css","webpack:///./src/app/components/paymentpaynow/payment-paynow.component.html","webpack:///./src/app/components/paymentpaynow/payment-paynow.component.ts","webpack:///./src/app/components/paymentprofile/payment-profile.component.css","webpack:///./src/app/components/paymentprofile/payment-profile.component.html","webpack:///./src/app/components/paymentprofile/payment-profile.component.ts","webpack:///./src/app/components/privacy/privacy.component.css","webpack:///./src/app/components/privacy/privacy.component.html","webpack:///./src/app/components/privacy/privacy.component.ts","webpack:///./src/app/components/register-confirmation-email/register-confirmation-email.component.css","webpack:///./src/app/components/register-confirmation-email/register-confirmation-email.component.html","webpack:///./src/app/components/register-confirmation-email/register-confirmation-email.component.ts","webpack:///./src/app/components/register-confirmation/register-confirmation.component.css","webpack:///./src/app/components/register-confirmation/register-confirmation.component.html","webpack:///./src/app/components/register-confirmation/register-confirmation.component.ts","webpack:///./src/app/components/register/register.component.css","webpack:///./src/app/components/register/register.component.html","webpack:///./src/app/components/register/register.component.ts","webpack:///./src/app/components/reset-password/reset-password.component.css","webpack:///./src/app/components/reset-password/reset-password.component.html","webpack:///./src/app/components/reset-password/reset-password.component.ts","webpack:///./src/app/components/settings/settings.component.css","webpack:///./src/app/components/settings/settings.component.html","webpack:///./src/app/components/settings/settings.component.ts","webpack:///./src/app/components/terms/terms.component.css","webpack:///./src/app/components/terms/terms.component.html","webpack:///./src/app/components/terms/terms.component.ts","webpack:///./src/app/directives/autofocus.directive.ts","webpack:///./src/app/directives/bootstrap-datepicker.directive.ts","webpack:///./src/app/directives/bootstrap-select.directive.ts","webpack:///./src/app/directives/bootstrap-tab.directive.ts","webpack:///./src/app/directives/bootstrap-toggle.directive.ts","webpack:///./src/app/directives/equal-validator.directive.ts","webpack:///./src/app/directives/last-element.directive.ts","webpack:///./src/app/directives/modelstate.directive.ts","webpack:///./src/app/directives/notequal-validator.directive.ts","webpack:///./src/app/models/account.model.ts","webpack:///./src/app/models/address.model.ts","webpack:///./src/app/models/notification.model.ts","webpack:///./src/app/models/payment-profile.model.ts","webpack:///./src/app/models/permission.model.ts","webpack:///./src/app/models/register.model.ts","webpack:///./src/app/models/role.model.ts","webpack:///./src/app/models/sf-account-settings.model.ts","webpack:///./src/app/models/sf-contact.model.ts","webpack:///./src/app/models/sf-country.model.ts","webpack:///./src/app/models/user-edit.model.ts","webpack:///./src/app/models/user-forgot-password.model.ts","webpack:///./src/app/models/user-forgot-username.model.ts","webpack:///./src/app/models/user-login.model.ts","webpack:///./src/app/models/user-new.model.ts","webpack:///./src/app/models/user.model.ts","webpack:///./src/app/pipes/group-by.pipe.ts","webpack:///./src/app/services/account-endpoint.service.ts","webpack:///./src/app/services/account.service.ts","webpack:///./src/app/services/alert.service.ts","webpack:///./src/app/services/animations.ts","webpack:///./src/app/services/app-title.service.ts","webpack:///./src/app/services/app-translation.service.ts","webpack:///./src/app/services/auth-guard.service.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/configuration.service.ts","webpack:///./src/app/services/db-Keys.ts","webpack:///./src/app/services/endpoint-factory.service.ts","webpack:///./src/app/services/invoice-endpoint.service.ts","webpack:///./src/app/services/invoice.service.ts","webpack:///./src/app/services/jwt-helper.ts","webpack:///./src/app/services/language-observable.service.ts","webpack:///./src/app/services/local-store-manager.service.ts","webpack:///./src/app/services/notification-endpoint.service.ts","webpack:///./src/app/services/notification.service.ts","webpack:///./src/app/services/payment-service-endpoint.service.ts","webpack:///./src/app/services/payment.service.ts","webpack:///./src/app/services/sf-account-settings-endpoint.service.ts","webpack:///./src/app/services/sf-account-settings.service.ts","webpack:///./src/app/services/utilities.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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AM,CAAC,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,wCAAgB,GAAxB,UAAyB,EAAW;QAChC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,MAAM,CAAC,EAAE,CAAC;QACd,CAAC;QAED,MAAM,CAAC,SAAO,EAAI,CAAC;IACvB,CAAC;IAED;;MAEE;IACM,2CAAmB,GAA3B,UAA4B,eAAwB,EAAE,MAAc,EAAE,QAAiB;QACnF,IAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAExE,2CAA2C;QAC3C,MAAM,CAAC,iBAAe,MAAM,iCAA4B,IAAI,CAAC,4BAA4B,gBAAW,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAG,CAAC;IACnJ,CAAC;IAlFQ,aAAa;QADzB,gEAAU,EAAE;yCAkBW,oDAAM;OAjBjB,aAAa,CAoFzB;IAAD,oBAAC;CAAA;AApFyB;;;;;;;;;;;;ACL1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;AC1QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZyD;AAGzD;IAAqC,mCAAY;IAE7C;eACI,iBAAO;IACX,CAAC;IAED,qCAAW,GAAX,UAAY,KAAU;QAElB,2IAA2I;QAC3I,mCAAmC;QAEnC,KAAK,CAAC,+DAA+D;cACjE,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAE/B,iBAAM,WAAW,YAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAfQ,eAAe;QAD3B,gEAAU,EAAE;;OACA,eAAe,CAgB3B;IAAD,sBAAC;CAAA,CAhBoC,0DAAY,GAgBhD;AAhB2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHa;AACc;AAED;A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ACA;AACA,IAAI;;AAEJ;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,SAAS;AACxB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;;AAEhD;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,SAAS;AACrC,4BAA4B,IAAI,8BAA8B,QAAQ;AACtE;AACA;AACA,4BAA4B,SAAS;AACrC,4BAA4B,IAAI,8BAA8B,QAAQ;AACtE;AACA;AACA,4BAA4B,SAAS;AACrC,4BAA4B,IAAI;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB,EAAE;AACjD,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,2FAA2F;AAC3G;;AAEA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main.js","sourcesContent":["import {\n AfterViewInit,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n NgZone,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';\n\nimport { ReCaptchaType } from '../models/recaptcha-type.enum';\nimport { ScriptService } from '../services/script.service';\n\nexport abstract class BaseReCaptchaComponent implements OnChanges, ControlValueAccessor, AfterViewInit {\n\n /**\n * Prefix of the captcha element\n */\n protected readonly captchaElemPrefix = 'ngx_captcha_id_';\n\n /**\n * Google's site key.\n * You can find this under https://www.google.com/recaptcha\n */\n @Input() siteKey: string;\n\n /**\n * Indicates if global domain 'recaptcha.net' should be used instead of default domain ('google.com')\n */\n @Input() useGlobalDomain: boolean = false;\n\n /**\n * Type\n */\n @Input() type: 'audio' | 'image' = 'image';\n\n /**\n * Language code. Auto-detects the user's language if unspecified.\n */\n @Input() hl: string;\n\n /**\n * Tab index\n */\n @Input() tabIndex = 0;\n\n /**\n * Called when captcha receives successful response.\n * Captcha response token is passed to event.\n */\n @Output() success = new EventEmitter();\n\n /**\n * Called when captcha is loaded. Event receives id of the captcha\n */\n @Output() load = new EventEmitter();\n\n /**\n * Called when captcha is reset.\n */\n @Output() reset = new EventEmitter();\n\n /**\n * Called when captcha is loaded & ready. I.e. when you need to execute captcha on component load.\n */\n @Output() ready = new EventEmitter();\n\n @ViewChild('captchaWrapperElem') captchaWrapperElem: ElementRef;\n @ViewChild('captchaScriptElem') captchaScriptElem: ElementRef;\n\n /**\n * Indicates if captcha should be set on load\n */\n private setupAfterLoad = false;\n\n /**\n * Captcha element\n */\n protected captchaElem?: HTMLElement;\n\n /**\n * Id of the captcha elem\n */\n protected captchaId?: number;\n\n /**\n * Holds last response value\n */\n protected currentResponse?: string;\n\n /**\n * If enabled, captcha will reset after receiving success response. This is useful\n * when invisible captcha need to be resolved multiple times on same page\n */\n protected resetCaptchaAfterSuccess = false;\n\n /**\n * Captcha type\n */\n protected abstract recaptchaType: ReCaptchaType;\n\n /**\n * Required by ControlValueAccessor\n */\n protected onChange: (value: string | undefined) => void;\n protected onTouched: (value: string | undefined) => void;\n\n /**\n * Indicates if captcha is loaded\n */\n public isLoaded = false;\n\n /**\n * Reference to global reCaptcha API\n */\n public reCaptchaApi?: any;\n\n /**\n * Id of the DOM element wrapping captcha\n */\n public captchaElemId?: string;\n\n /**\n * Form Control to be enable usage in reactive forms\n */\n public control?: FormControl;\n\n protected constructor(\n protected renderer: Renderer2,\n protected zone: NgZone,\n protected injector: Injector,\n protected scriptService: ScriptService,\n ) { }\n\n ngAfterViewInit() {\n this.control = this.injector.get(NgControl).control;\n }\n\n /**\n * Gets reCaptcha properties\n */\n protected abstract getCaptchaProperties(): any;\n\n /**\n * Used for captcha specific setup\n */\n protected abstract captchaSpecificSetup(): void;\n\n ngOnChanges(changes: SimpleChanges): void {\n // cleanup scripts if language changed because they need to be reloaded\n if (changes && changes.hl) {\n // cleanup scripts when language changes\n if (!changes.hl.firstChange && (changes.hl.currentValue !== changes.hl.previousValue)) {\n this.scriptService.cleanup();\n }\n }\n\n if (changes && changes.useGlobalDomain) {\n // cleanup scripts when domain changes\n if (!changes.useGlobalDomain.firstChange && (changes.useGlobalDomain.currentValue !== changes.useGlobalDomain.previousValue)) {\n this.scriptService.cleanup();\n }\n }\n\n this.setupComponent();\n }\n\n /**\n * Gets captcha response as per reCaptcha docs\n */\n getResponse(): string {\n return this.reCaptchaApi.getResponse(this.captchaId);\n }\n\n /**\n * Gets Id of captcha widget\n */\n getCaptchaId(): number | undefined {\n return this.captchaId;\n }\n\n /**\n * Resets captcha\n */\n resetCaptcha(): void {\n this.zone.run(() => {\n // reset captcha using Google js api\n this.reCaptchaApi.reset();\n\n // required due to forms\n this.onChange(undefined);\n this.onTouched(undefined);\n\n\n // trigger reset event\n this.reset.next();\n });\n }\n\n /**\n * Gets last submitted captcha response\n */\n getCurrentResponse(): string | undefined {\n return this.currentResponse;\n }\n\n /**\n * Reload captcha. Useful when properties (i.e. theme) changed and captcha need to reflect them\n */\n reloadCaptcha(): void {\n this.setupComponent();\n }\n\n protected ensureCaptchaElem(captchaElemId: string): void {\n const captchaElem = document.getElementById(captchaElemId);\n\n if (!captchaElem) {\n throw Error(`Captcha element with id '${captchaElemId}' was not found`);\n }\n\n // assign captcha alem\n this.captchaElem = captchaElem;\n }\n\n /**\n * Responsible for instantiating captcha element\n */\n protected renderReCaptcha(): void {\n // run outside angular zone due to timeout issues when testing\n // details: https://github.com/Enngage/ngx-captcha/issues/26\n this.zone.runOutsideAngular(() => {\n this.captchaId = this.reCaptchaApi.render(this.captchaElemId, this.getCaptchaProperties());\n this.ready.next();\n });\n }\n\n /**\n * Called when captcha receives response\n * @param callback Callback\n */\n protected handleCallback(callback: any): void {\n this.currentResponse = callback;\n this.success.next(callback);\n\n this.zone.run(() => {\n this.onChange(callback);\n this.onTouched(callback);\n });\n\n if (this.resetCaptchaAfterSuccess) {\n this.resetCaptcha();\n }\n }\n\n private getPseudoUniqueNumber(): number {\n return new Date().getUTCMilliseconds() + Math.floor(Math.random() * 9999);\n }\n\n private setupComponent(): void {\n // captcha specific setup\n this.captchaSpecificSetup();\n\n // create captcha wrapper\n this.createAndSetCaptchaElem();\n\n this.scriptService.registerCaptchaScript(this.useGlobalDomain, 'explicit', (grecaptcha) => {\n this.onloadCallback(grecaptcha);\n }, this.hl);\n }\n\n /**\n * Called when google's recaptcha script is ready\n */\n private onloadCallback(grecapcha: any): void {\n // assign reference to reCaptcha Api once its loaded\n this.reCaptchaApi = grecapcha;\n\n if (!this.reCaptchaApi) {\n throw Error(`ReCaptcha Api was not initialized correctly`);\n }\n\n // loaded flag\n this.isLoaded = true;\n\n // fire load event\n this.load.next();\n\n // render captcha\n this.renderReCaptcha();\n\n // setup component if it was flagged as such\n if (this.setupAfterLoad) {\n this.setupAfterLoad = false;\n this.setupComponent();\n }\n }\n\n private generateNewElemId(): string {\n return this.captchaElemPrefix + this.getPseudoUniqueNumber();\n }\n\n private createAndSetCaptchaElem(): void {\n // generate new captcha id\n this.captchaElemId = this.generateNewElemId();\n\n if (!this.captchaElemId) {\n throw Error(`Captcha elem Id is not set`);\n }\n\n // remove old html\n this.captchaWrapperElem.nativeElement.innerHTML = '';\n\n // create new wrapper for captcha\n const newElem = this.renderer.createElement('div');\n newElem.id = this.captchaElemId;\n\n this.renderer.appendChild(this.captchaWrapperElem.nativeElement, newElem);\n\n // update captcha elem\n this.ensureCaptchaElem(this.captchaElemId);\n }\n\n /**\n * To be aligned with the ControlValueAccessor interface we need to implement this method\n * However as we don't want to update the recaptcha, this doesn't need to be implemented\n */\n public writeValue(obj: any): void { }\n\n /**\n * This method helps us tie together recaptcha and our formControl values\n */\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * At some point we might be interested whether the user has touched our component\n */\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n\n","import { Component, forwardRef, Injector, Input, NgZone, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ReCaptchaType } from '../models/recaptcha-type.enum';\nimport { ScriptService } from '../services/script.service';\nimport { BaseReCaptchaComponent } from './base-recaptcha.component';\n\n@Component({\n selector: 'ngx-invisible-recaptcha',\n template: `\n
`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InvisibleReCaptchaComponent),\n multi: true,\n }\n ]\n})\nexport class InvisibleReCaptchaComponent extends BaseReCaptchaComponent implements OnChanges {\n\n /**\n * This size representing invisible captcha\n */\n protected readonly size = 'invisible';\n\n /**\n * Theme\n */\n @Input() theme: 'dark' | 'light' = 'light';\n\n /**\n * Badge\n */\n @Input() badge: 'bottomright' | 'bottomleft' | 'inline' = 'bottomright';\n\n /**\n * Language code. Auto-detects the user's language if unspecified.\n */\n @Input() hl: string;\n\n protected recaptchaType: ReCaptchaType = ReCaptchaType.InvisibleReCaptcha;\n\n constructor(\n protected renderer: Renderer2,\n protected zone: NgZone,\n protected injector: Injector,\n protected scriptService: ScriptService\n ) {\n super(renderer, zone, injector, scriptService);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n\n /**\n * Programatically invoke the reCAPTCHA check. Used if the invisible reCAPTCHA is on a div instead of a button.\n */\n execute(): void {\n // execute captcha\n this.zone.runOutsideAngular(() => this.reCaptchaApi.execute(this.captchaId));\n }\n\n protected captchaSpecificSetup(): void {\n }\n\n /**\n * Gets reCaptcha properties\n */\n protected getCaptchaProperties(): any {\n return {\n 'sitekey': this.siteKey,\n 'callback': (response) => this.zone.run(() => this.handleCallback(response)),\n 'badge': this.badge,\n 'type': this.type,\n 'tabindex': this.tabIndex,\n 'size': this.size,\n 'theme': this.theme\n };\n }\n}\n\n","import {\n Component,\n EventEmitter,\n forwardRef,\n Injector,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ReCaptchaType } from '../models/recaptcha-type.enum';\nimport { ScriptService } from '../services/script.service';\nimport { BaseReCaptchaComponent } from './base-recaptcha.component';\n\n@Component({\n selector: 'ngx-recaptcha2',\n template: `\n
`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ReCaptcha2Component),\n multi: true,\n }\n ]\n})\nexport class ReCaptcha2Component extends BaseReCaptchaComponent implements OnChanges, OnDestroy {\n\n /**\n * Name of the global expire callback\n */\n protected readonly windowOnErrorCallbackProperty = 'ngx_captcha_error_callback';\n\n /**\n * Name of the global error callback\n */\n protected readonly windowOnExpireCallbackProperty = 'ngx_captcha_expire_callback';\n\n /**\n * Theme\n */\n @Input() theme: 'dark' | 'light' = 'light';\n\n /**\n * Size\n */\n @Input() size: 'compact' | 'normal' = 'normal';\n\n /**\n * Language code. Auto-detects the user's language if unspecified.\n */\n @Input() hl: string;\n\n /**\n * Expired callback\n */\n @Output() expire = new EventEmitter();\n\n /**\n * Error callback\n */\n @Output() error = new EventEmitter();\n\n protected recaptchaType: ReCaptchaType = ReCaptchaType.ReCaptcha2;\n\n constructor(\n protected renderer: Renderer2,\n protected zone: NgZone,\n protected injector: Injector,\n protected scriptService: ScriptService,\n ) {\n super(renderer, zone, injector, scriptService);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n }\n\n ngOnDestroy(): void {\n window[this.windowOnErrorCallbackProperty] = {};\n window[this.windowOnExpireCallbackProperty] = {};\n }\n\n protected captchaSpecificSetup(): void {\n this.registerCallbacks();\n }\n\n /**\n * Gets reCaptcha properties\n */\n protected getCaptchaProperties(): any {\n return {\n 'sitekey': this.siteKey,\n 'callback': (response) => this.zone.run(() => this.handleCallback(response)),\n 'expired-callback': () => this.zone.run(() => this.handleExpireCallback()),\n 'error-callback': () => this.zone.run(() => this.handleErrorCallback()),\n 'theme': this.theme,\n 'type': this.type,\n 'size': this.size,\n 'tabindex': this.tabIndex\n };\n }\n\n /**\n * Registers global callbacks\n */\n private registerCallbacks(): void {\n window[this.windowOnErrorCallbackProperty] = this.handleErrorCallback.bind(this);\n window[this.windowOnExpireCallbackProperty] = this.handleExpireCallback.bind(this);\n }\n\n /**\n * Handles error callback\n */\n private handleErrorCallback(): void {\n this.zone.run(() => {\n this.onChange(undefined);\n this.onTouched(undefined);\n });\n\n this.error.next();\n }\n\n /**\n * Handles expired callback\n */\n private handleExpireCallback(): void {\n this.expire.next();\n\n // reset captcha on expire callback\n this.resetCaptcha();\n }\n}\n\n","export * from './components/base-recaptcha.component';\nexport * from './components/invisible-recaptcha.component';\nexport * from './components/recaptcha-2.component';\nexport * from './models/recaptcha-type.enum';\nexport * from './services/script.service';\nexport * from './services/recaptcha_v3.service';\nexport * from './ngx-captcha.module';\n\n","export enum ReCaptchaType {\n\n InvisibleReCaptcha,\n ReCaptcha2\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { InvisibleReCaptchaComponent } from './components/invisible-recaptcha.component';\nimport { ReCaptcha2Component } from './components/recaptcha-2.component';\nimport { ReCaptchaV3Service } from './services/recaptcha_v3.service';\nimport { ScriptService } from './services/script.service';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ReCaptcha2Component,\n InvisibleReCaptchaComponent\n ],\n providers: [\n ScriptService,\n ReCaptchaV3Service\n ],\n exports: [\n ReCaptcha2Component,\n InvisibleReCaptchaComponent\n ]\n})\nexport class NgxCaptchaModule {\n}\n\n\n","import { Injectable, NgZone } from '@angular/core';\n\nimport { ScriptService } from './script.service';\n\n@Injectable()\nexport class ReCaptchaV3Service {\n\n constructor(\n protected scriptService: ScriptService,\n protected zone: NgZone\n ) {\n }\n\n /**\n * Executes reCaptcha v3 with given action and passes token via callback. You need to verify\n * this callback in your backend to get meaningful results.\n *\n * For more information see https://developers.google.com/recaptcha/docs/v3\n *\n * @param siteKey Site key found in your google admin panel\n * @param action Action to log\n */\n execute(siteKey: string, action: string, callback: (token: string) => void, config?: {\n useGlobalDomain: boolean\n }): void {\n\n const useGlobalDomain = config && config.useGlobalDomain ? true : false;\n\n this.scriptService.registerCaptchaScript(useGlobalDomain, siteKey, (grecaptcha) => {\n this.zone.runOutsideAngular(() => {\n grecaptcha.execute(siteKey, {\n action: action\n }).then((token) => {\n this.zone.run(() => callback(token));\n });\n });\n });\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\n\ndeclare var document: any;\n\n@Injectable()\nexport class ScriptService {\n\n /**\n * Name of the global google recaptcha script\n */\n protected readonly windowGrecaptcha = 'grecaptcha';\n\n /**\n * Name of the global callback\n */\n protected readonly windowOnLoadCallbackProperty = 'ngx_captcha_onload_callback';\n\n protected readonly globalDomain: string = 'recaptcha.net';\n\n protected readonly defaultDomain: string = 'google.com';\n\n constructor(\n protected zone: NgZone,\n ) {\n }\n\n registerCaptchaScript(useGlobalDomain: boolean, render: string, onLoad: (grecaptcha: any) => void, language?: string): void {\n if (this.grecaptchaScriptLoaded()) {\n // recaptcha script is already loaded\n // just call the callback\n this.zone.run(() => {\n onLoad(window[this.windowGrecaptcha]);\n });\n return;\n }\n\n // we need to patch the callback through global variable, otherwise callback is not accessible\n // note: https://github.com/Enngage/ngx-captcha/issues/2\n window[this.windowOnLoadCallbackProperty] = (() => this.zone.run(\n onLoad.bind(this, window[this.windowGrecaptcha])\n ));\n\n // prepare script elem\n const scriptElem = document.createElement('script');\n scriptElem.innerHTML = '';\n scriptElem.src = this.getCaptchaScriptUrl(useGlobalDomain, render, language);\n scriptElem.async = true;\n scriptElem.defer = true;\n\n // add script to header\n document.getElementsByTagName('head')[0].appendChild(scriptElem);\n }\n\n cleanup(): void {\n window[this.windowOnLoadCallbackProperty] = undefined;\n window[this.windowGrecaptcha] = undefined;\n }\n\n /**\n * Indicates if google recaptcha script is available and ready to be used\n */\n private grecaptchaScriptLoaded(): boolean {\n if (window[this.windowOnLoadCallbackProperty] && window[this.windowGrecaptcha]) {\n return true;\n }\n return false;\n }\n\n /**\n * Gets language param used in script url\n */\n private getLanguageParam(hl?: string): string {\n if (!hl) {\n return '';\n }\n\n return `&hl=${hl}`;\n }\n\n /**\n * Url to google api script\n */\n private getCaptchaScriptUrl(useGlobalDomain: boolean, render: string, language?: string): string {\n const domain = useGlobalDomain ? this.globalDomain : this.defaultDomain;\n\n // tslint:disable-next-line:max-line-length\n return `https://www.${domain}/recaptcha/api.js?onload=${this.windowOnLoadCallbackProperty}&render=${render}${this.getLanguageParam(language)}`;\n }\n\n}\n","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-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\"./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.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\"./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\"./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\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\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 ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { Injectable, ErrorHandler } from \"@angular/core\";\n\n@Injectable()\nexport class AppErrorHandler extends ErrorHandler {\n\n constructor() {\n super();\n }\n\n handleError(error: any) {\n\n //if (confirm(\"Fatal Error!\\nAn unresolved error has occured. Do you want to reload the page to correct this?\\n\\nError: \" + error.message))\n // window.location.reload(true);\n\n alert(\"An unexpected error has occurred. Try reloading the page.\\n\\n\"\n + \"Error: \" + error.message);\n\n super.handleError(error);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { AuthService } from './services/auth.service';\nimport { AuthGuard } from './services/auth-guard.service';\n\nimport { LandingComponent } from \"./components/landing/landing.component\";\n\nimport { NotFoundComponent } from \"./components/not-found/not-found.component\";\nimport { LoginComponent } from \"./components/login/login.component\";\n\nimport { RegisterComponent } from \"./components/register/register.component\";\nimport { RegisterConfirmationComponent } from './components/register-confirmation/register-confirmation.component';\nimport { RegisterConfirmationEmailComponent } from \"./components/register-confirmation-email/register-confirmation-email.component\";\n\nimport { ForgotUserNameComponent } from \"./components/forgot-username/forgot-username.component\";\nimport { ForgotUserNameConfirmationComponent } from \"./components/forgot-username-confirmation/forgot-username-confirmation.component\";\n\nimport { ForgotPasswordComponent } from \"./components/forgot-password/forgot-password.component\";\nimport { ForgotPasswordConfirmationComponent } from './components/forgot-password-confirmation/forgot-password-confirmation.component';\n\nimport { InvoiceClosedComponent } from './components/invoices-closed/invoices-closed.component';\nimport { ContactUsComponent } from \"./components/contact-us/contact-us.component\";\nimport { ContactUsExtComponent } from \"./components/contact-us-ext/contact-us-ext.component\";\n\nimport { SettingsComponent } from \"./components/settings/settings.component\";\n\nimport { PaymentProfileComponent } from \"./components/paymentprofile/payment-profile.component\";\nimport { PaymentPaynowComponent } from \"./components/paymentpaynow/payment-paynow.component\";\nimport { PaymentAutopayComponent } from \"./components/paymentautopay/payment-autopay.component\";\nimport { PaymentEditComponent } from \"./components/paymentedit/payment-edit.component\";\n\nimport { PrivacyComponent } from \"./components/privacy/privacy.component\";\nimport { TermsComponent } from \"./components/terms/terms.component\";\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\nimport { InvoicePaymentHistoryComponent } from './components/invoice-payment-history/invoice-payment-history.component';\n\n\nconst routes: Routes = [\n { path: \"login\", component: LoginComponent, data: { title: \"Login\" } },\n {\n path: 'secure',\n canActivate: [AuthGuard],\n canActivateChild: [AuthGuard],\n children: [\n {\n path: \"payment\",\n children: [\n { path: \"paynow\", component: PaymentPaynowComponent, data: { title: \"Pay Now\" } },\n { path: \"profile\", component: PaymentProfileComponent, data: { title: \"Payment Profiles\" } },\n { path: \"autopay\", component: PaymentAutopayComponent, data: { title: \"Auto Pay\" } },\n { path: \":id\", component: PaymentEditComponent, data: { title: \"Edit Payment Method\" } },\n { path: \"\", component: PaymentEditComponent, data: { title: \"Add Payment Method\" }, pathMatch: 'full' },\n ]\n },\n { path: \"invoices\", component: InvoiceClosedComponent, data: { title: \"Invoice History\" } },\n { path: \"contactus\", component: ContactUsComponent, data: { title: \"Contact Us\" } },\n { path: \"settings\", component: SettingsComponent, data: { title: \"Settings\" } },\n { path: \"\", component: LandingComponent, data: { title: \"Invoices\" } },\n { path: \"invoice-payment-history\", component: InvoicePaymentHistoryComponent, data: {title:\"Invoice Payment History\"} }\n ]\n },\n { path: \"contactus\", component: ContactUsExtComponent, data: { title: \"Contact Us\" } },\n { path: \"privacy\", component: PrivacyComponent, data: { title: \"Privacy Policy\" } },\n { path: \"terms\", component: TermsComponent, data: { title: \"Terms & Conditions\" } },\n {\n path: \"register\",\n children: [\n { path: \":id/:code\", component: RegisterConfirmationEmailComponent, data: { title: \"Email Confirmation\" } },\n { path: \":id\", component: RegisterConfirmationComponent, data: { title: \"Confirmation\" } },\n { path: '', component: RegisterComponent, data: { title: \"Register\" }, pathMatch: 'full' },\n ]\n },\n {\n path: \"forgot\",\n children: [\n { path: 'username/confirmation', component: ForgotUserNameConfirmationComponent, data: { title: \"Confirmation\" } },\n { path: 'username', component: ForgotUserNameComponent, data: { title: \"Forgot Username\" }, pathMatch: 'full' },\n { path: 'password/confirmation', component: ForgotPasswordConfirmationComponent, data: { title: \"Confirmation\" } },\n { path: \"password/:id/:code\", component: ResetPasswordComponent, data: { title: \"Reset Password\" } },\n { path: 'password', component: ForgotPasswordComponent, data: { title: \"Forgot Password\" }, pathMatch: 'full' },\n ]\n },\n\n\n { path: \"landing\", redirectTo: 'secure' },\n { path: \"\", redirectTo: 'secure', pathMatch: 'full' },\n { path: \"**\", component: NotFoundComponent, data: { title: \"Page Not Found\" } },\n];\n\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { useHash: true })],\n exports: [RouterModule],\n providers: [AuthService, AuthGuard]\n})\nexport class AppRoutingModule { }\n","import { NgModule, ErrorHandler } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { TranslateModule, TranslateLoader, TranslateService } from \"@ngx-translate/core\";\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport { ToastaModule } from 'ngx-toasta';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from \"ngx-bootstrap/tooltip\";\nimport { PopoverModule } from \"ngx-bootstrap/popover\";\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\nimport { ChartsModule } from 'ng2-charts';\nimport { NgxCaptchaModule } from '../../GoogleCaptcha/ngx-captcha-lib/src/lib';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppErrorHandler } from './app-error.handler';\nimport { AppTitleService } from './services/app-title.service';\nimport { AppTranslationService, TranslateLanguageLoader } from './services/app-translation.service';\nimport { ConfigurationService } from './services/configuration.service';\nimport { AlertService } from './services/alert.service';\nimport { LocalStoreManager } from './services/local-store-manager.service';\nimport { EndpointFactory } from './services/endpoint-factory.service';\nimport { NotificationService } from './services/notification.service';\nimport { NotificationEndpoint } from './services/notification-endpoint.service';\nimport { AccountService } from './services/account.service';\nimport { AccountEndpoint } from './services/account-endpoint.service';\nimport { PaymentService } from './services/payment.service';\nimport { PaymentServiceEndpoint } from './services/payment-service-endpoint.service';\nimport { InvoiceService } from './services/invoice.service';\nimport { InvoiceEndpoint } from './services/invoice-endpoint.service';\n\nimport { EqualValidator } from './directives/equal-validator.directive';\nimport { NotEqualValidator } from './directives/notequal-validator.directive';\nimport { LastElementDirective } from './directives/last-element.directive';\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { BootstrapTabDirective } from './directives/bootstrap-tab.directive';\nimport { BootstrapToggleDirective } from './directives/bootstrap-toggle.directive';\nimport { BootstrapSelectDirective } from './directives/bootstrap-select.directive';\nimport { BootstrapDatepickerDirective } from './directives/bootstrap-datepicker.directive';\nimport { GroupByPipe } from './pipes/group-by.pipe';\n\nimport { AppComponent } from \"./components/app.component\";\nimport { LandingComponent } from \"./components/landing/landing.component\";\nimport { LoginComponent } from \"./components/login/login.component\";\n\nimport { SettingsComponent } from \"./components/settings/settings.component\";\nimport { NotFoundComponent } from \"./components/not-found/not-found.component\";\n\nimport { TodoDemoComponent } from \"./components/controls/todo-demo.component\";\nimport { StatisticsDemoComponent } from \"./components/controls/statistics-demo.component\";\nimport { NotificationsViewerComponent } from \"./components/controls/notifications-viewer.component\";\nimport { SearchBoxComponent } from \"./components/controls/search-box.component\";\nimport { UserInfoComponent } from \"./components/controls/user-info.component\";\nimport { UserPreferencesComponent } from \"./components/controls/user-preferences.component\";\nimport { UsersManagementComponent } from \"./components/controls/users-management.component\";\nimport { RolesManagementComponent } from \"./components/controls/roles-management.component\";\nimport { RoleEditorComponent } from \"./components/controls/role-editor.component\";\n\nimport { RegisterComponent } from './components/register/register.component';\nimport { RegisterConfirmationComponent } from './components/register-confirmation/register-confirmation.component';\nimport { RegisterConfirmationEmailComponent } from \"./components/register-confirmation-email/register-confirmation-email.component\";\n\nimport { ForgotUserNameComponent } from './components/forgot-username/forgot-username.component';\nimport { ForgotUserNameConfirmationComponent } from './components/forgot-username-confirmation/forgot-username-confirmation.component';\n\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { ForgotPasswordConfirmationComponent } from './components/forgot-password-confirmation/forgot-password-confirmation.component';\n\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\n\nimport { PaymentProfileComponent } from \"./components/paymentprofile/payment-profile.component\";\nimport { PaymentPaynowComponent } from \"./components/paymentpaynow/payment-paynow.component\";\nimport { PaymentAutopayComponent } from \"./components/paymentautopay/payment-autopay.component\";\nimport { PaymentEditComponent } from \"./components/paymentedit/payment-edit.component\";\n\nimport { PrivacyComponent } from \"./components/privacy/privacy.component\";\nimport { TermsComponent } from \"./components/terms/terms.component\";\nimport { ContactUsComponent } from \"./components/contact-us/contact-us.component\";\nimport { ContactUsExtComponent } from \"./components/contact-us-ext/contact-us-ext.component\";\n\nimport { InvoiceClosedComponent } from './components/invoices-closed/invoices-closed.component';\nimport { ModelStateDirective } from './directives/modelstate.directive';\nimport { LanguageObservableService } from \"./services/language-observable.service\";\n\nimport { SFAccountSettingsComponent } from \"./components/controls/sf-account-settings.component\";\nimport { SFAccountSettingsService } from \"./services/sf-account-settings.service\";\nimport { SFAccountSettingsEndpoint } from \"./services/sf-account-settings-endpoint.service\";\nimport { SFContactInfoComponent } from \"./components/controls/sf-contact-info.component\";\nimport { SFContactsComponent } from \"./components/controls/sf-contacts.component\";\n\nimport { InvoicePaymentHistoryComponent } from \"./components/invoice-payment-history/invoice-payment-history.component\";\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutingModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useClass: TranslateLanguageLoader\n }\n }),\n NgxDatatableModule,\n ToastaModule.forRoot(),\n TooltipModule.forRoot(),\n PopoverModule.forRoot(),\n BsDropdownModule.forRoot(),\n CarouselModule.forRoot(),\n ModalModule.forRoot(),\n ChartsModule,\n NgxCaptchaModule\n ],\n declarations: [\n AppComponent,\n LoginComponent,\n SettingsComponent,\n UsersManagementComponent, UserInfoComponent, UserPreferencesComponent,\n RolesManagementComponent, RoleEditorComponent,\n NotFoundComponent,\n NotificationsViewerComponent,\n SearchBoxComponent,\n StatisticsDemoComponent, TodoDemoComponent,\n EqualValidator,\n NotEqualValidator,\n ModelStateDirective,\n LastElementDirective,\n AutofocusDirective,\n BootstrapTabDirective,\n BootstrapToggleDirective,\n BootstrapSelectDirective,\n BootstrapDatepickerDirective,\n GroupByPipe,\n LandingComponent,\n RegisterComponent,\n RegisterConfirmationComponent,\n RegisterConfirmationEmailComponent,\n ResetPasswordComponent,\n ForgotUserNameComponent,\n ForgotPasswordComponent,\n ForgotPasswordConfirmationComponent,\n ForgotUserNameConfirmationComponent,\n PaymentProfileComponent,\n PaymentPaynowComponent,\n PaymentAutopayComponent,\n PaymentEditComponent,\n PrivacyComponent,\n TermsComponent,\n InvoiceClosedComponent,\n ContactUsComponent,\n ContactUsExtComponent,\n SFAccountSettingsComponent,\n SFContactsComponent,\n SFContactInfoComponent,\n InvoicePaymentHistoryComponent\n ],\n providers: [\n { provide: 'BASE_URL', useFactory: getBaseUrl },\n { provide: ErrorHandler, useClass: AppErrorHandler },\n AlertService,\n ConfigurationService,\n AppTitleService,\n AppTranslationService,\n NotificationService,\n NotificationEndpoint,\n AccountService,\n AccountEndpoint,\n LocalStoreManager,\n EndpointFactory,\n InvoiceService,\n InvoiceEndpoint,\n PaymentService,\n PaymentServiceEndpoint,\n LanguageObservableService,\n SFAccountSettingsService,\n SFAccountSettingsEndpoint\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(translate: TranslateService) {\n // this language will be used as a fallback when a translation isn't found in the current language\n translate.setDefaultLang('en');\n }\n}\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n","/**\n * alertify\n * An unobtrusive customizable JavaScript notification system\n *\n * @author Fabien Doiron \n * @copyright Fabien Doiron 2013\n * @license MIT \n * @link http://fabien-d.github.com/alertify.js/\n * @module alertify\n * @version 0.3.11\n */\n(function (global, undefined) {\n\t\"use strict\";\n\n\tvar document = global.document,\n\t Alertify;\n\n\tAlertify = function () {\n\n\t\tvar _alertify = {},\n\t\t dialogs = {},\n\t\t isopen = false,\n\t\t keys = { ENTER: 13, ESC: 27, SPACE: 32 },\n\t\t queue = [],\n\t\t $, btnCancel, btnOK, btnReset, btnResetBack, btnFocus, elCallee, elCover, elDialog, elLog, form, input, getTransitionEvent;\n\n\t\t/**\n\t\t * Markup pieces\n\t\t * @type {Object}\n\t\t */\n\t\tdialogs = {\n\t\t\tbuttons : {\n\t\t\t\tholder : \"\",\n\t\t\t\tsubmit : \"\",\n\t\t\t\tok : \"\",\n\t\t\t\tcancel : \"\"\n\t\t\t},\n\t\t\tinput : \"
\",\n\t\t\tmessage : \"

{{message}}

\",\n\t\t\tlog : \"
{{message}}
\"\n\t\t};\n\n\t\t/**\n\t\t * Return the proper transitionend event\n\t\t * @return {String} Transition type string\n\t\t */\n\t\tgetTransitionEvent = function () {\n\t\t\tvar t,\n\t\t\t type,\n\t\t\t supported = false,\n\t\t\t el = document.createElement(\"fakeelement\"),\n\t\t\t transitions = {\n\t\t\t\t \"WebkitTransition\" : \"webkitTransitionEnd\",\n\t\t\t\t \"MozTransition\" : \"transitionend\",\n\t\t\t\t \"OTransition\" : \"otransitionend\",\n\t\t\t\t \"transition\" : \"transitionend\"\n\t\t\t };\n\n\t\t\tfor (t in transitions) {\n\t\t\t\tif (el.style[t] !== undefined) {\n\t\t\t\t\ttype = transitions[t];\n\t\t\t\t\tsupported = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\ttype : type,\n\t\t\t\tsupported : supported\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t\t * Shorthand for document.getElementById()\n\t\t *\n\t\t * @param {String} id A specific element ID\n\t\t * @return {Object} HTML element\n\t\t */\n\t\t$ = function (id) {\n\t\t\treturn document.getElementById(id);\n\t\t};\n\n\t\t/**\n\t\t * Alertify private object\n\t\t * @type {Object}\n\t\t */\n\t\t_alertify = {\n\n\t\t\t/**\n\t\t\t * Labels object\n\t\t\t * @type {Object}\n\t\t\t */\n\t\t\tlabels : {\n\t\t\t\tok : \"OK\",\n\t\t\t\tcancel : \"Cancel\"\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Delay number\n\t\t\t * @type {Number}\n\t\t\t */\n\t\t\tdelay : 5000,\n\n\t\t\t/**\n\t\t\t * Whether buttons are reversed (default is secondary/primary)\n\t\t\t * @type {Boolean}\n\t\t\t */\n\t\t\tbuttonReverse : false,\n\n\t\t\t/**\n\t\t\t * Which button should be focused by default\n\t\t\t * @type {String}\t\"ok\" (default), \"cancel\", or \"none\"\n\t\t\t */\n\t\t\tbuttonFocus : \"ok\",\n\n\t\t\t/**\n\t\t\t * Set the transition event on load\n\t\t\t * @type {[type]}\n\t\t\t */\n\t\t\ttransition : undefined,\n\n\t\t\t/**\n\t\t\t * Set the proper button click events\n\t\t\t *\n\t\t\t * @param {Function} fn [Optional] Callback function\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\taddListeners : function (fn) {\n\t\t\t\tvar hasOK = (typeof btnOK !== \"undefined\"),\n\t\t\t\t hasCancel = (typeof btnCancel !== \"undefined\"),\n\t\t\t\t hasInput = (typeof input !== \"undefined\"),\n\t\t\t\t val = \"\",\n\t\t\t\t self = this,\n\t\t\t\t ok, cancel, common, key, reset;\n\n\t\t\t\t// ok event handler\n\t\t\t\tok = function (event) {\n\t\t\t\t\tif (typeof event.preventDefault !== \"undefined\") event.preventDefault();\n\t\t\t\t\tcommon(event);\n\t\t\t\t\tif (typeof input !== \"undefined\") val = input.value;\n\t\t\t\t\tif (typeof fn === \"function\") {\n\t\t\t\t\t\tif (typeof input !== \"undefined\") {\n\t\t\t\t\t\t\tfn(true, val);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse fn(true);\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\n\t\t\t\t// cancel event handler\n\t\t\t\tcancel = function (event) {\n\t\t\t\t\tif (typeof event.preventDefault !== \"undefined\") event.preventDefault();\n\t\t\t\t\tcommon(event);\n\t\t\t\t\tif (typeof fn === \"function\") fn(false);\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\n\t\t\t\t// common event handler (keyup, ok and cancel)\n\t\t\t\tcommon = function (event) {\n\t\t\t\t\tself.hide();\n\t\t\t\t\tself.unbind(document.body, \"keyup\", key);\n\t\t\t\t\tself.unbind(btnReset, \"focus\", reset);\n\t\t\t\t\tif (hasOK) self.unbind(btnOK, \"click\", ok);\n\t\t\t\t\tif (hasCancel) self.unbind(btnCancel, \"click\", cancel);\n\t\t\t\t};\n\n\t\t\t\t// keyup handler\n\t\t\t\tkey = function (event) {\n\t\t\t\t\tvar keyCode = event.keyCode;\n\t\t\t\t\tif ((keyCode === keys.SPACE && !hasInput) || (hasInput && keyCode === keys.ENTER)) ok(event);\n\t\t\t\t\tif (keyCode === keys.ESC && hasCancel) cancel(event);\n\t\t\t\t};\n\n\t\t\t\t// reset focus to first item in the dialog\n\t\t\t\treset = function (event) {\n\t\t\t\t\tif (hasInput) input.focus();\n\t\t\t\t\telse if (!hasCancel || self.buttonReverse) btnOK.focus();\n\t\t\t\t\telse btnCancel.focus();\n\t\t\t\t};\n\n\t\t\t\t// handle reset focus link\n\t\t\t\t// this ensures that the keyboard focus does not\n\t\t\t\t// ever leave the dialog box until an action has\n\t\t\t\t// been taken\n\t\t\t\tthis.bind(btnReset, \"focus\", reset);\n\t\t\t\tthis.bind(btnResetBack, \"focus\", reset);\n\t\t\t\t// handle OK click\n\t\t\t\tif (hasOK) this.bind(btnOK, \"click\", ok);\n\t\t\t\t// handle Cancel click\n\t\t\t\tif (hasCancel) this.bind(btnCancel, \"click\", cancel);\n\t\t\t\t// listen for keys, Cancel => ESC\n\t\t\t\tthis.bind(document.body, \"keyup\", key);\n\t\t\t\tif (!this.transition.supported) {\n\t\t\t\t\tthis.setFocus();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Bind events to elements\n\t\t\t *\n\t\t\t * @param {Object} el HTML Object\n\t\t\t * @param {Event} event Event to attach to element\n\t\t\t * @param {Function} fn Callback function\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tbind : function (el, event, fn) {\n\t\t\t\tif (typeof el.addEventListener === \"function\") {\n\t\t\t\t\tel.addEventListener(event, fn, false);\n\t\t\t\t} else if (el.attachEvent) {\n\t\t\t\t\tel.attachEvent(\"on\" + event, fn);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Use alertify as the global error handler (using window.onerror)\n\t\t\t *\n\t\t\t * @return {boolean} success\n\t\t\t */\n\t\t\thandleErrors : function () {\n\t\t\t\tif (typeof global.onerror !== \"undefined\") {\n\t\t\t\t\tvar self = this;\n\t\t\t\t\tglobal.onerror = function (msg, url, line) {\n\t\t\t\t\t\tself.error(\"[\" + msg + \" on line \" + line + \" of \" + url + \"]\", 0);\n\t\t\t\t\t};\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Append button HTML strings\n\t\t\t *\n\t\t\t * @param {String} secondary The secondary button HTML string\n\t\t\t * @param {String} primary The primary button HTML string\n\t\t\t *\n\t\t\t * @return {String} The appended button HTML strings\n\t\t\t */\n\t\t\tappendButtons : function (secondary, primary) {\n\t\t\t\treturn this.buttonReverse ? primary + secondary : secondary + primary;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Build the proper message box\n\t\t\t *\n\t\t\t * @param {Object} item Current object in the queue\n\t\t\t *\n\t\t\t * @return {String} An HTML string of the message box\n\t\t\t */\n\t\t\tbuild : function (item) {\n\t\t\t\tvar html = \"\",\n\t\t\t\t type = item.type,\n\t\t\t\t message = item.message,\n\t\t\t\t css = item.cssClass || \"\";\n\n\t\t\t\thtml += \"
\";\n\t\t\t\thtml += \"Reset Focus\";\n\n\t\t\t\tif (_alertify.buttonFocus === \"none\") html += \"\";\n\n\t\t\t\t// doens't require an actual form\n\t\t\t\tif (type === \"prompt\") html += \"
\";\n\n\t\t\t\thtml += \"
\";\n\t\t\t\thtml += dialogs.message.replace(\"{{message}}\", message);\n\n\t\t\t\tif (type === \"prompt\") html += dialogs.input;\n\n\t\t\t\thtml += dialogs.buttons.holder;\n\t\t\t\thtml += \"
\";\n\n\t\t\t\tif (type === \"prompt\") html += \"
\";\n\n\t\t\t\thtml += \"Reset Focus\";\n\t\t\t\thtml += \"
\";\n\n\t\t\t\tswitch (type) {\n\t\t\t\tcase \"confirm\":\n\t\t\t\t\thtml = html.replace(\"{{buttons}}\", this.appendButtons(dialogs.buttons.cancel, dialogs.buttons.ok));\n\t\t\t\t\thtml = html.replace(\"{{ok}}\", this.labels.ok).replace(\"{{cancel}}\", this.labels.cancel);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"prompt\":\n\t\t\t\t\thtml = html.replace(\"{{buttons}}\", this.appendButtons(dialogs.buttons.cancel, dialogs.buttons.submit));\n\t\t\t\t\thtml = html.replace(\"{{ok}}\", this.labels.ok).replace(\"{{cancel}}\", this.labels.cancel);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"alert\":\n\t\t\t\t\thtml = html.replace(\"{{buttons}}\", dialogs.buttons.ok);\n\t\t\t\t\thtml = html.replace(\"{{ok}}\", this.labels.ok);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\telDialog.className = \"alertify alertify-\" + type + \" \" + css;\n\t\t\t\telCover.className = \"alertify-cover\";\n\t\t\t\treturn html;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Close the log messages\n\t\t\t *\n\t\t\t * @param {Object} elem HTML Element of log message to close\n\t\t\t * @param {Number} wait [optional] Time (in ms) to wait before automatically hiding the message, if 0 never hide\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tclose : function (elem, wait) {\n\t\t\t\t// Unary Plus: +\"2\" === 2\n\t\t\t\tvar timer = (wait && !isNaN(wait)) ? +wait : this.delay,\n\t\t\t\t self = this,\n\t\t\t\t hideElement, transitionDone;\n\n\t\t\t\t// set click event on log messages\n\t\t\t\tthis.bind(elem, \"click\", function () {\n\t\t\t\t\thideElement(elem);\n\t\t\t\t});\n\t\t\t\t// Hide the dialog box after transition\n\t\t\t\t// This ensure it doens't block any element from being clicked\n\t\t\t\ttransitionDone = function (event) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t// unbind event so function only gets called once\n\t\t\t\t\tself.unbind(this, self.transition.type, transitionDone);\n\t\t\t\t\t// remove log message\n\t\t\t\t\telLog.removeChild(this);\n\t\t\t\t\tif (!elLog.hasChildNodes()) elLog.className += \" alertify-logs-hidden\";\n\t\t\t\t};\n\t\t\t\t// this sets the hide class to transition out\n\t\t\t\t// or removes the child if css transitions aren't supported\n\t\t\t\thideElement = function (el) {\n\t\t\t\t\t// ensure element exists\n\t\t\t\t\tif (typeof el !== \"undefined\" && el.parentNode === elLog) {\n\t\t\t\t\t\t// whether CSS transition exists\n\t\t\t\t\t\tif (self.transition.supported) {\n\t\t\t\t\t\t\tself.bind(el, self.transition.type, transitionDone);\n\t\t\t\t\t\t\tel.className += \" alertify-log-hide\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telLog.removeChild(el);\n\t\t\t\t\t\t\tif (!elLog.hasChildNodes()) elLog.className += \" alertify-logs-hidden\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t// never close (until click) if wait is set to 0\n\t\t\t\tif (wait === 0) return;\n\t\t\t\t// set timeout to auto close the log message\n\t\t\t\tsetTimeout(function () { hideElement(elem); }, timer);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Create a dialog box\n\t\t\t *\n\t\t\t * @param {String} message The message passed from the callee\n\t\t\t * @param {String} type Type of dialog to create\n\t\t\t * @param {Function} fn [Optional] Callback function\n\t\t\t * @param {String} placeholder [Optional] Default value for prompt input field\n\t\t\t * @param {String} cssClass [Optional] Class(es) to append to dialog box\n\t\t\t *\n\t\t\t * @return {Object}\n\t\t\t */\n\t\t\tdialog : function (message, type, fn, placeholder, cssClass) {\n\t\t\t\t// set the current active element\n\t\t\t\t// this allows the keyboard focus to be resetted\n\t\t\t\t// after the dialog box is closed\n\t\t\t\telCallee = document.activeElement;\n\t\t\t\t// check to ensure the alertify dialog element\n\t\t\t\t// has been successfully created\n\t\t\t\tvar check = function () {\n\t\t\t\t\tif ((elLog && elLog.scrollTop !== null) && (elCover && elCover.scrollTop !== null)) return;\n\t\t\t\t\telse check();\n\t\t\t\t};\n\t\t\t\t// error catching\n\t\t\t\tif (typeof message !== \"string\") throw new Error(\"message must be a string\");\n\t\t\t\tif (typeof type !== \"string\") throw new Error(\"type must be a string\");\n\t\t\t\tif (typeof fn !== \"undefined\" && typeof fn !== \"function\") throw new Error(\"fn must be a function\");\n\t\t\t\t// initialize alertify if it hasn't already been done\n\t\t\t\tthis.init();\n\t\t\t\tcheck();\n\n\t\t\t\tqueue.push({ type: type, message: message, callback: fn, placeholder: placeholder, cssClass: cssClass });\n\t\t\t\tif (!isopen) this.setup();\n\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Extend the log method to create custom methods\n\t\t\t *\n\t\t\t * @param {String} type Custom method name\n\t\t\t *\n\t\t\t * @return {Function}\n\t\t\t */\n\t\t\textend : function (type) {\n\t\t\t\tif (typeof type !== \"string\") throw new Error(\"extend method must have exactly one paramter\");\n\t\t\t\treturn function (message, wait) {\n\t\t\t\t\tthis.log(message, type, wait);\n\t\t\t\t\treturn this;\n\t\t\t\t};\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Hide the dialog and rest to defaults\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\thide : function () {\n\t\t\t\tvar transitionDone,\n\t\t\t\t self = this;\n\t\t\t\t// remove reference from queue\n\t\t\t\tqueue.splice(0,1);\n\t\t\t\t// if items remaining in the queue\n\t\t\t\tif (queue.length > 0) this.setup(true);\n\t\t\t\telse {\n\t\t\t\t\tisopen = false;\n\t\t\t\t\t// Hide the dialog box after transition\n\t\t\t\t\t// This ensure it doens't block any element from being clicked\n\t\t\t\t\ttransitionDone = function (event) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t// unbind event so function only gets called once\n\t\t\t\t\t\tself.unbind(elDialog, self.transition.type, transitionDone);\n\t\t\t\t\t};\n\t\t\t\t\t// whether CSS transition exists\n\t\t\t\t\tif (this.transition.supported) {\n\t\t\t\t\t\tthis.bind(elDialog, this.transition.type, transitionDone);\n\t\t\t\t\t\telDialog.className = \"alertify alertify-hide alertify-hidden\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\telDialog.className = \"alertify alertify-hide alertify-hidden alertify-isHidden\";\n\t\t\t\t\t}\n\t\t\t\t\telCover.className = \"alertify-cover alertify-cover-hidden\";\n\t\t\t\t\t// set focus to the last element or body\n\t\t\t\t\t// after the dialog is closed\n\t\t\t\t\telCallee.focus();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initialize Alertify\n\t\t\t * Create the 2 main elements\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tinit : function () {\n\t\t\t\t// ensure legacy browsers support html5 tags\n\t\t\t\tdocument.createElement(\"nav\");\n\t\t\t\tdocument.createElement(\"article\");\n\t\t\t\tdocument.createElement(\"section\");\n\t\t\t\t// cover\n\t\t\t\tif ($(\"alertify-cover\") == null) {\n\t\t\t\t\telCover = document.createElement(\"div\");\n\t\t\t\t\telCover.setAttribute(\"id\", \"alertify-cover\");\n\t\t\t\t\telCover.className = \"alertify-cover alertify-cover-hidden\";\n\t\t\t\t\tdocument.body.appendChild(elCover);\n\t\t\t\t}\n\t\t\t\t// main element\n\t\t\t\tif ($(\"alertify\") == null) {\n\t\t\t\t\tisopen = false;\n\t\t\t\t\tqueue = [];\n\t\t\t\t\telDialog = document.createElement(\"section\");\n\t\t\t\t\telDialog.setAttribute(\"id\", \"alertify\");\n\t\t\t\t\telDialog.className = \"alertify alertify-hidden\";\n\t\t\t\t\tdocument.body.appendChild(elDialog);\n\t\t\t\t}\n\t\t\t\t// log element\n\t\t\t\tif ($(\"alertify-logs\") == null) {\n\t\t\t\t\telLog = document.createElement(\"section\");\n\t\t\t\t\telLog.setAttribute(\"id\", \"alertify-logs\");\n\t\t\t\t\telLog.className = \"alertify-logs alertify-logs-hidden\";\n\t\t\t\t\tdocument.body.appendChild(elLog);\n\t\t\t\t}\n\t\t\t\t// set tabindex attribute on body element\n\t\t\t\t// this allows script to give it focus\n\t\t\t\t// after the dialog is closed\n\t\t\t\tdocument.body.setAttribute(\"tabindex\", \"0\");\n\t\t\t\t// set transition type\n\t\t\t\tthis.transition = getTransitionEvent();\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Show a new log message box\n\t\t\t *\n\t\t\t * @param {String} message The message passed from the callee\n\t\t\t * @param {String} type [Optional] Optional type of log message\n\t\t\t * @param {Number} wait [Optional] Time (in ms) to wait before auto-hiding the log\n\t\t\t *\n\t\t\t * @return {Object}\n\t\t\t */\n\t\t\tlog : function (message, type, wait) {\n\t\t\t\t// check to ensure the alertify dialog element\n\t\t\t\t// has been successfully created\n\t\t\t\tvar check = function () {\n\t\t\t\t\tif (elLog && elLog.scrollTop !== null) return;\n\t\t\t\t\telse check();\n\t\t\t\t};\n\t\t\t\t// initialize alertify if it hasn't already been done\n\t\t\t\tthis.init();\n\t\t\t\tcheck();\n\n\t\t\t\telLog.className = \"alertify-logs\";\n\t\t\t\tthis.notify(message, type, wait);\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Add new log message\n\t\t\t * If a type is passed, a class name \"alertify-log-{type}\" will get added.\n\t\t\t * This allows for custom look and feel for various types of notifications.\n\t\t\t *\n\t\t\t * @param {String} message The message passed from the callee\n\t\t\t * @param {String} type [Optional] Type of log message\n\t\t\t * @param {Number} wait [Optional] Time (in ms) to wait before auto-hiding\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tnotify : function (message, type, wait) {\n\t\t\t\tvar log = document.createElement(\"article\");\n\t\t\t\tlog.className = \"alertify-log\" + ((typeof type === \"string\" && type !== \"\") ? \" alertify-log-\" + type : \"\");\n\t\t\t\tlog.innerHTML = message;\n\t\t\t\t// append child\n\t\t\t\telLog.appendChild(log);\n\t\t\t\t// triggers the CSS animation\n\t\t\t\tsetTimeout(function() { log.className = log.className + \" alertify-log-show\"; }, 50);\n\t\t\t\tthis.close(log, wait);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Set properties\n\t\t\t *\n\t\t\t * @param {Object} args Passing parameters\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tset : function (args) {\n\t\t\t\tvar k;\n\t\t\t\t// error catching\n\t\t\t\tif (typeof args !== \"object\" && args instanceof Array) throw new Error(\"args must be an object\");\n\t\t\t\t// set parameters\n\t\t\t\tfor (k in args) {\n\t\t\t\t\tif (args.hasOwnProperty(k)) {\n\t\t\t\t\t\tthis[k] = args[k];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Common place to set focus to proper element\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tsetFocus : function () {\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus();\n\t\t\t\t\tinput.select();\n\t\t\t\t}\n\t\t\t\telse btnFocus.focus();\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Initiate all the required pieces for the dialog box\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tsetup : function (fromQueue) {\n\t\t\t\tvar item = queue[0],\n\t\t\t\t self = this,\n\t\t\t\t transitionDone;\n\n\t\t\t\t// dialog is open\n\t\t\t\tisopen = true;\n\t\t\t\t// Set button focus after transition\n\t\t\t\ttransitionDone = function (event) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tself.setFocus();\n\t\t\t\t\t// unbind event so function only gets called once\n\t\t\t\t\tself.unbind(elDialog, self.transition.type, transitionDone);\n\t\t\t\t};\n\t\t\t\t// whether CSS transition exists\n\t\t\t\tif (this.transition.supported && !fromQueue) {\n\t\t\t\t\tthis.bind(elDialog, this.transition.type, transitionDone);\n\t\t\t\t}\n\t\t\t\t// build the proper dialog HTML\n\t\t\t\telDialog.innerHTML = this.build(item);\n\t\t\t\t// assign all the common elements\n\t\t\t\tbtnReset = $(\"alertify-resetFocus\");\n\t\t\t\tbtnResetBack = $(\"alertify-resetFocusBack\");\n\t\t\t\tbtnOK = $(\"alertify-ok\") || undefined;\n\t\t\t\tbtnCancel = $(\"alertify-cancel\") || undefined;\n\t\t\t\tbtnFocus = (_alertify.buttonFocus === \"cancel\") ? btnCancel : ((_alertify.buttonFocus === \"none\") ? $(\"alertify-noneFocus\") : btnOK),\n\t\t\t\tinput = $(\"alertify-text\") || undefined;\n\t\t\t\tform = $(\"alertify-form\") || undefined;\n\t\t\t\t// add placeholder value to the input field\n\t\t\t\tif (typeof item.placeholder === \"string\" && item.placeholder !== \"\") input.value = item.placeholder;\n\t\t\t\tif (fromQueue) this.setFocus();\n\t\t\t\tthis.addListeners(item.callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Unbind events to elements\n\t\t\t *\n\t\t\t * @param {Object} el HTML Object\n\t\t\t * @param {Event} event Event to detach to element\n\t\t\t * @param {Function} fn Callback function\n\t\t\t *\n\t\t\t * @return {undefined}\n\t\t\t */\n\t\t\tunbind : function (el, event, fn) {\n\t\t\t\tif (typeof el.removeEventListener === \"function\") {\n\t\t\t\t\tel.removeEventListener(event, fn, false);\n\t\t\t\t} else if (el.detachEvent) {\n\t\t\t\t\tel.detachEvent(\"on\" + event, fn);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\treturn {\n\t\t\talert : function (message, fn, cssClass) { _alertify.dialog(message, \"alert\", fn, \"\", cssClass); return this; },\n\t\t\tconfirm : function (message, fn, cssClass) { _alertify.dialog(message, \"confirm\", fn, \"\", cssClass); return this; },\n\t\t\textend : _alertify.extend,\n\t\t\tinit : _alertify.init,\n\t\t\tlog : function (message, type, wait) { _alertify.log(message, type, wait); return this; },\n\t\t\tprompt : function (message, fn, placeholder, cssClass) { _alertify.dialog(message, \"prompt\", fn, placeholder, cssClass); return this; },\n\t\t\tsuccess : function (message, wait) { _alertify.log(message, \"success\", wait); return this; },\n\t\t\terror : function (message, wait) { _alertify.log(message, \"error\", wait); return this; },\n\t\t\tset : function (args) { _alertify.set(args); },\n\t\t\tlabels : _alertify.labels,\n\t\t\tdebug : _alertify.handleErrors\n\t\t};\n\t};\n\n\t// AMD and window support\n\tif (typeof define === \"function\") {\n\t\tdefine([], function () { return new Alertify(); });\n\t} else if (typeof global.alertify === \"undefined\") {\n\t\tglobal.alertify = new Alertify();\n\t}\n\n}(window));\n","module.exports = \"\\n#mainContent.app-component {\\n padding-top: 150px;\\n padding-bottom: 50px;\\n}\\n\\n\\n.navbar-inner.app-component {\\n padding-left: 0px;\\n border-radius: 0px;\\n box-shadow: none;\\n background-color: #56B2CB;\\n background-image: none;\\n min-height: 150px;\\n height: auto;\\n}\\n\\n\\n.navbar.app-component .nav > .active > a,\\n.navbar.app-component .nav > .active > a:hover,\\n.navbar.app-component .nav > .active > a:focus {\\n border-bottom: 2px white solid;\\n box-shadow: none;\\n color: lightgray;\\n}\\n\\n\\n.navbar.app-component .nav > li {\\n cursor: pointer;\\n color: lightgray !important;\\n background-color: transparent !important;\\n}\\n\\n\\n.navbar.app-component .nav > li:hover {\\n color: lightgray !important;\\n background-color: transparent !important;\\n }\\n\\n\\n.navbar-fixed-top.app-component .navbar-inner.app-component,\\n.navbar-static-top.app-component .navbar-inner.app-component {\\n box-shadow: 0 1px 00px rgba(0, 0, 0, 0);\\n}\\n\\n\\np.navbar-text.app-component {\\n color: #fff;\\n}\\n\\n\\np.navbar-text.app-component a {\\n color: #fff;\\n }\\n\\n\\n.vcenter_text.app-component {\\n line-height: 40px;\\n vertical-align: middle;\\n}\\n\\n\\n.prebootShow.app-component {\\n opacity: 1 !important;\\n}\\n\\n\\n.prebootStep.app-component {\\n opacity: 0;\\n transition: .5s ease-in-out all;\\n}\\n\"","module.exports = \"
\\n \\n \\n
\\n \\n\\n
\\n
\\n

\\n Loaded!\\n

\\n

\\n Portal\\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\"","import { Component, ViewEncapsulation, OnInit, OnDestroy, ViewChildren, AfterViewInit, QueryList, ElementRef, DebugElement } from \"@angular/core\";\nimport { Router, NavigationStart } from '@angular/router';\nimport { ToastaService, ToastaConfig, ToastOptions, ToastData } from 'ngx-toasta';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\nimport { AlertService, AlertDialog, DialogType, AlertMessage, MessageSeverity } from '../services/alert.service';\nimport { NotificationService } from \"../services/notification.service\";\nimport { AppTranslationService } from \"../services/app-translation.service\";\nimport { AccountService } from '../services/account.service';\nimport { LocalStoreManager } from '../services/local-store-manager.service';\nimport { AppTitleService } from '../services/app-title.service';\nimport { AuthService } from '../services/auth.service';\nimport { ConfigurationService } from '../services/configuration.service';\nimport { Permission } from '../models/permission.model';\nimport { LoginComponent } from \"../components/login/login.component\";\nimport { Account } from \"../models/account.model\";\nimport { element } from \"protractor\";\nimport { Subject, Observable, Subscription } from \"rxjs\";\nimport { access } from \"fs\";\nimport { LanguageObservableService } from \"../services/language-observable.service\";\n\n\nvar alertify: any = require('../assets/scripts/alertify.js');\n\n\n@Component({\n selector: \"app-root\",\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n\n isAutoEnrollPopoverVisible: boolean;\n isAppLoaded: boolean;\n isUserLoggedIn: boolean;\n shouldShowLoginModal: boolean;\n removePrebootScreen: boolean;\n newNotificationCount = 0;\n appTitle = \"Portal\";\n appLogo = '../assets/images/sa-logo.png';\n globeImage = '../assets/images/Globe Icon.png';\n\n\n stickyToasties: number[] = [];\n\n dataLoadingConsecutiveFailurs = 0;\n notificationsLoadingSubscription: any;\n\n @ViewChildren('loginModal,loginControl')\n modalLoginControls: QueryList;\n\n loginModal: ModalDirective;\n loginControl: LoginComponent;\n accountSubcription: Subscription;\n CurrentAccount: Subject;\n pageAccount: Account;\n\n\n get notificationsTitle() {\n\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n if (this.newNotificationCount)\n return `${gT(\"app.Notifications\")} (${this.newNotificationCount} ${gT(\"app.New\")})`;\n else\n return gT(\"app.Notifications\");\n }\n\n\n constructor(\n storageManager: LocalStoreManager,\n private toastaService: ToastaService,\n private toastaConfig: ToastaConfig,\n private accountService: AccountService,\n private alertService: AlertService,\n private notificationService: NotificationService,\n private appTitleService: AppTitleService,\n private authService: AuthService,\n private translationService: AppTranslationService,\n public configurations: ConfigurationService,\n public userInfoService: LanguageObservableService,\n public router: Router) {\n\n storageManager.initialiseStorageSyncListener();\n\n translationService.addLanguages([\"en\", \"fr\", \"es\", \"sp\", \"nl\", \"de\", \"zh\"]); // TODO: Correct the Dutch language code to NL, remove DE and SP.\n translationService.setDefaultLanguage('en');\n\n\n this.toastaConfig.theme = 'bootstrap';\n this.toastaConfig.position = 'top-right';\n this.toastaConfig.limit = 100;\n this.toastaConfig.showClose = true;\n\n this.appTitleService.appName = this.appTitle;\n this.CurrentAccount = new Subject();\n this.pageAccount = null;\n }\n\n\n ngAfterViewInit() {\n\n }\n \n\n onLoginModalShown() {\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again\", MessageSeverity.info);\n }\n\n\n onLoginModalHidden() {\n this.alertService.resetStickyMessage();\n this.loginControl.reset();\n this.shouldShowLoginModal = false;\n\n if (this.authService.isSessionExpired)\n this.alertService.showStickyMessage(\"Session Expired\", \"Your Session has expired. Please log in again to renew your session\", MessageSeverity.warn);\n }\n\n\n onLoginModalHide() {\n this.alertService.resetStickyMessage();\n }\n\n languageChange() {\n \n this.userInfoService.setDefaultLanguage(this.configurations.language);\n }\n\n\n ngOnInit() {\n this.isUserLoggedIn = this.authService.isLoggedIn;\n if (!this.isUserLoggedIn)\n this.configurations.import(null);\n this.userInfoService.setDefaultLanguage(\"en\");\n\n // 1 sec to ensure all the effort to get the css animation working is appreciated :|, Preboot screen is removed .5 sec later\n setTimeout(() => this.isAppLoaded = true, 1000);\n setTimeout(() => this.removePrebootScreen = true, 1500);\n\n setTimeout(() => {\n if (this.isUserLoggedIn) {\n this.alertService.resetStickyMessage();\n }\n }, 2000);\n\n\n this.alertService.getDialogEvent().subscribe(alert => this.showDialog(alert));\n this.alertService.getMessageEvent().subscribe(message => this.showToast(message, false));\n this.alertService.getStickyMessageEvent().subscribe(message => this.showToast(message, true));\n\n this.authService.reLoginDelegate = () => this.shouldShowLoginModal = true;\n\n this.authService.getLoginStatusEvent().subscribe(isLoggedIn => {\n this.isUserLoggedIn = isLoggedIn;\n\n setTimeout(() => {\n if (this.isUserLoggedIn) {\n this.initNotificationsLoading();\n }\n else {\n var message = \"\";\n this.translationService.getTranslationAsync(\"app.SessionEnd\").subscribe((s) => message = s);\n this.alertService.showMessage(message, \"\", MessageSeverity.default);\n this.unsubscribeNotifications();\n\n }\n }, 500);\n });\n\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n let url = (event).url;\n\n if (url !== url.toLowerCase()) {\n this.router.navigateByUrl((event).url.toLowerCase());\n }\n }\n });\n }\n\n\n ngOnDestroy() {\n this.unsubscribeNotifications();\n }\n\n\n private unsubscribeNotifications() {\n if (this.notificationsLoadingSubscription)\n this.notificationsLoadingSubscription.unsubscribe();\n\n if (this.accountSubcription)\n this.accountSubcription.unsubscribe();\n }\n\n\n\n initNotificationsLoading() {\n\n this.notificationsLoadingSubscription = this.notificationService.getNewNotificationsPeriodically()\n .subscribe(notifications => {\n this.dataLoadingConsecutiveFailurs = 0;\n this.newNotificationCount = notifications.filter(n => !n.isRead).length;\n },\n error => {\n this.alertService.logError(error);\n\n if (this.dataLoadingConsecutiveFailurs++ < 20)\n setTimeout(() => this.initNotificationsLoading(), 5000);\n else\n this.alertService.showStickyMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.error);\n });\n\n this.accountSubcription = this.accountService.getAccount().subscribe(\n account => {\n if (account) {\n this.pageAccount = account\n }\n });\n\n this.accountSubcription = this.accountService.getAccount().subscribe(\n account => {\n if (account) {\n this.CurrentAccount.next(account) \n this.router.navigateByUrl('/Landing');\n }\n });\n\n\n \n \n }\n \n markNotificationsAsRead() {\n\n let recentNotifications = this.notificationService.recentNotifications;\n\n if (recentNotifications.length) {\n this.notificationService.readUnreadNotification(recentNotifications.map(n => n.id), true)\n .subscribe(response => {\n for (let n of recentNotifications) {\n n.isRead = true;\n }\n\n this.newNotificationCount = recentNotifications.filter(n => !n.isRead).length;\n },\n error => {\n this.alertService.logError(error);\n this.alertService.showMessage(\"Notification Error\", \"Marking read notifications failed\", MessageSeverity.error);\n\n });\n }\n }\n\n\n\n showDialog(dialog: AlertDialog) {\n\n alertify.set({\n labels: {\n ok: dialog.okLabel || \"OK\",\n cancel: dialog.cancelLabel || \"Cancel\"\n }\n });\n\n switch (dialog.type) {\n case DialogType.alert:\n alertify.alert(dialog.message);\n\n break\n case DialogType.confirm:\n alertify\n .confirm(dialog.message, (e) => {\n if (e) {\n dialog.okCallback();\n }\n else {\n if (dialog.cancelCallback)\n dialog.cancelCallback();\n }\n });\n\n break;\n case DialogType.prompt:\n alertify\n .prompt(dialog.message, (e, val) => {\n if (e) {\n dialog.okCallback(val);\n }\n else {\n if (dialog.cancelCallback)\n dialog.cancelCallback();\n }\n }, dialog.defaultValue);\n\n break;\n }\n }\n\n showToast(message: AlertMessage, isSticky: boolean) {\n\n if (message == null) {\n for (let id of this.stickyToasties.slice(0)) {\n this.toastaService.clear(id);\n }\n\n return;\n }\n\n let toastOptions: ToastOptions = {\n title: message.summary,\n msg: message.detail,\n timeout: isSticky ? 0 : 4000\n };\n\n\n if (isSticky) {\n toastOptions.onAdd = (toast: ToastData) => this.stickyToasties.push(toast.id);\n\n toastOptions.onRemove = (toast: ToastData) => {\n let index = this.stickyToasties.indexOf(toast.id, 0);\n\n if (index > -1) {\n this.stickyToasties.splice(index, 1);\n }\n\n toast.onAdd = null;\n toast.onRemove = null;\n };\n }\n\n\n switch (message.severity) {\n case MessageSeverity.default: this.toastaService.default(toastOptions); break;\n case MessageSeverity.info: this.toastaService.info(toastOptions); break;\n case MessageSeverity.success: this.toastaService.success(toastOptions); break;\n case MessageSeverity.error: this.toastaService.error(toastOptions); break;\n case MessageSeverity.warn: this.toastaService.warning(toastOptions); break;\n case MessageSeverity.wait: this.toastaService.wait(toastOptions); break;\n }\n }\n\n\n\n\n\n logout() {\n this.authService.logout();\n this.authService.redirectLogoutUser();\n }\n\n\n getYear() {\n return new Date().getUTCFullYear();\n }\n\n\n get userName(): string {\n return this.authService.currentUser ? this.authService.currentUser.userName : \"\";\n }\n\n\n get fullName(): string {\n return this.authService.currentUser ? this.authService.currentUser.lastName : \"\";\n }\n\n\n\n get canViewCustomers() {\n return this.accountService.userHasPermission(Permission.viewUsersPermission); //eg. viewCustomersPermission\n }\n\n get canViewProducts() {\n return this.accountService.userHasPermission(Permission.viewUsersPermission); //eg. viewProductsPermission\n }\n\n get canViewOrders() {\n return true; //eg. viewOrdersPermission\n }\n\n\n togglePopover(e) {\n this.isAutoEnrollPopoverVisible = !this.isAutoEnrollPopoverVisible;\n return this.isAutoEnrollPopoverVisible;\n }\n\n \n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'ContactUs.ContactUs' | translate}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{'ContactUs.AMERICAS' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.France' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.Netherlands' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.UK' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.AllCountries' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.APAC' | translate}}\\n
\\n
\\n
\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'contact-us-ext',\n templateUrl: './contact-us-ext.component.html',\n styleUrls: ['./contact-us-ext.component.css']\n})\nexport class ContactUsExtComponent implements OnInit {\n\n \n constructor()\n {\n }\n\n ngOnInit() {\n }\n\n\n}\n","module.exports = \"\"","module.exports = \"
\\n \\n
\\n
\\n
\\n
\\n {{'ContactUs.ContactUs' | translate}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{'ContactUs.AMERICAS' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.France' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.Netherlands' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.UK' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.AllCountries' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.APAC' | translate}}\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.css']\n})\nexport class ContactUsComponent implements OnInit {\n\n \n constructor()\n {\n }\n\n ngOnInit() {\n }\n\n\n}\n","module.exports = \"\\n.unread {\\n font-weight: bold;\\n}\\n\"","module.exports = \"
\\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n {{getPrintedDate(value)}}\\n \\n \\n\\n \\n \\n {{value}}\\n \\n \\n\\n \\n \\n {{value}}\\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n
\\n\"","import { Component, OnInit, OnDestroy, TemplateRef, ViewChild, Input } from '@angular/core';\n\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { NotificationService } from \"../../services/notification.service\";\nimport { AccountService } from \"../../services/account.service\";\nimport { Permission } from '../../models/permission.model';\nimport { Utilities } from \"../../services/utilities\";\nimport { Notification } from '../../models/notification.model';\n\n\n@Component({\n selector: 'notifications-viewer',\n templateUrl: './notifications-viewer.component.html',\n styleUrls: ['./notifications-viewer.component.css']\n})\nexport class NotificationsViewerComponent implements OnInit, OnDestroy {\n columns: any[] = [];\n rows: Notification[] = [];\n loadingIndicator: boolean;\n\n dataLoadingConsecutiveFailurs = 0;\n dataLoadingSubscription: any;\n\n\n @Input()\n isViewOnly: boolean;\n\n @Input()\n verticalScrollbar: boolean = false;\n\n\n @ViewChild('statusHeaderTemplate')\n statusHeaderTemplate: TemplateRef;\n\n @ViewChild('statusTemplate')\n statusTemplate: TemplateRef;\n\n @ViewChild('dateTemplate')\n dateTemplate: TemplateRef;\n\n @ViewChild('contentHeaderTemplate')\n contentHeaderTemplate: TemplateRef;\n\n @ViewChild('contenBodytTemplate')\n contenBodytTemplate: TemplateRef;\n\n @ViewChild('actionsTemplate')\n actionsTemplate: TemplateRef;\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private accountService: AccountService, private notificationService: NotificationService) {\n }\n\n\n ngOnInit() {\n\n if (this.isViewOnly) {\n this.columns = [\n { prop: 'date', cellTemplate: this.dateTemplate, width: 100, resizeable: false, canAutoResize: false, sortable: false, draggable: false },\n { prop: 'header', cellTemplate: this.contentHeaderTemplate, width: 200, resizeable: false, sortable: false, draggable: false },\n ];\n }\n else {\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n this.columns = [\n { prop: \"\", name: '', width: 10, headerTemplate: this.statusHeaderTemplate, cellTemplate: this.statusTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false },\n { prop: 'date', name: gT('notifications.Date'), cellTemplate: this.dateTemplate, width: 30 },\n { prop: 'body', name: gT('notifications.Notification'), cellTemplate: this.contenBodytTemplate, width: 500 },\n { name: '', width: 80, cellTemplate: this.actionsTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false }\n ];\n }\n\n\n this.initDataLoading();\n }\n\n\n ngOnDestroy() {\n if (this.dataLoadingSubscription)\n this.dataLoadingSubscription.unsubscribe();\n }\n\n\n\n initDataLoading() {\n\n if (this.isViewOnly && this.notificationService.recentNotifications) {\n this.rows = this.processResults(this.notificationService.recentNotifications);\n return;\n }\n\n\n this.alertService.startLoadingMessage();\n this.loadingIndicator = true;\n\n let dataLoadTask = this.isViewOnly ? this.notificationService.getNewNotifications() : this.notificationService.getNewNotificationsPeriodically()\n\n this.dataLoadingSubscription = dataLoadTask\n .subscribe(notifications => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n this.dataLoadingConsecutiveFailurs = 0;\n\n this.rows = this.processResults(notifications);\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.warn);\n this.alertService.logError(error);\n\n if (this.dataLoadingConsecutiveFailurs++ < 5)\n setTimeout(() => this.initDataLoading(), 5000);\n else\n this.alertService.showStickyMessage(\"Load Error\", \"Loading new notifications from the server failed!\", MessageSeverity.error);\n\n });\n\n\n if (this.isViewOnly)\n this.dataLoadingSubscription = null;\n }\n\n\n private processResults(notifications: Notification[]) {\n\n if (this.isViewOnly) {\n notifications.sort((a, b) => {\n return b.date.valueOf() - a.date.valueOf();\n });\n }\n\n return notifications;\n }\n\n\n\n getPrintedDate(value: Date) {\n if (value)\n return Utilities.printTimeOnly(value) + \" on \" + Utilities.printDateOnly(value);\n }\n\n\n deleteNotification(row: Notification) {\n this.alertService.showDialog('Are you sure you want to delete the notification \\\"' + row.header + '\\\"?', DialogType.confirm, () => this.deleteNotificationHelper(row));\n }\n\n\n deleteNotificationHelper(row: Notification) {\n\n this.alertService.startLoadingMessage(\"Deleting...\");\n this.loadingIndicator = true;\n\n this.notificationService.deleteNotification(row)\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.rows = this.rows.filter(item => item.id != row.id)\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the notification.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n togglePin(row: Notification) {\n\n let pin = !row.isPinned;\n let opText = pin ? \"Pinning\" : \"Unpinning\";\n\n this.alertService.startLoadingMessage(opText + \"...\");\n this.loadingIndicator = true;\n\n this.notificationService.pinUnpinNotification(row, pin)\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n row.isPinned = pin;\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(opText + \" Error\", `An error occured whilst ${opText} the notification.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n get canManageNotifications() {\n return this.accountService.userHasPermission(Permission.manageRolesPermission); //Todo: Consider creating separate permission for notifications\n }\n\n}\n","module.exports = \".row:not(:last-child) {\\n /*border-bottom: 1px solid #ccc;*/\\n}\\n\\n.separator-hr {\\n margin: 0 5px;\\n border-top-style: dashed;\\n}\\n\\n.edit-separator-hr {\\n margin: 10px 5px;\\n border-top-style: dashed;\\n}\\n\\n.last-separator-hr {\\n margin-top: 5px;\\n}\\n\\n.edit-last-separator-hr {\\n margin-top: 15px;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.roleErrorMessage {\\n margin-left: 50px;\\n}\\n\\n.permissionsColumn {\\n margin-bottom: 20px;\\n}\\n\\n.permissionsRow {\\n margin: 0 15px;\\n}\\n\\n.password-well {\\n margin-bottom: 0;\\n}\\n\\n@media (min-width: 992px) {\\n .user-enabled {\\n margin-left: 40px;\\n }\\n}\\n\"","module.exports = \"
\\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 {{'roles.editor.RoleNameRequired' | 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
\\n \\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, ViewChild } from '@angular/core';\n\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\nimport { AccountService } from \"../../services/account.service\";\nimport { Role } from '../../models/role.model';\nimport { Permission } from '../../models/permission.model';\n\n\n@Component({\n selector: 'role-editor',\n templateUrl: './role-editor.component.html',\n styleUrls: ['./role-editor.component.css']\n})\nexport class RoleEditorComponent {\n\n private isNewRole = false;\n private isSaving: boolean;\n private showValidationErrors: boolean = true;\n private editingRoleName: string;\n private roleEdit: Role = new Role();\n private allPermissions: Permission[] = [];\n private selectedValues: { [key: string]: boolean; } = {};\n\n public formResetToggle = true;\n\n public changesSavedCallback: () => void;\n public changesFailedCallback: () => void;\n public changesCancelledCallback: () => void;\n\n\n @ViewChild('f')\n private form;\n\n\n\n constructor(private alertService: AlertService, private accountService: AccountService) {\n }\n\n\n\n private showErrorAlert(caption: string, message: string) {\n this.alertService.showMessage(caption, message, MessageSeverity.error);\n }\n\n\n private save() {\n this.isSaving = true;\n this.alertService.startLoadingMessage(\"Saving changes...\");\n\n this.roleEdit.permissions = this.getSelectedPermissions();\n\n if (this.isNewRole) {\n this.accountService.newRole(this.roleEdit).subscribe(role => this.saveSuccessHelper(role), error => this.saveFailedHelper(error));\n }\n else {\n this.accountService.updateRole(this.roleEdit).subscribe(response => this.saveSuccessHelper(), error => this.saveFailedHelper(error));\n }\n }\n\n\n\n\n private saveSuccessHelper(role?: Role) {\n if (role)\n Object.assign(this.roleEdit, role);\n\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.showValidationErrors = false;\n\n if (this.isNewRole)\n this.alertService.showMessage(\"Success\", `Role \\\"${this.roleEdit.name}\\\" was created successfully`, MessageSeverity.success);\n else\n this.alertService.showMessage(\"Success\", `Changes to role \\\"${this.roleEdit.name}\\\" was saved successfully`, MessageSeverity.success);\n\n\n this.roleEdit = new Role();\n this.resetForm();\n\n\n if (!this.isNewRole && this.accountService.currentUser.roles.some(r => r == this.editingRoleName))\n this.refreshLoggedInUser();\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n private refreshLoggedInUser() {\n this.accountService.refreshLoggedInUser()\n .subscribe(user => { },\n error => {\n this.alertService.resetStickyMessage();\n this.alertService.showStickyMessage(\"Refresh failed\", \"An error occured whilst refreshing logged in user information from the server\", MessageSeverity.error, error);\n });\n }\n\n\n\n private saveFailedHelper(error: any) {\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", \"The below errors occured whilst saving your changes:\", MessageSeverity.error, error);\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\n\n if (this.changesFailedCallback)\n this.changesFailedCallback();\n }\n\n\n private cancel() {\n this.roleEdit = new Role();\n\n this.showValidationErrors = false;\n this.resetForm();\n\n this.alertService.showMessage(\"Cancelled\", \"Operation cancelled by user\", MessageSeverity.default);\n this.alertService.resetStickyMessage();\n\n if (this.changesCancelledCallback)\n this.changesCancelledCallback();\n }\n\n\n\n private selectAll() {\n this.allPermissions.forEach(p => this.selectedValues[p.value] = true);\n }\n\n\n private selectNone() {\n this.allPermissions.forEach(p => this.selectedValues[p.value] = false);\n }\n\n\n private toggleGroup(groupName: string) {\n let firstMemberValue: boolean;\n\n this.allPermissions.forEach(p => {\n if (p.groupName != groupName)\n return;\n\n if (firstMemberValue == null)\n firstMemberValue = this.selectedValues[p.value] == true;\n\n this.selectedValues[p.value] = !firstMemberValue;\n });\n }\n\n\n private getSelectedPermissions() {\n return this.allPermissions.filter(p => this.selectedValues[p.value] == true);\n }\n\n\n resetForm(replace = false) {\n\n if (!replace) {\n this.form.reset();\n }\n else {\n this.formResetToggle = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n }\n\n\n newRole(allPermissions: Permission[]) {\n this.isNewRole = true;\n this.showValidationErrors = true;\n\n this.editingRoleName = null;\n this.allPermissions = allPermissions;\n this.selectedValues = {};\n this.roleEdit = new Role();\n\n return this.roleEdit;\n }\n\n editRole(role: Role, allPermissions: Permission[]) {\n if (role) {\n this.isNewRole = false;\n this.showValidationErrors = true;\n\n this.editingRoleName = role.name;\n this.allPermissions = allPermissions;\n this.selectedValues = {};\n role.permissions.forEach(p => this.selectedValues[p.value] = true);\n this.roleEdit = new Role();\n Object.assign(this.roleEdit, role);\n\n return this.roleEdit;\n }\n else {\n return this.newRole(allPermissions);\n }\n }\n\n\n\n get canManageRoles() {\n return this.accountService.userHasPermission(Permission.manageRolesPermission)\n }\n}\n","module.exports = \"\\n.control-box {\\n margin-bottom: 5px;\\n}\\n\\n.search-box {\\n margin: 0;\\n}\\n\\n.action-box {\\n margin: 0 50px 0 0;\\n min-height: 0;\\n}\\n\\n.action-box .toolbaritem a {\\n padding-top: 5px;\\n padding-bottom: 5px;\\n min-width: 100px;\\n }\\n\\n@media (max-width: 768px) {\\n .action-box {\\n margin: 0 14px;\\n }\\n}\\n\"","module.exports = \"
\\n
\\n
\\n
\\n >\\n
\\n
\\n \\n
\\n\\n \\n \\n\\n \\n {{value}}\\n \\n\\n\\n \\n {{'roles.management.Edit' | translate}}\\n {{'roles.management.Details' | translate}}\\n {{canManageRoles ? '|' : ''}}\\n {{'roles.management.Delete' | translate}}\\n \\n\\n\\n
\\n
\\n
\\n
\\n

{{'roles.management.RoleDetails' | translate:editingRoleName}}

\\n

{{editingRoleName ? ('roles.management.EditRole' | translate:editingRoleName) : ('roles.management.NewRole' | translate)}}

\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, AfterViewInit, TemplateRef, ViewChild, Input } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { AccountService } from '../../services/account.service';\nimport { Utilities } from '../../services/utilities';\nimport { Role } from '../../models/role.model';\nimport { Permission } from '../../models/permission.model';\nimport { RoleEditorComponent } from \"./role-editor.component\";\n\n\n@Component({\n selector: 'roles-management',\n templateUrl: './roles-management.component.html',\n styleUrls: ['./roles-management.component.css']\n})\nexport class RolesManagementComponent implements OnInit, AfterViewInit {\n columns: any[] = [];\n rows: Role[] = [];\n rowsCache: Role[] = [];\n allPermissions: Permission[] = [];\n editedRole: Role;\n sourceRole: Role;\n editingRoleName: { name: string };\n loadingIndicator: boolean;\n\n\n\n @ViewChild('indexTemplate')\n indexTemplate: TemplateRef;\n\n @ViewChild('actionsTemplate')\n actionsTemplate: TemplateRef;\n\n @ViewChild('editorModal')\n editorModal: ModalDirective;\n\n @ViewChild('roleEditor')\n roleEditor: RoleEditorComponent;\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private accountService: AccountService) {\n }\n\n\n ngOnInit() {\n\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n this.columns = [\n { prop: \"index\", name: '#', width: 50, cellTemplate: this.indexTemplate, canAutoResize: false },\n { prop: 'name', name: gT('roles.management.Name'), width: 200 },\n { prop: 'description', name: gT('roles.management.Description'), width: 350 },\n { prop: 'usersCount', name: gT('roles.management.Users'), width: 80 },\n { name: '', width: 130, cellTemplate: this.actionsTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false }\n ];\n\n this.loadData();\n }\n\n\n\n\n\n ngAfterViewInit() {\n\n this.roleEditor.changesSavedCallback = () => {\n this.addNewRoleToList();\n this.editorModal.hide();\n };\n\n this.roleEditor.changesCancelledCallback = () => {\n this.editedRole = null;\n this.sourceRole = null;\n this.editorModal.hide();\n };\n }\n\n\n addNewRoleToList() {\n if (this.sourceRole) {\n Object.assign(this.sourceRole, this.editedRole);\n\n let sourceIndex = this.rowsCache.indexOf(this.sourceRole, 0);\n if (sourceIndex > -1)\n Utilities.moveArrayItem(this.rowsCache, sourceIndex, 0);\n\n sourceIndex = this.rows.indexOf(this.sourceRole, 0);\n if (sourceIndex > -1)\n Utilities.moveArrayItem(this.rows, sourceIndex, 0);\n\n this.editedRole = null;\n this.sourceRole = null;\n }\n else {\n let role = new Role();\n Object.assign(role, this.editedRole);\n this.editedRole = null;\n\n let maxIndex = 0;\n for (let r of this.rowsCache) {\n if ((r).index > maxIndex)\n maxIndex = (r).index;\n }\n\n (role).index = maxIndex + 1;\n\n this.rowsCache.splice(0, 0, role);\n this.rows.splice(0, 0, role);\n this.rows = [...this.rows];\n }\n }\n\n\n\n\n loadData() {\n this.alertService.startLoadingMessage();\n this.loadingIndicator = true;\n\n this.accountService.getRolesAndPermissions()\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n let roles = results[0];\n let permissions = results[1];\n\n roles.forEach((role, index, roles) => {\n (role).index = index + 1;\n });\n\n\n this.rowsCache = [...roles];\n this.rows = roles;\n\n this.allPermissions = permissions;\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve roles from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n onSearchChanged(value: string) {\n this.rows = this.rowsCache.filter(r => Utilities.searchArray(value, false, r.name, r.description));\n }\n\n\n onEditorModalHidden() {\n this.editingRoleName = null;\n this.roleEditor.resetForm(true);\n }\n\n\n newRole() {\n this.editingRoleName = null;\n this.sourceRole = null;\n this.editedRole = this.roleEditor.newRole(this.allPermissions);\n this.editorModal.show();\n }\n\n\n editRole(row: Role) {\n this.editingRoleName = { name: row.name };\n this.sourceRole = row;\n this.editedRole = this.roleEditor.editRole(row, this.allPermissions);\n this.editorModal.show();\n }\n\n deleteRole(row: Role) {\n this.alertService.showDialog('Are you sure you want to delete the \\\"' + row.name + '\\\" role?', DialogType.confirm, () => this.deleteRoleHelper(row));\n }\n\n\n deleteRoleHelper(row: Role) {\n\n this.alertService.startLoadingMessage(\"Deleting...\");\n this.loadingIndicator = true;\n\n this.accountService.deleteRole(row)\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.rowsCache = this.rowsCache.filter(item => item !== row)\n this.rows = this.rows.filter(item => item !== row)\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the role.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n get canManageRoles() {\n return this.accountService.userHasPermission(Permission.manageRolesPermission)\n }\n\n}\n","module.exports = \"\\n.search-icon {\\n pointer-events: none;\\n}\\n\"","module.exports = \"
\\n \\n \\n \\n
\\n\"","import { Component, ViewChild, ElementRef, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'search-box',\n templateUrl: './search-box.component.html',\n styleUrls: ['./search-box.component.css']\n})\nexport class SearchBoxComponent {\n\n @Input()\n placeholder: string = \"Search...\";\n\n @Output()\n searchChange = new EventEmitter();\n\n @ViewChild(\"searchInput\")\n searchInput: ElementRef;\n\n\n onValueChange(value: string) {\n setTimeout(() => this.searchChange.emit(value));\n }\n\n\n clear() {\n this.searchInput.nativeElement.value = '';\n this.onValueChange(this.searchInput.nativeElement.value);\n }\n}\n","module.exports = \".row:not(:last-child) {\\n /*border-bottom: 1px solid #ccc;*/\\n}\\n\\n.separator-hr {\\n margin: 0 5px;\\n border-top-style: dashed;\\n}\\n\\n.edit-separator-hr {\\n margin: 10px 5px;\\n border-top-style: dashed;\\n}\\n\\n.last-separator-hr {\\n margin-top: 5px;\\n}\\n\\n.edit-last-separator-hr {\\n margin-top: 15px;\\n}\\n\\n.password-separator-hr {\\n margin: 5px;\\n border-style: none;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.checkbox.user-enabled {\\n display: inline-block;\\n}\\n\\n.unblock-user {\\n margin-left: 34px;\\n}\\n\\n@media (min-width: 992px) {\\n .user-enabled {\\n margin-left: 40px;\\n }\\n}\\n\\n.required {\\n display: inline-block;\\n color: #ff0000;\\n}\\n\"","module.exports = \"
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingLine1}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingLine1Required' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingLine2}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingLine2MaxChars' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingLine3}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingLine3MaxChars' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingMunicipality}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingMunicipalityRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingStateOrProvince}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingStateOrProvinceRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.billingPostalCode}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.BillingPostalCodeRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n \\n

{{this.sfAccountSettingsService.getSFCountry(sfAccountSettings.billingCountry).name}}

\\n \\n
\\n
\\n \\n \\n \\n \\n {{'AccountSettings.BillingCountryRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingLine1}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingLine1Required' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingLine2}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingLine2MaxChars' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingLine3}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingLine3MaxChars' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingMunicipality}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingMunicipalityRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingStateOrProvince}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingStateOrProvinceRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n

{{sfAccountSettings.shippingPostalCode}}

\\n
\\n
\\n \\n \\n \\n {{'AccountSettings.ShippingPostalCodeRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n \\n

{{this.sfAccountSettingsService.getSFCountry(sfAccountSettings.shippingCountry).name}}

\\n \\n
\\n
\\n \\n \\n \\n \\n {{'AccountSettings.ShippingCountryRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n
\\n e\\\"\\n >\\n us\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\"","import { Component, OnInit, ViewChild, Input } from '@angular/core';\n\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\nimport { Utilities } from '../../services/utilities';\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\nimport { DBkeys } from '../../services/db-Keys';\nimport { LanguageObservableService } from '../../services/language-observable.service';\n\nimport { SFAccountSettings } from '../../models/sf-account-settings.model';\nimport { SFAccountSettingsService } from \"../../services/sf-account-settings.service\";\nimport { SFCountry } from '../../models/sf-country.model';\n\n@Component({\n selector: 'sf-account-settings',\n templateUrl: './sf-account-settings.component.html',\n styleUrls: ['./sf-account-settings.component.css'],\n})\nexport class SFAccountSettingsComponent implements OnInit {\n\n private isEditMode = false;\n private isSaving = false;\n private showValidationErrors = false;\n private uniqueId: string = Utilities.uniqueId();\n private selectedLanguage: string;\n\n private sfAccountSettings: SFAccountSettings = new SFAccountSettings();\n\n public formResetToggle = true;\n\n public changesSavedCallback: () => void;\n public changesFailedCallback: () => void;\n public changesCancelledCallback: () => void;\n\n @Input()\n isViewOnly: boolean;\n\n @Input()\n isGeneralEditor = false;\n\n\n @ViewChild('f')\n private form;\n\n //ViewChilds Required because ngIf hides template variables from global scope\n @ViewChild('billingLine1')\n private billingLine1;\n\n @ViewChild('billingLine2')\n private billingLine2;\n\n @ViewChild('billingLine3')\n private billingLine3;\n\n @ViewChild('billingMunicipality')\n private billingMunicipality;\n\n @ViewChild('billingStateOrProvince')\n private billingStateOrProvince;\n\n @ViewChild('billingPostalCode')\n private billingPostalCode;\n\n @ViewChild('billingCountry')\n private billingCountry;\n\n @ViewChild('shippingLine1')\n private shippingLine1;\n\n @ViewChild('shippingLine2')\n private shippingLine2;\n\n @ViewChild('shippingLine3')\n private shippingLine3;\n\n @ViewChild('shippingMunicipality')\n private shippingMunicipality;\n\n @ViewChild('shippingStateOrProvince')\n private shippingStateOrProvince;\n\n @ViewChild('shippingPostalCode')\n private shippingPostalCode;\n\n @ViewChild('shippingCountry')\n private shippingCountry;\n\n @ViewChild('sfCountries')\n private sfCountries: SFCountry[];\n\n\n constructor(private alertService: AlertService, private sfAccountSettingsService: SFAccountSettingsService, private localStorage: LocalStoreManager, public userInfoService: LanguageObservableService) {\n }\n\n\n ngOnInit() {\n\n this.loadSFCountries();\n\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\n this.selectedLanguage = this.localStorage.getDataObject(DBkeys.LANGUAGE);\n } else {\n this.selectedLanguage = \"en\";\n }\n\n if (!this.isGeneralEditor) {\n this.loadSFAccountSettingsData();\n }\n\n this.userInfoService.languageStream$.subscribe(lang => {\n if (this.selectedLanguage != lang) {\n this.selectedLanguage = lang;\n }\n });\n\n }\n\n\n // SFCountries\n private loadSFCountries() {\n this.sfCountries = this.sfAccountSettingsService.getSFCountries();\n //this.sfAccountSettingsService.getSFCountries()\n // .subscribe(results => this.onSFCountriesDataLoadSuccessful(results), error => this.onSFCountriesDataLoadFailed(error));\n }\n\n //private onSFCountriesDataLoadSuccessful(sfCountries: any) {\n // this.sfCountries = sfCountries;\n // //for (const sfCountryCode in sfCountries) {\n // // this.sfCountries.push(new SFCountry(sfCountryCode, sfCountries[sfCountryCode]));\n // //}\n //}\n\n\n //private onSFCountriesDataLoadFailed(error: any) {\n // this.alertService.showStickyMessage(\"Load Error\", `There was a problem parsing the list of countries.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n // MessageSeverity.error, error);\n //}\n\n\n // SFAccountSettings\n private loadSFAccountSettingsData() {\n this.alertService.startLoadingMessage();\n this.sfAccountSettingsService.getSFAccountSettings()\n .subscribe(results => this.onSFAccountSettingsDataLoadSuccessful(results), error => this.onSFAccountSettingsDataLoadFailed(error));\n }\n\n\n private onSFAccountSettingsDataLoadSuccessful(accountSettings: SFAccountSettings) {\n this.alertService.stopLoadingMessage();\n this.sfAccountSettings = accountSettings;\n this.billingLine1 = accountSettings.billingLine1;\n this.billingLine2 = accountSettings.billingLine2;\n this.billingLine3 = accountSettings.billingLine3;\n this.billingMunicipality = accountSettings.billingMunicipality;\n this.billingStateOrProvince = accountSettings.billingStateOrProvince;\n this.billingPostalCode = accountSettings.billingPostalCode;\n this.billingCountry = accountSettings.billingCountry;\n this.shippingLine1 = accountSettings.shippingLine1;\n this.shippingLine2 = accountSettings.shippingLine2;\n this.shippingLine3 = accountSettings.shippingLine3;\n this.shippingMunicipality = accountSettings.shippingMunicipality;\n this.shippingStateOrProvince = accountSettings.shippingStateOrProvince;\n this.shippingPostalCode = accountSettings.shippingPostalCode;\n this.shippingCountry = accountSettings.shippingCountry;\n }\n\n\n private onSFAccountSettingsDataLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve account settings from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n\n this.sfAccountSettings = new SFAccountSettings();\n }\n\n\n private edit() {\n this.isEditMode = true;\n this.showValidationErrors = true;\n }\n\n\n private save() {\n this.isSaving = true;\n this.alertService.startLoadingMessage(\"Saving changes...\");\n this.sfAccountSettingsService.saveSFAccountSettings(this.sfAccountSettings)\n .subscribe(\n response => this.saveSuccessHelper(response),\n error => this.saveFailedHelper(error));\n }\n\n\n private saveSuccessHelper(response: any) {\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.showValidationErrors = false;\n this.resetForm();\n if (!this.isGeneralEditor) {\n this.loadSFAccountSettingsData();\n }\n this.alertService.showMessage(\"Success\", \"Changes to Account Settings were saved successfully\", MessageSeverity.success);\n this.isEditMode = false;\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n private saveFailedHelper(error: any) {\n this.isSaving = false;\n this.showValidationErrors = true;\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", \"The below errors occurred whilst saving your changes:\", MessageSeverity.error, error);\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\n this.resetForm();\n if (!this.isGeneralEditor) {\n this.loadSFAccountSettingsData();\n }\n if (this.changesFailedCallback)\n this.changesFailedCallback();\n }\n\n\n private cancel() {\n this.showValidationErrors = false;\n this.resetForm();\n\n if (!this.isGeneralEditor) {\n this.loadSFAccountSettingsData();\n }\n\n this.alertService.showMessage(\"Cancelled\", \"Operation cancelled by user\", MessageSeverity.default);\n this.alertService.resetStickyMessage();\n\n if (!this.isGeneralEditor)\n this.isEditMode = false;\n\n if (this.changesCancelledCallback)\n this.changesCancelledCallback();\n }\n\n\n private close() {\n this.showValidationErrors = false;\n this.resetForm();\n this.isEditMode = false;\n\n if (!this.isGeneralEditor) {\n this.loadSFAccountSettingsData();\n }\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n resetForm(replace = false) {\n if (!replace) {\n this.form.reset();\n }\n else {\n this.formResetToggle = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n }\n\n private showErrorAlert(caption: string, message: string) {\n this.alertService.showMessage(caption, message, MessageSeverity.error);\n }\n\n}\n","module.exports = \".row:not(:last-child) {\\n /*border-bottom: 1px solid #ccc;*/\\n}\\n\\n.separator-hr {\\n margin: 0 5px;\\n border-top-style: dashed;\\n}\\n\\n.edit-separator-hr {\\n margin: 10px 5px;\\n border-top-style: dashed;\\n}\\n\\n.last-separator-hr {\\n margin-top: 5px;\\n}\\n\\n.edit-last-separator-hr {\\n margin-top: 15px;\\n}\\n\\n.password-separator-hr {\\n margin: 5px;\\n border-style: none;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.checkbox.is-active {\\n display: inline-block;\\n}\\n\\n.required {\\n display: inline-block;\\n color: #ff0000;\\n}\\n\"","module.exports = \"
\\n
\\n \\n\\n
\\n \\n
\\n

{{sfContact.firstName}}

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

{{sfContact.lastName}}

\\n
\\n
\\n \\n \\n \\n {{'Contacts.editor.LastNameRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{sfContact.email}}

\\n
\\n
\\n \\n \\n \\n {{'Contacts.editor.EmailRequired' | translate}}\\n \\n \\n {{'Contacts.editor.InvalidEmail' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{sfContact.phone}}

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

{{'Contacts.management.RoleMainContact' | translate}}

\\n

{{'Contacts.management.RoleBillingContact' | translate}}

\\n

{{'Contacts.management.RoleShippingContact' | translate}}

\\n

{{'Contacts.management.RoleServiceContact' | translate}}

\\n

{{'Contacts.management.RolePropertyContact' | translate}}

\\n

{{'Contacts.management.RoleInstallationContact' | translate}}

\\n

{{'Contacts.management.RoleMarketingContact' | 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

{{'Contacts.management.DoNotCall' | translate}}

\\n

{{'Contacts.management.DoNotEmail' | 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
\\n
\\n\"","import { Component, OnInit, ViewChild, Input } from '@angular/core';\n\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\nimport { Utilities } from '../../services/utilities';\nimport { Observable } from 'rxjs';\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\nimport { DBkeys } from '../../services/db-Keys';\nimport { LanguageObservableService } from '../../services/language-observable.service';\n\nimport { SFAccountSettings } from '../../models/sf-account-settings.model';\nimport { SFAccountSettingsService } from \"../../services/sf-account-settings.service\";\nimport { SFContact } from \"../../models/sf-contact.model\";\n\n\n@Component({\n selector: 'sf-contact-info',\n templateUrl: './sf-contact-info.component.html',\n styleUrls: ['./sf-contact-info.component.css'],\n})\nexport class SFContactInfoComponent implements OnInit {\n\n private isEditMode = false;\n private isNewContact = false;\n private isSaving = false;\n private showValidationErrors = false;\n private editingContactName: string;\n private uniqueId: string = Utilities.uniqueId();\n private sfAccountSettings: SFAccountSettings = new SFAccountSettings();\n private sfContact: SFContact = new SFContact();\n private sfContactEdit: SFContact = new SFContact();\n private selectedLanguage: string;\n\n public formResetToggle: boolean = true;\n\n public changesSavedCallback: () => void;\n public changesFailedCallback: () => void;\n public changesCancelledCallback: () => void;\n\n \n @Input()\n isViewOnly: boolean;\n\n @Input()\n isGeneralEditor = false;\n\n\n @ViewChild('f')\n private form;\n\n //ViewChilds Required because ngIf hides template variables from global scope\n @ViewChild('id') private id;\n @ViewChild('accountNumber') private accountNumber;\n @ViewChild('firstName') private firstName;\n @ViewChild('lastName') private lastName;\n @ViewChild('email') private email;\n @ViewChild('phone') private phone;\n @ViewChild('mainContact') private mainContact;\n @ViewChild('billingContact') private billingContact;\n @ViewChild('shippingContact') private shippingContact;\n @ViewChild('serviceContact') private serviceContact;\n @ViewChild('propertyContact') private propertyContact;\n @ViewChild('installationContact') private installationContact;\n @ViewChild('marketingContact') private marketingContact;\n @ViewChild('doNotCall') private doNotCall;\n @ViewChild('doNotEmail') private doNotEmail;\n @ViewChild('active') private active;\n\n // Computed values from the SFContact model\n @ViewChild('name') private name;\n\n //@ViewChild('removedLastMainContact') public removedLastMainContact: boolean = false;\n //public numMainContacts: number;\n //public numMainContactsCallback: () => void;\n\n\n constructor(private alertService: AlertService, private sfAccountSettingsService: SFAccountSettingsService, private localStorage: LocalStoreManager, public userInfoService: LanguageObservableService) {\n }\n\n ngOnInit() {\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\n this.selectedLanguage = this.localStorage.getDataObject(DBkeys.LANGUAGE);\n } else {\n this.selectedLanguage = \"en\";\n }\n\n this.loadSFAccountSettingsData(); // So we can populate the AccountNumber for new Contacts.\n\n if (!this.isGeneralEditor) {\n this.loadSFContactInfo();\n }\n\n this.userInfoService.languageStream$.subscribe(lang => {\n if (this.selectedLanguage != lang) {\n this.selectedLanguage = lang;\n }\n });\n }\n\n // SFAccountSettings\n\n private loadSFAccountSettingsData() {\n this.alertService.startLoadingMessage();\n this.sfAccountSettingsService.getSFAccountSettings()\n .subscribe(results => this.onSFAccountSettingsDataLoadSuccessful(results), error => this.onSFAccountSettingsDataLoadFailed(error));\n }\n\n\n private onSFAccountSettingsDataLoadSuccessful(accountSettings: SFAccountSettings) {\n this.alertService.stopLoadingMessage();\n this.sfAccountSettings = accountSettings;\n }\n\n\n private onSFAccountSettingsDataLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve account settings from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n\n this.sfAccountSettings = new SFAccountSettings();\n }\n\n\n // SFContact\n\n private loadSFContactInfo() {\n this.alertService.startLoadingMessage();\n this.sfAccountSettingsService.getSFContact().subscribe(results => this.onSFContactInfoLoadSuccessful(results), error => this.onSFContactInfoLoadFailed(error));\n }\n\n\n private onSFContactInfoLoadSuccessful(sfContact: SFContact) {\n this.alertService.stopLoadingMessage();\n this.sfContact = sfContact;\n this.id = sfContact.id;\n this.accountNumber = sfContact.accountNumber;\n this.firstName = sfContact.firstName;\n this.lastName = sfContact.lastName;\n this.email = sfContact.email;\n this.phone = sfContact.phone;\n this.mainContact = sfContact.mainContact;\n this.billingContact = sfContact.billingContact;\n this.shippingContact = sfContact.shippingContact;\n this.serviceContact = sfContact.serviceContact;\n this.propertyContact = sfContact.propertyContact;\n this.installationContact = sfContact.installationContact;\n this.marketingContact = sfContact.marketingContact;\n this.doNotCall = sfContact.doNotCall;\n this.doNotEmail = sfContact.doNotEmail;\n this.active = sfContact.active\n\n // Computed values from the SFContact model\n this.fillName(sfContact);\n this.name = sfContact.name;\n }\n\n private onSFContactInfoLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve contact data from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n\n this.sfContact = new SFContact();\n }\n\n\n private edit() {\n if (this.isNewContact) \n this.sfContact.accountNumber = this.sfAccountSettings.accountNumber;\n Object.assign(this.sfContactEdit, this.sfContact);\n this.isEditMode = true;\n this.showValidationErrors = true;\n }\n\n\n private save() {\n this.isSaving = true;\n this.alertService.startLoadingMessage(\"Saving changes...\");\n this.sfAccountSettingsService.saveSFContact(this.sfContactEdit)\n .subscribe(\n response => this.saveSuccessHelper(response),\n error => this.saveFailedHelper(error));\n }\n\n\n private saveSuccessHelper(sfContact?: SFContact) {\n if (sfContact)\n Object.assign(this.sfContactEdit, sfContact);\n\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.showValidationErrors = false;\n\n this.fillName(this.sfContactEdit);\n Object.assign(this.sfContact, this.sfContactEdit);\n this.sfContactEdit = new SFContact();\n this.resetForm();\n\n if (this.isGeneralEditor) {\n if (this.isNewContact)\n this.alertService.showMessage(\"Success\", `Contact \\\"${this.sfContact.name}\\\" was created successfully`, MessageSeverity.success);\n else\n this.alertService.showMessage(\"Success\", `Changes to contact \\\"${this.sfContact.name}\\\" were saved successfully`, MessageSeverity.success);\n }\n\n this.isEditMode = false;\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n private saveFailedHelper(error: any) {\n this.isSaving = false;\n this.showValidationErrors = true;\n\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", \"The below errors occurred whilst saving your changes:\", MessageSeverity.error, error);\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\n\n this.resetForm();\n\n if (this.changesFailedCallback)\n this.changesFailedCallback();\n }\n\n\n private cancel() {\n if (this.isGeneralEditor)\n this.sfContactEdit = this.sfContact = new SFContact();\n else\n this.sfContactEdit = new SFContact();\n\n this.showValidationErrors = false;\n this.resetForm();\n\n this.alertService.showMessage(\"Cancelled\", \"Operation cancelled by user\", MessageSeverity.default);\n this.alertService.resetStickyMessage();\n\n if (!this.isGeneralEditor)\n this.isEditMode = false;\n\n if (this.changesCancelledCallback)\n this.changesCancelledCallback();\n }\n\n\n private close() {\n this.sfContactEdit = this.sfContact = new SFContact();\n this.showValidationErrors = false;\n this.resetForm();\n this.isEditMode = false;\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n resetForm(replace = false) {\n if (!replace) {\n this.form.reset();\n }\n else {\n this.formResetToggle = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n }\n\n\n newSFContact() {\n this.isGeneralEditor = true;\n this.isNewContact = true;\n\n this.editingContactName = null;\n this.sfContact = this.sfContactEdit = new SFContact();\n this.sfContactEdit.active = true;\n this.edit();\n\n //this.numMainContactsCallback(); // Get the current number of Main contacts from the parent page.\n //this.removedLastMainContact = (this.sfContact.mainContact && !this.sfContactEdit.mainContact && this.numMainContacts == 1);\n\n return this.sfContactEdit;\n }\n\n editSFContact(sfContact: SFContact) {\n if (sfContact) {\n this.isGeneralEditor = true;\n this.isNewContact = false;\n\n this.editingContactName = sfContact.name;\n this.sfContact = new SFContact();\n this.sfContactEdit = new SFContact();\n Object.assign(this.sfContact, sfContact);\n Object.assign(this.sfContactEdit, sfContact);\n this.edit();\n\n //this.numMainContactsCallback(); // Get the current number of Main contacts from the parent page.\n //this.removedLastMainContact = (this.sfContact.mainContact && !this.sfContactEdit.mainContact && this.numMainContacts == 1);\n\n return this.sfContactEdit;\n }\n else {\n return this.newSFContact();\n }\n }\n\n\n displaySFContact(sfContact: SFContact) {\n this.sfContact = new SFContact();\n Object.assign(this.sfContact, sfContact);\n this.isEditMode = false;\n }\n\n\n private showErrorAlert(caption: string, message: string) {\n this.alertService.showMessage(caption, message, MessageSeverity.error);\n }\n\n\n // Populate the contact's full name.\n fillName(sfContact: SFContact) {\n let firstName = sfContact.firstName ? (sfContact.firstName.toLowerCase() != 'null' ? sfContact.firstName : '') : '';\n sfContact.name = (firstName + ' ' + sfContact.lastName).trim();\n }\n\n}\n","module.exports = \".row:not(:last-child) {\\n /*border-bottom: 1px solid #ccc;*/\\n}\\n\\n.separator-hr {\\n margin: 0 5px;\\n border-top-style: dashed;\\n}\\n\\n.edit-separator-hr {\\n margin: 10px 5px;\\n border-top-style: dashed;\\n}\\n\\n.last-separator-hr {\\n margin-top: 5px;\\n}\\n\\n.edit-last-separator-hr {\\n margin-top: 15px;\\n}\\n\\n.password-separator-hr {\\n margin: 5px;\\n border-style: none;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.inactive {\\n color: #777;\\n font-style: italic;\\n}\\n\\n.roles {\\n display: flex;\\n}\\n\\n.role {\\n font-size: 0.8em !important;\\n margin-right: 1px;\\n padding: 3px 3px !important;\\n}\\n\\n.role-Main {\\n min-width: 30px;\\n}\\n\\n.checkbox.active {\\n display: inline-block;\\n}\\n\\n.green {\\n color: #00ff00;\\n}\\n\\n.red {\\n color: #ff0000;\\n}\\n\\n.center {\\n text-align: center;\\n}\\n\\n@media (min-width: 992px) {\\n .active {\\n margin-left: 40px;\\n }\\n}\\n\"","module.exports = \"
\\n
\\n
\\n
\\n >\\n
\\n
\\n \\n
\\n\\n \\n \\n\\n \\n\\n \\n
\\n
{{'Contacts.management.Role'+role | translate}}
\\n
\\n
\\n\\n \\n \\n \\n \\n\\n \\n \\n \\n\\n\\n
\\n
\\n
\\n
\\n

{{editingContactName ? ('Contacts.management.EditContact' | translate:editingContactName) : ('Contacts.management.NewContact' | translate)}}

\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, AfterViewInit, TemplateRef, ViewChild, ViewChildren, Input } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { Utilities } from \"../../services/utilities\";\n\nimport { SFAccountSettingsService } from \"../../services/sf-account-settings.service\";\nimport { SFContact } from \"../../models/sf-contact.model\";\nimport { SFContactInfoComponent } from \"./sf-contact-info.component\";\n\n@Component({\n selector: 'sf-contacts',\n templateUrl: './sf-contacts.component.html',\n styleUrls: ['./sf-contacts.component.css']\n})\nexport class SFContactsComponent implements OnInit, AfterViewInit {\n columns: any[] = [];\n rows: SFContact[] = [];\n rowsCache: SFContact[] = [];\n editedContact: SFContact;\n sourceContact: SFContact;\n editingContactName: { name: string };\n loadingIndicator: boolean;\n //numMainContacts: number;\n\n //@ViewChild('indexTemplate') indexTemplate: TemplateRef;\n @ViewChild('rolesTemplate') rolesTemplate: TemplateRef;\n @ViewChild('activeTemplate') activeTemplate: TemplateRef;\n @ViewChild('actionsTemplate') actionsTemplate: TemplateRef;\n @ViewChild('editorModal') editorModal: ModalDirective;\n @ViewChild('sfContactEditor') sfContactEditor: SFContactInfoComponent;\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private sfAccountSettingsService: SFAccountSettingsService) {\n }\n\n\n ngOnInit() {\n\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n this.columns = [\n //{ prop: \"index\", name: '#', width: 40, cellTemplate: this.indexTemplate, canAutoResize: false },\n { prop: 'name', name: gT('Contacts.management.Name'), width: 120 },\n { prop: 'email', name: gT('Contacts.management.Email'), width: 140 },\n { prop: 'phone', name: gT('Contacts.management.Phone'), width: 90 },\n { prop: 'roles', name: gT('Contacts.management.Roles'), width: 160, cellTemplate: this.rolesTemplate },\n { prop: 'active', name: gT('Contacts.management.Active'), width: 20, cellTemplate: this.activeTemplate },\n ];\n\n this.columns.push({ name: '', width: 85, cellTemplate: this.actionsTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false });\n\n this.loadData();\n }\n\n\n ngAfterViewInit() {\n\n this.sfContactEditor.changesSavedCallback = () => {\n this.addNewContactToList();\n this.editorModal.hide();\n };\n\n this.sfContactEditor.changesCancelledCallback = () => {\n this.editedContact = null;\n this.sourceContact = null;\n this.editorModal.hide();\n };\n\n //this.sfContactEditor.numMainContactsCallback = () => {\n // this.sfContactEditor.numMainContacts = this.getNumMainContacts();\n //};\n\n }\n\n\n addNewContactToList() {\n try {\n this.fillName(this.editedContact);\n this.fillRoles(this.editedContact);\n // Edit Contact\n if (this.sourceContact) {\n Object.assign(this.sourceContact, this.editedContact);\n\n //// Move edited contact to the top of the grid\n //let sourceIndex = this.rowsCache.indexOf(this.sourceContact, 0);\n //if (sourceIndex > -1)\n // Utilities.moveArrayItem(this.rowsCache, sourceIndex, 0);\n //sourceIndex = this.rows.indexOf(this.sourceContact, 0);\n //if (sourceIndex > -1)\n // Utilities.moveArrayItem(this.rows, sourceIndex, 0);\n\n this.editedContact = null;\n this.sourceContact = null;\n }\n // New Contact\n else {\n let sfContact = new SFContact();\n Object.assign(sfContact, this.editedContact);\n this.editedContact = null;\n\n //let maxIndex = 0;\n //for (let u of this.rowsCache) {\n // if ((u).index > maxIndex)\n // maxIndex = (u).index;\n //}\n\n //(sfContact).index = maxIndex + 1;\n\n this.rowsCache.splice(0, 0, sfContact);\n this.rows.splice(0, 0, sfContact);\n this.rows = [...this.rows];\n }\n }\n catch (e) {\n throw Error(Utilities.getErrorString(e, 'SFContactsComponent.addNewContactToList'));\n }\n\n }\n\n\n loadData() {\n this.alertService.startLoadingMessage();\n this.loadingIndicator = true;\n this.sfAccountSettingsService.getSFContacts().subscribe(results => this.onDataLoadSuccessful(results), error => this.onDataLoadFailed(error));\n }\n\n\n onDataLoadSuccessful(sfContacts: SFContact[]) {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n //this.numMainContacts = 0;\n\n sfContacts.forEach((sfContact, index, sfContacts) => {\n //(sfContact).index = index + 1;\n this.fillName((sfContact));\n this.fillRoles(sfContact);\n //if ((sfContact).mainContact) this.numMainContacts++;\n });\n\n this.rowsCache = [...sfContacts];\n this.rows = sfContacts;\n }\n\n\n onDataLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve contacts from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n }\n\n\n onSearchChanged(value: string) {\n this.rows = this.rowsCache.filter(r => Utilities.searchArray(value, false, r.firstName, r.lastName, r.email, r.phone));\n }\n\n onEditorModalHidden() {\n this.editingContactName = null;\n this.sfContactEditor.resetForm(true);\n }\n\n\n newSFContact() {\n this.editingContactName = null;\n this.sourceContact = null;\n this.editedContact = this.sfContactEditor.newSFContact();\n this.editorModal.show();\n }\n\n\n editSFContact(row: SFContact) {\n this.editingContactName = { name: row.name };\n this.sourceContact = row;\n this.editedContact = this.sfContactEditor.editSFContact(row);\n this.editorModal.show();\n }\n\n\n // Populate the contact's full name.\n fillName(sfContact: SFContact) {\n let firstName = sfContact.firstName ? (sfContact.firstName.toLowerCase() != 'null' ? sfContact.firstName : '') : '';\n sfContact.name = (firstName + ' ' + sfContact.lastName).trim();\n }\n\n // Populate the contact's Roles.\n fillRoles(sfContact: SFContact) {\n sfContact.roles = [];\n if (sfContact.mainContact) sfContact.roles.push('Main');\n if (sfContact.billingContact) sfContact.roles.push('Billing');\n if (sfContact.shippingContact) sfContact.roles.push('Shipping');\n if (sfContact.serviceContact) sfContact.roles.push('Service');\n if (sfContact.propertyContact) sfContact.roles.push('Property');\n if (sfContact.installationContact) sfContact.roles.push('Installation');\n if (sfContact.marketingContact) sfContact.roles.push('Marketing');\n }\n\n getNumMainContacts() {\n let numMainContacts = 0;\n //let sfContacts = this.rows;\n for(let sfContact of this.rows) \n if (sfContact.mainContact) numMainContacts++;\n return numMainContacts;\n }\n\n}\n","module.exports = \"\\n.chart-container {\\n display: block;\\n}\\n\\n\\n.refresh-btn {\\n margin-right: 10px;\\n}\\n\\n\\n.chart-type-container {\\n display: inline-block;\\n}\\n\\n\\nli.active2 {\\n background-color: #e8e8e8;\\n}\\n\"","module.exports = \"
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{label}}
{{d && d.label.split(' ').pop()}}{{d && d.data[j]}}
\\n \\n
\\n \\n \\n
\\n \\n \\n
\\n
\\n\"","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AlertService, DialogType, AlertMessage, MessageSeverity } from '../../services/alert.service';\nrequire('chart.js');\n\n\n\n@Component({\n selector: 'statistics-demo',\n templateUrl: './statistics-demo.component.html',\n styleUrls: ['./statistics-demo.component.css']\n})\nexport class StatisticsDemoComponent implements OnInit, OnDestroy {\n\n chartData: Array = [\n { data: [65, 59, 80, 81, 56, 55], label: 'Series A' },\n { data: [28, 48, 40, 19, 86, 27], label: 'Series B' },\n { data: [18, 48, 77, 9, 100, 27], label: 'Series C' }\n ];\n chartLabels: Array = ['January', 'February', 'March', 'April', 'May', 'June'];\n chartOptions: any = {\n responsive: true,\n title: {\n display: false,\n fontSize: 16,\n text: 'Important Stuff'\n }\n };\n chartColors: Array = [\n { // grey\n backgroundColor: 'rgba(148,159,177,0.2)',\n borderColor: 'rgba(148,159,177,1)',\n pointBackgroundColor: 'rgba(148,159,177,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\n },\n { // dark grey\n backgroundColor: 'rgba(77,83,96,0.2)',\n borderColor: 'rgba(77,83,96,1)',\n pointBackgroundColor: 'rgba(77,83,96,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(77,83,96,1)'\n },\n { // something else\n backgroundColor: 'rgba(128,128,128,0.2)',\n borderColor: 'rgba(128,128,128,1)',\n pointBackgroundColor: 'rgba(128,128,128,1)',\n pointBorderColor: '#fff',\n pointHoverBackgroundColor: '#fff',\n pointHoverBorderColor: 'rgba(128,128,128,0.8)'\n }\n ];\n chartLegend: boolean = true;\n chartType: string = 'line';\n\n timerReference: any;\n\n\n\n constructor(private alertService: AlertService) {\n }\n\n\n ngOnInit() {\n this.timerReference = setInterval(() => this.randomize(), 5000);\n }\n\n ngOnDestroy() {\n clearInterval(this.timerReference);\n }\n\n\n\n randomize(): void {\n let _chartData: Array = new Array(this.chartData.length);\n for (let i = 0; i < this.chartData.length; i++) {\n _chartData[i] = { data: new Array(this.chartData[i].data.length), label: this.chartData[i].label };\n\n for (let j = 0; j < this.chartData[i].data.length; j++) {\n _chartData[i].data[j] = Math.floor((Math.random() * 100) + 1);\n }\n }\n\n this.chartData = _chartData;\n }\n\n\n changeChartType(type: string) {\n this.chartType = type;\n }\n\n showMessage(msg: string): void {\n this.alertService.showMessage(\"Demo\", msg, MessageSeverity.info);\n }\n\n showDialog(msg: string): void {\n this.alertService.showDialog(msg, DialogType.prompt, (val) => this.configure(true, val), () => this.configure(false));\n }\n\n configure(response: boolean, value?: string) {\n\n if (response) {\n\n this.alertService.showStickyMessage(\"Simulating...\", \"\", MessageSeverity.wait);\n\n setTimeout(() => {\n\n this.alertService.resetStickyMessage();\n this.alertService.showMessage(\"Demo\", `Your settings was successfully configured to \\\"${value}\\\"`, MessageSeverity.success);\n }, 2000);\n }\n else {\n this.alertService.showMessage(\"Demo\", \"Operation cancelled by user\", MessageSeverity.default);\n }\n }\n\n\n\n // events\n chartClicked(e: any): void {\n console.log(e);\n }\n\n chartHovered(e: any): void {\n console.log(e);\n }\n}\n","module.exports = \"\\n.navbar .nav > li.toolbaritem > a {\\n font-weight: bold;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.control-box {\\n margin-bottom: 5px;\\n}\\n\\n.search-box {\\n margin: 0;\\n}\\n\\n.action-box {\\n margin: 0 15px 0 0;\\n min-height: 0;\\n}\\n\\n.action-box .toolbaritem a {\\n padding-top: 5px;\\n padding-bottom: 5px;\\n min-width: 100px;\\n }\\n\\n.completed {\\n text-decoration: line-through;\\n}\\n\\n.checkbox {\\n margin: 0;\\n}\\n\\n.inline-label {\\n width: 100%;\\n min-height: 1rem;\\n display: inline-block;\\n}\\n\\n.inline-editor {\\n width: 100%;\\n}\\n\\n.description-form-group {\\n margin-bottom: 5px;\\n}\\n\\n.actionBtn-form-group {\\n margin: 0;\\n}\\n\\n.edit-last-separator-hr {\\n margin: 10px 0;\\n}\\n\\n@media (max-width: 768px) {\\n .action-box {\\n margin: 0 14px;\\n }\\n}\\n\"","module.exports = \"
\\n \\n \\n \\n\\n \\n \\n \\n\\n \\n
\\n \\n
\\n
\\n\\n \\n \\n {{value}}\\n \\n \\n \\n\\n \\n \\n {{value}}\\n \\n \\n \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n\\n\\n
\\n
\\n
\\n
\\n

{{'todoDemo.editor.NewTask' | translate}}

\\n \\n
\\n
\\n
\\n\\n\\n
\\n \\n
\\n \\n \\n \\n {{'todoDemo.editor.TaskNameRequired' | 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\"","import { Component, OnInit, OnDestroy, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\nimport { AuthService } from '../../services/auth.service';\nimport { AlertService, MessageSeverity, DialogType } from '../../services/alert.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\nimport { Utilities } from \"../../services/utilities\";\n\n\n\n@Component({\n selector: 'todo-demo',\n templateUrl: './todo-demo.component.html',\n styleUrls: ['./todo-demo.component.css']\n})\nexport class TodoDemoComponent implements OnInit, OnDestroy {\n public static readonly DBKeyTodoDemo = \"todo-demo.todo_list\";\n\n rows = [];\n rowsCache = [];\n columns = [];\n editing = {};\n taskEdit = {};\n isDataLoaded: boolean = false;\n loadingIndicator: boolean = true;\n formResetToggle: boolean = true;\n _currentUserId: string;\n _hideCompletedTasks: boolean = false;\n\n\n get currentUserId() {\n if (this.authService.currentUser)\n this._currentUserId = this.authService.currentUser.id;\n\n return this._currentUserId;\n }\n\n\n set hideCompletedTasks(value: boolean) {\n\n if (value) {\n this.rows = this.rowsCache.filter(r => !r.completed);\n }\n else {\n this.rows = [...this.rowsCache];\n }\n\n\n this._hideCompletedTasks = value;\n }\n\n get hideCompletedTasks() {\n return this._hideCompletedTasks;\n }\n\n\n @Input()\n verticalScrollbar: boolean = false;\n\n\n @ViewChild('statusHeaderTemplate')\n statusHeaderTemplate: TemplateRef;\n\n @ViewChild('statusTemplate')\n statusTemplate: TemplateRef;\n\n @ViewChild('nameTemplate')\n nameTemplate: TemplateRef;\n\n @ViewChild('descriptionTemplate')\n descriptionTemplate: TemplateRef;\n\n @ViewChild('actionsTemplate')\n actionsTemplate: TemplateRef;\n\n @ViewChild('editorModal')\n editorModal: ModalDirective;\n\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private localStorage: LocalStoreManager, private authService: AuthService) {\n }\n\n\n\n ngOnInit() {\n this.loadingIndicator = true;\n\n this.fetch((data) => {\n this.refreshDataIndexes(data);\n this.rows = data;\n this.rowsCache = [...data];\n this.isDataLoaded = true;\n\n setTimeout(() => { this.loadingIndicator = false; }, 1500);\n });\n\n\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n this.columns = [\n { prop: \"completed\", name: '', width: 30, headerTemplate: this.statusHeaderTemplate, cellTemplate: this.statusTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false },\n { prop: 'name', name: gT('todoDemo.management.Task'), cellTemplate: this.nameTemplate, width: 200 },\n { prop: 'description', name: gT('todoDemo.management.Description'), cellTemplate: this.descriptionTemplate, width: 500 },\n { name: '', width: 80, cellTemplate: this.actionsTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false }\n ];\n }\n\n ngOnDestroy() {\n this.saveToDisk();\n }\n\n\n\n fetch(cb) {\n let data = this.getFromDisk()\n\n if (data == null) {\n setTimeout(() => {\n\n data = this.getFromDisk();\n\n if (data == null) {\n data = [\n {\n \"completed\": true,\n \"important\": true,\n \"name\": \"Smile\",\n \"description\": \"Always be pleasant\"\n },\n {\n \"completed\": false,\n \"important\": true,\n \"name\": \"Say Hello\",\n \"description\": \"Always be friendly\"\n },\n {\n \"completed\": false,\n \"important\": false,\n \"name\": \"Work Hard\",\n \"description\": \"\"\n },\n ];\n }\n\n cb(data);\n }, 1000);\n }\n else {\n cb(data);\n }\n }\n\n\n refreshDataIndexes(data) {\n let index = 0;\n\n for (let i of data) {\n i.$$index = index++;\n }\n }\n\n\n onSearchChanged(value: string) {\n this.rows = this.rowsCache.filter(r => Utilities.searchArray(value, false, r.name, r.description) || value == 'important' && r.important || value == 'not important' && !r.important);\n }\n\n\n showErrorAlert(caption: string, message: string) {\n this.alertService.showMessage(caption, message, MessageSeverity.error);\n }\n\n\n addTask() {\n this.formResetToggle = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n\n this.taskEdit = {};\n this.editorModal.show();\n });\n }\n\n save() {\n this.rowsCache.splice(0, 0, this.taskEdit);\n this.rows.splice(0, 0, this.taskEdit);\n this.refreshDataIndexes(this.rowsCache);\n this.rows = [...this.rows];\n\n this.saveToDisk();\n this.editorModal.hide();\n }\n\n\n updateValue(event, cell, cellValue, row) {\n this.editing[row.$$index + '-' + cell] = false;\n this.rows[row.$$index][cell] = event.target.value;\n this.rows = [...this.rows];\n\n this.saveToDisk();\n }\n\n\n delete(row) {\n this.alertService.showDialog('Are you sure you want to delete the task?', DialogType.confirm, () => this.deleteHelper(row));\n }\n\n\n deleteHelper(row) {\n this.rowsCache = this.rowsCache.filter(item => item !== row)\n this.rows = this.rows.filter(item => item !== row)\n\n this.saveToDisk();\n }\n\n getFromDisk() {\n return this.localStorage.getDataObject(`${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\n }\n\n saveToDisk() {\n if (this.isDataLoaded)\n this.localStorage.saveSyncedSessionData(this.rowsCache, `${TodoDemoComponent.DBKeyTodoDemo}:${this.currentUserId}`);\n }\n}\n","module.exports = \".row:not(:last-child) {\\n /*border-bottom: 1px solid #ccc;*/\\n}\\n\\n.separator-hr {\\n margin: 0 5px;\\n border-top-style: dashed;\\n}\\n\\n.edit-separator-hr {\\n margin: 10px 5px;\\n border-top-style: dashed;\\n}\\n\\n.last-separator-hr {\\n margin-top: 5px;\\n}\\n\\n.edit-last-separator-hr {\\n margin-top: 15px;\\n}\\n\\n.password-separator-hr {\\n margin: 5px;\\n border-style: none;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\ninput.form-control {\\n border-left-width: 5px;\\n}\\n\\n.password-well {\\n margin-bottom: 0;\\n}\\n\\n.hint-sm {\\n display: block;\\n}\\n\\n.checkbox.user-enabled {\\n display: inline-block;\\n}\\n\\n.unblock-user {\\n margin-left: 34px;\\n}\\n\\n@media (min-width: 992px) {\\n .user-enabled {\\n margin-left: 40px;\\n }\\n}\\n\"","module.exports = \"
\\n
\\n
\\n \\n
\\n

{{user.userName}}

\\n
\\n
\\n \\n \\n \\n {{'users.editor.UserNameRequired' | translate}}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{'users.editor.PasswordHint' | translate}}\\n \\n \\n {{'users.editor.CurrentPasswordRequired' | translate}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{user.email}}

\\n
\\n
\\n \\n \\n \\n {{'users.editor.EmailRequired' | translate}}\\n \\n \\n {{'users.editor.InvalidEmail' | translate}}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n {{'users.editor.CurrentPasswordRequired' | translate}}\\n
\\n
\\n \\n {{ 'Password must be at least 8 characters' | translate }}\\n
\\n
\\n \\n {{ 'Password must contain at least one uppercase letter, one lowercase letter, one number, and one special charater' | translate }}\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n {{'users.editor.NewPasswordRequired' | translate}}\\n
\\n
\\n \\n {{ 'Password must be at least 8 characters' | translate }}\\n
\\n
\\n \\n {{ 'Password must contain at least one uppercase letter, one lowercase letter, one number, and one special charater' | translate }}\\n
\\n
\\n \\n {{ 'Password does not match confirmation' | translate }}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n {{ 'users.editor.ConfirmationPasswordRequired' | translate }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

\\n \\n {{role}}\\n \\n

\\n
\\n
\\n \\n \\n \\n {{'users.editor.RoleRequired' | translate}}\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{user.phoneNumber}}

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

{{getQuestionText(user.question01)}}

\\n
\\n
\\n \\n \\n \\n {{'Question is required' | translate}}\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{user.answer01}}

\\n
\\n
\\n \\n \\n {{'Answer is required' | translate}}\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{getQuestionText(user.question02)}}

\\n
\\n
\\n \\n \\n \\n {{'Question is required' | translate}}\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{user.answer02}}

\\n
\\n
\\n \\n \\n {{'Answer is required' | 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\"","import { Component, OnInit, ViewChild, Input } from '@angular/core';\n\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\nimport { AccountService } from \"../../services/account.service\";\nimport { Utilities } from '../../services/utilities';\nimport { User } from '../../models/user.model';\nimport { UserEdit } from '../../models/user-edit.model';\nimport { Role } from '../../models/role.model';\nimport { Permission } from '../../models/permission.model';\nimport { Observable } from 'rxjs';\nimport { SecurityQuestion } from '../../models/security-questions.model';\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\nimport { DBkeys } from '../../services/db-Keys';\nimport { LanguageObservableService } from '../../services/language-observable.service';\n\n\n@Component({\n selector: 'user-info',\n templateUrl: './user-info.component.html',\n styleUrls: ['./user-info.component.css'],\n})\nexport class UserInfoComponent implements OnInit {\n\n private isEditMode = false;\n private isNewUser = false;\n private isSaving = false;\n private isChangePassword = false;\n private isEditingSelf = false;\n private showValidationErrors = false;\n private editingUserName: string;\n private uniqueId: string = Utilities.uniqueId();\n private user: User = new User();\n private userEdit: UserEdit = new UserEdit();\n private allRoles: Role[] = [];\n private isEditingEmailAddress: boolean = false;\n private selectedLanguage: string;\n\n public formResetToggle = true;\n\n public changesSavedCallback: () => void;\n public changesFailedCallback: () => void;\n public changesCancelledCallback: () => void;\n \n @Input()\n isViewOnly: boolean;\n\n @Input()\n isGeneralEditor = false;\n\n\n questions: SecurityQuestion[];\n securityQuestions01: SecurityQuestion[];\n securityQuestions02: SecurityQuestion[];\n\n @ViewChild('f')\n private form;\n\n //ViewChilds Required because ngIf hides template variables from global scope\n @ViewChild('userName')\n private userName;\n\n @ViewChild('userPassword')\n private userPassword;\n\n @ViewChild('email')\n private email;\n\n @ViewChild('currentPassword')\n private currentPassword;\n\n @ViewChild('newPassword')\n private newPassword;\n\n @ViewChild('confirmPassword')\n private confirmPassword;\n\n @ViewChild('roles')\n private roles;\n\n @ViewChild('rolesSelector')\n private rolesSelector;\n\n\n constructor(private alertService: AlertService, private accountService: AccountService, private localStorage: LocalStoreManager, public userInfoService: LanguageObservableService) {\n }\n\n ngOnInit() {\n this.questions = [];\n this.securityQuestions01 = [];\n this.securityQuestions02 = [];\n \n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\n this.selectedLanguage = this.localStorage.getDataObject(DBkeys.LANGUAGE);\n } else {\n this.selectedLanguage = \"en\";\n }\n\n this.accountService.getQuestions(this.selectedLanguage).subscribe(a => a.forEach(x => {\n this.questions.push(x);\n this.securityQuestions01.push(x);\n this.securityQuestions02.push(x);\n }));\n\n\n if (!this.isGeneralEditor) {\n this.loadCurrentUserData();\n }\n\n this.userInfoService.languageStream$.subscribe(lang => {\n if (this.selectedLanguage != lang) {\n this.selectedLanguage = lang;\n this.getQuestions(lang);\n }\n });\n }\n\n public getQuestions(language) {\n this.questions = [];\n this.securityQuestions01 = [];\n this.securityQuestions02 = [];\n this.accountService.getQuestions(language).subscribe(a => {\n if (a && a.length > 0) {\n this.questions = a;\n this.securityQuestions01 = a;\n this.securityQuestions02 = a;\n }\n });\n }\n\n\n private loadCurrentUserData() {\n this.alertService.startLoadingMessage();\n\n if (this.canViewAllRoles) {\n this.accountService.getUserAndRoles().subscribe(results => this.onCurrentUserDataLoadSuccessful(results[0], results[1]), error => this.onCurrentUserDataLoadFailed(error));\n }\n else {\n this.accountService.getUser().subscribe(user => this.onCurrentUserDataLoadSuccessful(user, user.roles.map(x => new Role(x))), error => this.onCurrentUserDataLoadFailed(error));\n }\n }\n\n\n private onCurrentUserDataLoadSuccessful(user: User, roles: Role[]) {\n this.alertService.stopLoadingMessage();\n this.user = user;\n this.allRoles = roles;\n }\n\n private onCurrentUserDataLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve user data from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n\n this.user = new User();\n }\n\n\n private getQuestionText(id: number) {\n var question = this.questions.find(q => q.referenceEnglishId == id);\n return (question) ? question.question : '';\n }\n\n\n private getRoleByName(name: string) {\n return this.allRoles.find((r) => r.name == name)\n }\n\n\n\n private showErrorAlert(caption: string, message: string) {\n this.alertService.showMessage(caption, message, MessageSeverity.error);\n }\n\n\n public deletePasswordFromUser(user: UserEdit | User) {\n let userEdit = user;\n\n delete userEdit.currentPassword;\n delete userEdit.newPassword;\n delete userEdit.confirmPassword;\n }\n\n\n private edit() {\n Object.assign(this.userEdit, this.user);\n\n this.isEditingSelf = this.accountService.currentUser ? this.user.id == this.accountService.currentUser.id : false;\n this.isEditMode = true;\n this.showValidationErrors = true;\n this.isChangePassword = false;\n }\n\n\n private save() {\n this.isSaving = true;\n this.alertService.startLoadingMessage(\"Saving changes...\");\n\n\n\n if (this.user.email != this.userEdit.email) {\n this.isEditingEmailAddress = true;\n }\n\n if (this.isNewUser) {\n this.accountService.newUser(this.userEdit)\n .subscribe(\n response => this.saveSuccessHelper(response),\n error => this.saveFailedHelper(error));\n }\n else {\n this.accountService.updateUser(this.userEdit, this.isEditingSelf)\n .subscribe(\n response => this.saveSuccessHelper(response),\n error => this.saveFailedHelper(error));\n }\n }\n\n\n private saveSuccessHelper(user?: User) {\n this.testIsRoleUserCountChanged(this.user, this.userEdit);\n\n if (user)\n Object.assign(this.userEdit, user);\n\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.isChangePassword = false;\n this.showValidationErrors = false;\n\n this.deletePasswordFromUser(this.userEdit);\n Object.assign(this.user, this.userEdit);\n this.userEdit = new UserEdit();\n this.resetForm();\n\n\n if (this.isGeneralEditor) {\n if (this.isNewUser)\n this.alertService.showMessage(\"Success\", `User \\\"${this.user.userName}\\\" was created successfully`, MessageSeverity.success);\n else if (!this.isEditingSelf)\n this.alertService.showMessage(\"Success\", `Changes to user \\\"${this.user.userName}\\\" was saved successfully`, MessageSeverity.success);\n }\n\n if (this.isEditingSelf) {\n this.alertService.showMessage(\"Success\", \"Changes to your User Profile was saved successfully\", MessageSeverity.success);\n\n if (this.isEditingEmailAddress) {\n this.alertService.showMessage(\"Username\", \"The email address to access your account has been updated\", MessageSeverity.success);\n }\n this.refreshLoggedInUser();\n }\n\n this.isEditMode = false;\n this.isEditingEmailAddress = false;\n\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n private saveFailedHelper(error: any) {\n this.isSaving = false;\n this.isChangePassword = false;\n this.isEditingEmailAddress = false;\n this.showValidationErrors = true;\n\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", \"The below errors occurred whilst saving your changes:\", MessageSeverity.error, error);\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\n\n\n this.resetForm();\n\n\n if (this.changesFailedCallback)\n this.changesFailedCallback();\n }\n\n\n\n private testIsRoleUserCountChanged(currentUser: User, editedUser: User) {\n\n let rolesAdded = this.isNewUser ? editedUser.roles : editedUser.roles.filter(role => currentUser.roles.indexOf(role) == -1);\n let rolesRemoved = this.isNewUser ? [] : currentUser.roles.filter(role => editedUser.roles.indexOf(role) == -1);\n\n let modifiedRoles = rolesAdded.concat(rolesRemoved);\n\n if (modifiedRoles.length)\n setTimeout(() => this.accountService.onRolesUserCountChanged(modifiedRoles));\n }\n\n\n\n private cancel() {\n if (this.isGeneralEditor)\n this.userEdit = this.user = new UserEdit();\n else\n this.userEdit = new UserEdit();\n\n this.showValidationErrors = false;\n this.resetForm();\n\n this.alertService.showMessage(\"Cancelled\", \"Operation cancelled by user\", MessageSeverity.default);\n this.alertService.resetStickyMessage();\n\n if (!this.isGeneralEditor)\n this.isEditMode = false;\n\n if (this.changesCancelledCallback)\n this.changesCancelledCallback();\n }\n\n\n private close() {\n this.userEdit = this.user = new UserEdit();\n this.showValidationErrors = false;\n this.resetForm();\n this.isEditMode = false;\n\n if (this.changesSavedCallback)\n this.changesSavedCallback();\n }\n\n\n\n private refreshLoggedInUser() {\n this.accountService.refreshLoggedInUser()\n .subscribe(user => {\n this.loadCurrentUserData();\n },\n error => {\n this.alertService.resetStickyMessage();\n this.alertService.showStickyMessage(\"Refresh failed\", \"An error occurred whilst refreshing logged in user information from the server\", MessageSeverity.error, error);\n });\n }\n\n\n private changePassword() {\n this.isChangePassword = true;\n }\n\n\n private unlockUser() {\n this.isSaving = true;\n this.alertService.startLoadingMessage(\"Enabling User...\");\n\n\n this.accountService.unblockUser(this.userEdit.id)\n .subscribe(response => {\n this.isSaving = false;\n this.userEdit.isLockedOut = false;\n this.alertService.stopLoadingMessage();\n this.alertService.showMessage(\"Success\", \"User has been successfully enabled\", MessageSeverity.success);\n },\n error => {\n this.isSaving = false;\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Enable User Error\", \"The below errors occurred while enabling the user:\", MessageSeverity.error, error);\n this.alertService.showStickyMessage(error, null, MessageSeverity.error);\n });\n }\n\n\n resetForm(replace = false) {\n this.isChangePassword = false;\n\n if (!replace) {\n this.form.reset();\n }\n else {\n this.formResetToggle = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n }\n\n\n newUser(allRoles: Role[]) {\n this.isGeneralEditor = true;\n this.isNewUser = true;\n\n this.allRoles = [...allRoles];\n this.editingUserName = null;\n this.user = this.userEdit = new UserEdit();\n this.userEdit.isEnabled = true;\n this.edit();\n\n return this.userEdit;\n }\n\n editUser(user: User, allRoles: Role[]) {\n if (user) {\n this.isGeneralEditor = true;\n this.isNewUser = false;\n\n this.setRoles(user, allRoles);\n this.editingUserName = user.userName;\n this.user = new User();\n this.userEdit = new UserEdit();\n Object.assign(this.user, user);\n Object.assign(this.userEdit, user);\n this.edit();\n\n return this.userEdit;\n }\n else {\n return this.newUser(allRoles);\n }\n }\n\n\n displayUser(user: User, allRoles?: Role[]) {\n\n this.user = new User();\n Object.assign(this.user, user);\n this.deletePasswordFromUser(this.user);\n this.setRoles(user, allRoles);\n\n this.isEditMode = false;\n }\n\n private setRoles(user: User, allRoles?: Role[]) {\n\n this.allRoles = allRoles ? [...allRoles] : [];\n\n if (user.roles) {\n for (let ur of user.roles) {\n if (!this.allRoles.some(r => r.name == ur))\n this.allRoles.unshift(new Role(ur));\n }\n }\n\n // TODO: Determine if this is necessary + what it's supposed to do. this.rolesSelector is undefined, and this throws an error.\n //if (allRoles == null || this.allRoles.length != allRoles.length)\n // setTimeout(() => this.rolesSelector.refresh());\n }\n\n\n\n get canViewAllRoles() {\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\n }\n\n get canAssignRoles() {\n return this.accountService.userHasPermission(Permission.assignRolesPermission);\n }\n}\n","module.exports = \"\\n.separator-hr {\\n margin: 7px 5px;\\n border-top-style: dashed;\\n}\\n\\n.subseparator-hr {\\n margin: 7px 5px;\\n border-top-style: none;\\n}\\n\\n.last-separator-hr {\\n margin-top: 7px;\\n}\\n\\n.form-group {\\n margin-top: 0;\\n margin-bottom: 0;\\n}\\n\\n.form-control-static {\\n min-height: 0;\\n}\\n\\n.form-horizontal .checkbox {\\n padding-top: 0;\\n}\\n\\n.col-reset-default {\\n padding-right: 0;\\n}\\n\\n.col-set-default {\\n padding-left: 5px;\\n}\\n\\n@media (min-width: 768px) {\\n .form-horizontal .control-label {\\n padding-top: 5px;\\n }\\n}\\n\"","module.exports = \"
\\n \\n\\n\\n\\n
\\n \\n
\\n \\n
\\n
\\n

{{'preferences.LanguageHint' | 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\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\n\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { BootstrapSelectDirective } from \"../../directives/bootstrap-select.directive\";\nimport { AccountService } from '../../services/account.service';\nimport { Utilities } from '../../services/utilities';\nimport { Permission } from '../../models/permission.model';\n\n\n@Component({\n selector: 'user-preferences',\n templateUrl: './user-preferences.component.html',\n styleUrls: ['./user-preferences.component.css']\n})\nexport class UserPreferencesComponent implements OnInit, OnDestroy {\n\n themeSelectorToggle = true;\n\n languageChangedSubscription: any;\n\n @ViewChild(\"languageSelector\")\n languageSelector: BootstrapSelectDirective;\n\n @ViewChild(\"homePageSelector\")\n homePageSelector: BootstrapSelectDirective;\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private accountService: AccountService, public configurations: ConfigurationService) {\n }\n\n ngOnInit() {\n this.languageChangedSubscription = this.translationService.languageChanged$.subscribe(data => {\n this.themeSelectorToggle = false;\n\n setTimeout(() => {\n this.languageSelector.refresh();\n\n\n });\n });\n }\n\n ngOnDestroy() {\n this.languageChangedSubscription.unsubscribe();\n }\n\n\n\n reloadFromServer() {\n this.alertService.startLoadingMessage();\n\n this.accountService.getUserPreferences()\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n\n this.configurations.import(results);\n\n this.alertService.showMessage(\"Defaults loaded!\", \"\", MessageSeverity.info);\n\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve user preferences from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n setAsDefault() {\n this.alertService.showDialog(\"Are you sure you want to set the current configuration as your new defaults?\", DialogType.confirm,\n () => this.setAsDefaultHelper(),\n () => this.alertService.showMessage(\"Operation Cancelled!\", \"\", MessageSeverity.default));\n }\n\n setAsDefaultHelper() {\n this.alertService.startLoadingMessage(\"\", \"Saving new defaults\");\n\n this.accountService.updateUserPreferences(this.configurations.export())\n .subscribe(response => {\n this.alertService.stopLoadingMessage();\n this.alertService.showMessage(\"New Defaults\", \"Account defaults updated successfully\", MessageSeverity.success)\n\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", `An error occured whilst saving configuration defaults.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n\n resetDefault() {\n this.alertService.showDialog(\"Are you sure you want to reset your defaults?\", DialogType.confirm,\n () => this.resetDefaultHelper(),\n () => this.alertService.showMessage(\"Operation Cancelled!\", \"\", MessageSeverity.default));\n }\n\n resetDefaultHelper() {\n this.alertService.startLoadingMessage(\"\", \"Resetting defaults\");\n\n this.accountService.updateUserPreferences(null)\n .subscribe(response => {\n this.alertService.stopLoadingMessage();\n this.configurations.import(null);\n this.alertService.showMessage(\"Defaults Reset\", \"Account defaults reset completed successfully\", MessageSeverity.success)\n\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.alertService.showStickyMessage(\"Save Error\", `An error occured whilst resetting configuration defaults.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n\n\n\n get canViewCustomers() {\n return this.accountService.userHasPermission(Permission.viewUsersPermission); //eg. viewCustomersPermission\n }\n\n get canViewProducts() {\n return this.accountService.userHasPermission(Permission.viewUsersPermission); //eg. viewProductsPermission\n }\n\n get canViewOrders() {\n return true; //eg. viewOrdersPermission\n }\n}\n","module.exports = \"\\n.user-role {\\n font-size: 0.8em !important;\\n margin-right: 1px;\\n}\\n\\n.control-box {\\n margin-bottom: 5px;\\n}\\n\\n.search-box {\\n margin: 0;\\n}\\n\\n.action-box {\\n margin: 0 50px 0 0;\\n min-height: 0;\\n}\\n\\n.action-box .toolbaritem a {\\n padding-top: 5px;\\n padding-bottom: 5px;\\n min-width: 100px;\\n }\\n\\n.user-disabled {\\n color: #777;\\n font-style: italic;\\n}\\n\\n.locked-out {\\n background-color: orangered;\\n color: whitesmoke;\\n width: 100%;\\n display: inline-block;\\n padding-left: 5px;\\n}\\n\\n@media (max-width: 768px) {\\n .action-box {\\n margin: 0 14px;\\n }\\n}\\n\"","module.exports = \"
\\n
\\n
\\n
\\n >\\n
\\n
\\n \\n
\\n\\n \\n \\n\\n \\n {{value}}\\n \\n\\n \\n \\n \\n \\n {{value}}\\n \\n \\n\\n \\n {{role}}\\n \\n\\n \\n \\n \\n\\n\\n
\\n
\\n
\\n
\\n

{{editingUserName ? ('users.management.EditUser' | translate:editingUserName) : ('users.management.NewUser' | translate)}}

\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, AfterViewInit, TemplateRef, ViewChild, Input } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap/modal';\n\nimport { AlertService, DialogType, MessageSeverity } from '../../services/alert.service';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { AccountService } from \"../../services/account.service\";\nimport { Utilities } from \"../../services/utilities\";\nimport { User } from '../../models/user.model';\nimport { Role } from '../../models/role.model';\nimport { Permission } from '../../models/permission.model';\nimport { UserEdit } from '../../models/user-edit.model';\nimport { UserInfoComponent } from \"./user-info.component\";\n\n\n@Component({\n selector: 'users-management',\n templateUrl: './users-management.component.html',\n styleUrls: ['./users-management.component.css']\n})\nexport class UsersManagementComponent implements OnInit, AfterViewInit {\n columns: any[] = [];\n rows: User[] = [];\n rowsCache: User[] = [];\n editedUser: UserEdit;\n sourceUser: UserEdit;\n editingUserName: { name: string };\n loadingIndicator: boolean;\n\n allRoles: Role[] = [];\n\n\n @ViewChild('indexTemplate')\n indexTemplate: TemplateRef;\n\n @ViewChild('userNameTemplate')\n userNameTemplate: TemplateRef;\n\n @ViewChild('rolesTemplate')\n rolesTemplate: TemplateRef;\n\n @ViewChild('actionsTemplate')\n actionsTemplate: TemplateRef;\n\n @ViewChild('editorModal')\n editorModal: ModalDirective;\n\n @ViewChild('userEditor')\n userEditor: UserInfoComponent;\n\n constructor(private alertService: AlertService, private translationService: AppTranslationService, private accountService: AccountService) {\n }\n\n\n ngOnInit() {\n\n let gT = (key: string) => this.translationService.getTranslation(key);\n\n this.columns = [\n { prop: \"index\", name: '#', width: 40, cellTemplate: this.indexTemplate, canAutoResize: false },\n //{ prop: 'jobTitle', name: gT('users.management.Title'), width: 50 },\n { prop: 'userName', name: gT('users.management.UserName'), width: 120, cellTemplate: this.userNameTemplate },\n { prop: 'fullName', name: gT('users.management.FullName'), width: 140 },\n { prop: 'email', name: gT('users.management.Email'), width: 150 },\n { prop: 'roles', name: gT('users.management.Roles'), width: 120, cellTemplate: this.rolesTemplate },\n { prop: 'phoneNumber', name: gT('users.management.PhoneNumber'), width: 100 }\n //{ prop: 'Answer 01', name: gT('users.management.Answer01'), width: 100 },\n //{ prop: 'Answer 02', name: gT('users.management.Answer02'), width: 100 } \n ];\n\n if (this.canManageUsers)\n this.columns.push({ name: '', width: 130, cellTemplate: this.actionsTemplate, resizeable: false, canAutoResize: false, sortable: false, draggable: false });\n\n this.loadData();\n }\n\n\n ngAfterViewInit() {\n\n this.userEditor.changesSavedCallback = () => {\n this.addNewUserToList();\n this.editorModal.hide();\n };\n\n this.userEditor.changesCancelledCallback = () => {\n this.editedUser = null;\n this.sourceUser = null;\n this.editorModal.hide();\n };\n }\n\n\n addNewUserToList() {\n if (this.sourceUser) {\n Object.assign(this.sourceUser, this.editedUser);\n\n let sourceIndex = this.rowsCache.indexOf(this.sourceUser, 0);\n if (sourceIndex > -1)\n Utilities.moveArrayItem(this.rowsCache, sourceIndex, 0);\n\n sourceIndex = this.rows.indexOf(this.sourceUser, 0);\n if (sourceIndex > -1)\n Utilities.moveArrayItem(this.rows, sourceIndex, 0);\n\n this.editedUser = null;\n this.sourceUser = null;\n }\n else {\n let user = new User();\n Object.assign(user, this.editedUser);\n this.editedUser = null;\n\n let maxIndex = 0;\n for (let u of this.rowsCache) {\n if ((u).index > maxIndex)\n maxIndex = (u).index;\n }\n\n (user).index = maxIndex + 1;\n\n this.rowsCache.splice(0, 0, user);\n this.rows.splice(0, 0, user);\n this.rows = [...this.rows];\n }\n }\n\n\n loadData() {\n this.alertService.startLoadingMessage();\n this.loadingIndicator = true;\n\n if (this.canViewRoles) {\n this.accountService.getUsersAndRoles().subscribe(results => this.onDataLoadSuccessful(results[0], results[1]), error => this.onDataLoadFailed(error));\n }\n else {\n this.accountService.getUsers().subscribe(users => this.onDataLoadSuccessful(users, this.accountService.currentUser.roles.map(x => new Role(x))), error => this.onDataLoadFailed(error));\n }\n }\n\n\n onDataLoadSuccessful(users: User[], roles: Role[]) {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n users.forEach((user, index, users) => {\n (user).index = index + 1;\n });\n\n this.rowsCache = [...users];\n this.rows = users;\n\n this.allRoles = roles;\n }\n\n\n onDataLoadFailed(error: any) {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve users from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n }\n\n\n onSearchChanged(value: string) {\n this.rows = this.rowsCache.filter(r => Utilities.searchArray(value, false, r.userName, r.lastName, r.email, r.phoneNumber, r.roles));\n }\n\n onEditorModalHidden() {\n this.editingUserName = null;\n this.userEditor.resetForm(true);\n }\n\n\n newUser() {\n this.editingUserName = null;\n this.sourceUser = null;\n this.editedUser = this.userEditor.newUser(this.allRoles);\n this.editorModal.show();\n }\n\n\n editUser(row: UserEdit) {\n this.editingUserName = { name: row.userName };\n this.sourceUser = row;\n this.editedUser = this.userEditor.editUser(row, this.allRoles);\n this.editorModal.show();\n }\n\n\n deleteUser(row: UserEdit) {\n this.alertService.showDialog('Are you sure you want to delete \\\"' + row.userName + '\\\"?', DialogType.confirm, () => this.deleteUserHelper(row));\n }\n\n\n deleteUserHelper(row: UserEdit) {\n\n this.alertService.startLoadingMessage(\"Deleting...\");\n this.loadingIndicator = true;\n\n this.accountService.deleteUser(row)\n .subscribe(results => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.rowsCache = this.rowsCache.filter(item => item !== row)\n this.rows = this.rows.filter(item => item !== row)\n },\n error => {\n this.alertService.stopLoadingMessage();\n this.loadingIndicator = false;\n\n this.alertService.showStickyMessage(\"Delete Error\", `An error occured whilst deleting the user.\\r\\nError: \"${Utilities.getHttpResponseMessage(error)}\"`,\n MessageSeverity.error, error);\n });\n }\n\n get isSysAdminUser() {\n return this.accountService.currentUser.roles.includes('sys_admin');\r\n }\n\n isAdminLimitedRow(row: UserEdit): boolean {\n return !this.isSysAdminUser && (row.roles.includes('sys_admin') || row.roles.includes('corp_admin') || row.roles.includes('acct_admin'));\n }\n \n // Permissions are assigned to Roles via the RoleClaims table. The Settings interface to manage role permissions is broken.\n get canAssignRoles() {\n return this.accountService.userHasPermission(Permission.assignRolesPermission);\n }\n\n get canViewRoles() {\n return this.accountService.userHasPermission(Permission.viewRolesPermission)\n }\n\n get canManageUsers() {\n return this.accountService.userHasPermission(Permission.manageUsersPermission);\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'ForgotPasswordConfirmation.Header' | translate }}\\n
\\n
\\n
\\n {{'ForgotPasswordConfirmation.EmailSent' | translate}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{'ContactUs.AMERICAS' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.France' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.Netherlands' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.UK' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.AllCountries' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.APAC' | translate}}\\n
\\n
\\n
\\n\\n
\\n \\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { switchMap } from 'rxjs/operators';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'forgot-password-confirmation',\n templateUrl: './forgot-password-confirmation.component.html',\n styleUrls: ['./forgot-password-confirmation.component.css']\n})\nexport class ForgotPasswordConfirmationComponent implements OnInit {\n id: string;\n\n constructor(\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit() {\n let id = this.route.snapshot.paramMap.get('id');\n this.id = id;\n\n\n //this.accountService.confirmForgotPassword(id)\n //change password\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'ForgotPassword.ForgotPassword' | translate}}\\n
\\n
\\n
\\n\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n {{'ForgotPassword.HeaderLabel' | translate}}\\n\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n \\n
\\n \\n
\\n {{'ForgotPassword.InvalidUserName' | translate}}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { UserForgotPassword } from '../../models/user-forgot-password.model';\nimport { AccountService } from '../../services/account.service';\nimport { Router } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Utilities } from '../../services/utilities';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.css']\n})\nexport class ForgotPasswordComponent implements OnInit {\n\n formModel: UserForgotPassword;\n isLoading = false;\n formResetToggle = true;\n\n errors: string[];\n\n constructor(\n private router: Router,\n private location: Location,\n private accountService: AccountService) {\n }\n\n ngOnInit() {\n this.formModel = new UserForgotPassword();\n this.formModel.userName = '';\n\n this.errors = [];\n }\n\n formSubmit() {\n this.isLoading = true;\n\n this.accountService.forgotPassword(this.formModel.userName)\n .subscribe(\n data => this.handleSubmitSuccess(),\n err => this.handleSubmitError(err)\n );\n }\n\n cancel() {\n this.router.navigate(['/']);\n }\n\n\n private handleSubmitSuccess() {\n this.isLoading = false;\n this.router.navigate(['/forgot/password/confirmation']);\n }\n\n private handleSubmitError(err: HttpErrorResponse) {\n this.isLoading = false;\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'ForgotUserNameConfirmation.Header' | translate }}\\n
\\n
\\n
\\n {{'ForgotUserNameConfirmation.EmailSent' | translate}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{'ContactUs.AMERICAS' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.France' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.Netherlands' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.UK' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.AllCountries' | translate}}\\n
\\n
\\n
\\n {{'ContactUs.APAC' | translate}}\\n
\\n
\\n
\\n
\\n \\n\\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { switchMap } from 'rxjs/operators';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from '../../services/account.service';\n\n\n@Component({\n selector: 'forgot-username-confirmation',\n templateUrl: './forgot-username-confirmation.component.html',\n styleUrls: ['./forgot-username-confirmation.component.css']\n})\nexport class ForgotUserNameConfirmationComponent implements OnInit {\n id: string;\n\n constructor(\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit() {\n let id = this.route.snapshot.paramMap.get('id');\n this.id = id;\n\n //this.accountService.confirmForgotUsername(id)\n //show username\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'ForgotUsername.ForgotUsername' | translate}}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{'ForgotUsername.HeaderLabel' | translate}}\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n \\n \\n {{'ForgotUsername.AccountPopOver' | translate}}\\n \\n\\n
\\n \\n
\\n >{{'ForgotUsername.InvalidAccountNumber' | translate}}\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n {{'ForgotUsername.EmailAddressPopOver' | translate}}\\n \\n\\n
\\n \\n\\n
\\n {{ 'ForgotUsername.EmailAddressValidation' | translate }}\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { UserForgotUserName } from '../../models/user-forgot-username.model';\nimport { AccountService } from '../../services/account.service';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-forgot-username',\n templateUrl: './forgot-username.component.html',\n styleUrls: ['./forgot-username.component.css']\n})\nexport class ForgotUserNameComponent implements OnInit {\n\n formModel: UserForgotUserName;\n isEmailPopoverVisible: boolean;\n isAcctNoPopoverVisible: boolean;\n isLoading: boolean = false;\n\n\n constructor(\n private routerService: Router,\n private location: Location,\n private accountService: AccountService)\n {\n\n this.formModel = new UserForgotUserName();\n \n\n this.formModel.accountNumber = '';\n this.formModel.emailAddress = '';\n\n }\n\n ngOnInit() {\n }\n\n formSubmit() {\n this.isLoading = true;\n console.log(this.formModel);\n\n this.accountService.forgotUserName(this.formModel).subscribe(data => this.handleSubmitSuccess(),\n err => this.handleSubmitError()\n );\n }\n\n cancel() {\n this.routerService.navigate(['/']);\n }\n\n\n private handleSubmitSuccess() {\n this.isLoading = false;\n\n this.routerService.navigate(['/forgot/username/confirmation']);\n\n }\n\n private handleSubmitError() {\n this.isLoading = false;\n\n this.routerService.navigate(['/forgot/username/confirmation']);\n\n }\n\n toggleAcctNoPopover(e) {\n this.isAcctNoPopoverVisible = !this.isAcctNoPopoverVisible;\n return this.isAcctNoPopoverVisible;\n }\n\n toggleEmailPopover(e) {\n this.isEmailPopoverVisible = !this.isEmailPopoverVisible;\n return this.isEmailPopoverVisible;\n }\n\n\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n {{ 'PaymentHistory.PAYMENTHISTORY' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n

\\n {{ 'PaymentHistory.PaymentHistoryNote' | 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 \\n
\\n {{ 'PaymentHistory.ConfirmationNumber' | translate }}\\n \\n {{ 'PaymentHistory.PaymentDate' | translate }}\\n \\n {{ 'AccountSummary.TotalPaymentAmount' | translate }}\\n \\n {{ 'PaymentHistory.InvoicesPaid' | translate }}\\n
\\n
\\n {{payment.confirmationNumber}}\\n
\\n
\\n
\\n {{getFormattedDate(payment)}}\\n
\\n
\\n
\\n {{getTransactionAmount(payment)}}\\n
\\n
\\r\\n
\\r\\n {{invoice.invoiceNumber}}\\r\\n
\\r\\n
\\n\\n
\\n
\\n\\n
\\n\"","import { Component, OnInit, AfterContentChecked, ChangeDetectorRef } from '@angular/core';\r\nimport { fadeInOut } from '../../services/animations';\r\nimport { ConfigurationService } from '../../services/configuration.service';\r\nimport { InvoicePayment } from '../../models/invoice-payment.model';\r\nimport { InvoiceService } from '../../services/invoice.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Invoice } from '../../models/invoice.model';\r\nimport { SFAccountSettingsService } from \"../../services/sf-account-settings.service\";\r\nimport { Utilities } from '../../services/utilities';\r\nimport { AlertService, MessageSeverity } from '../../services/alert.service';\r\n\r\n@Component({\r\n selector: 'invoice-payment-history',\r\n templateUrl: './invoice-payment-history.component.html',\r\n styleUrls: ['./invoice-payment-history.component.css'],\r\n animations: [fadeInOut]\r\n})\r\n\r\nexport class InvoicePaymentHistoryComponent implements OnInit, AfterContentChecked {\r\n loaderHidden: boolean;\r\n invoices: Invoice[];\r\n payments: InvoicePayment[];\r\n\r\n constructor(\r\n public configurations: ConfigurationService,\r\n private invoiceService: InvoiceService,\r\n private sfAccountSettingsService: SFAccountSettingsService,\r\n private alertService: AlertService,\r\n private cdref: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterContentChecked() {\r\n this.cdref.detectChanges();\r\n }\r\n\r\n ngOnInit() {\r\n this.loaderHidden = false;\r\n this.getInvoices();\r\n }\r\n\r\n //gets all the invoices from the Invoice Endpoint\r\n getInvoices() {\r\n this.invoiceService.getPaidInvoices().subscribe(results => { this.onInvoicesSuccessfullyLoaded(results) },\r\n error => this.onInvoicesFailed(error));\r\n }\r\n\r\n //successful subscribe\r\n private onInvoicesSuccessfullyLoaded(paidInvoices: Invoice[]) {\r\n this.invoices = paidInvoices;\r\n this.payments = [];\r\n this.populatePayments();\r\n this.hideLoader();\r\n }\r\n\r\n //unsuccessful subscribe\r\n private onInvoicesFailed(error: any) {\r\n this.alertService.stopLoadingMessage();\r\n this.alertService.showStickyMessage(\"Load Error\", `Unable to retrieve account settings from the server.\\r\\nErrors: \"${Utilities.getHttpResponseMessage(error)}\"`,\r\n MessageSeverity.error, error);\r\n this.hideLoader();\r\n }\r\n\r\n populatePayments() {\r\n for (var i = 0; i < this.invoices.length; i++) {\r\n for (var j = 0; j < this.invoices[i].payments.length; j++) {\r\n if (!this.payments.some(x => x.confirmationNumber == this.invoices[i].payments[j].confirmationNumber)) this.payments.push(this.invoices[i].payments[j]);\r\n var payment = this.payments.find(x => x.confirmationNumber == this.invoices[i].payments[j].confirmationNumber);\r\n if (payment.invoices == null) payment.invoices = [];\r\n if (!payment.invoices.some(x => x.invoiceNumber == this.invoices[i].invoiceNumber)) payment.invoices.push(this.invoices[i]);\r\n }\r\n }\r\n\r\n //sorting for payment list done here\r\n this.payments.sort(function (a, b): any {\r\n return (Date.parse(b.dateFinalized.toString()) - Date.parse(a.dateFinalized.toString()));\r\n });\r\n\r\n }\r\n\r\n getFormattedDate(payment: InvoicePayment) {\r\n if (payment.dateFinalized != null) {\r\n return formatDate(payment.dateFinalized, \"dd-MMM-yyyy\", \"en-us\");\r\n }\r\n }\r\n\r\n getTransactionAmount(payment: InvoicePayment) {\r\n return payment.transactionAmount.toFixed(2);\r\n }\r\n\r\n //get methods for invoice properties for angular\r\n getInvoicePdf(invoiceNumber: string) {\r\n this.invoiceService.getInvoicePDF(invoiceNumber).subscribe(\r\n response => {\r\n setTimeout(() => {\r\n window.open('/api/invoice/download?id=' + response.id, 'target=\"_blank\"');\r\n }, 500);\r\n });\r\n }\r\n\r\n hideLoader() {\r\n this.loaderHidden = true;\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n \\n {{ 'InvoiceHistory.INVOICEHISTORY' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n

\\n {{ 'InvoiceHistory.InvoiceNote' | 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\\n \\n\\n \\n
\\n {{ 'InvoiceHistory.Invoice#' | translate }}\\n \\n {{ 'InvoiceHistory.Status' | translate }}\\n \\n {{ 'InvoiceHistory.InvoiceDate' | translate }}\\n \\n {{ 'InvoiceHistory.InvoiceAmount' | translate }}\\n
\\n
\\n {{invoice.invoiceNumber}}\\n
\\n
\\n
\\n {{getInvoiceStatus(invoice) | translate}}\\n
\\n
\\n {{getFormatedDate(invoice.date)}}\\n \\n
\\n {{getInvoiceAmountF(invoice)}} {{invoice.currency}}\\n
\\n
\\n\\n
\\n
\\n\\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { Invoice } from '../../models/invoice.model';\nimport { InvoiceService } from '../../services/invoice.service';\nimport { isNumber } from 'util';\nimport { Event } from '@angular/router';\nimport { formatDate } from '@angular/common';\n\n@Component({\n selector: 'invoices-closed',\n templateUrl: './invoices-closed.component.html',\n styleUrls: ['./invoices-closed.component.css'],\n animations: [fadeInOut]\n})\nexport class InvoiceClosedComponent implements OnInit {\n\n isLoading: boolean;\n invoices: Invoice[];\n invoiceCurrency: string = 'USD';\n loaderHidden: boolean;\n constructor(\n public configurations: ConfigurationService,\n private invoiceService: InvoiceService) {\n\n this.getClosedInvoices();\n }\n\n ngOnInit() {\n }\n\n \n getClosedInvoices() {\n\n this.isLoading = true;\n this.loaderHidden = false;\n this.invoiceService.getClosedInvoices()\n .subscribe(\n request => {\n setTimeout(() => {\n this.loaderHidden = true;\n this.isLoading = false;\n this.invoices = request;\n }, 500);\n },\n error => {\n setTimeout(() => {\n this.loaderHidden = true;\n this.isLoading = false;\n }, 500);\n });\n }\n\n getInvoiceStatus(invoice: Invoice) {\n if (invoice.status == \"\") { return 'InvoiceHistory..Cancelled'; }\n if (invoice.status == \"Due\") { return 'InvoiceHistory.Open'; }\n if (invoice.status == \"PaidInPart\") { return 'InvoiceHistory.PartiallyPaid'; }\n if (invoice.status == \"PaidInFull\") { return 'InvoiceHistory.PaidInFull'; }\n //return invoice.status;\n return 'Processing';\n }\n \n getInvoiceAmountF(invoice: Invoice) {\n \n if (isNaN(invoice.totalAmountPaid)) {\n return (0).toFixed(2);\n }\n return invoice.totalAmountPaid.toFixed(2);\n }\n\n getFormatedDate(d: string) {\n if (d == null) { return null; }\n var dt = new Date(d);\n var formattedDate = formatDate(dt, \"dd-MMM-yyyy\", \"en-US\");\n // return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear()\n return formattedDate;\n }\n\n\n getInvoicePdf(invoiceNumber: string) {\n this.invoiceService.getInvoicePDF(invoiceNumber).subscribe(\n response => {\n setTimeout(() => {\n window.open('/api/invoice/download?id=' + response.id, 'target=\"_blank\"');\n }, 500);\n });\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{ 'AccountSummary.ACCOUNTSUMMARY' | translate }}\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n {{ 'AccountSummary.AccountSummaryDescription' | translate }}\\n

\\n
\\n
\\n {{ 'AccountSummary.AvailableInUSnCANNote' | translate }}\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n {{ 'AccountSummary.InvoicePayTitle' | 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 {{ 'AccountSummary.Pay' | translate }}\\n \\n {{ 'AccountSummary.Invoice#' | translate }}\\n \\n {{ 'AccountSummary.Status' | translate }}\\n \\n {{ 'AccountSummary.PaymentTerms' | translate }}\\n \\n {{ 'AccountSummary.InvoiceDate' | translate }}\\n \\n {{ 'AccountSummary.InvoiceDue' | translate }}\\n \\n {{ 'AccountSummary.BalanceDue' | translate }}\\n
\\n \\n \\n
\\n {{invoice.invoiceNumber}}\\n
\\n
\\n
\\n {{ 'AccountSummary.PASTDUE' | translate }}\\n
\\n
\\n {{ 'AccountSummary.DUENOW' | translate }}\\n
\\n
\\n {{ invoice.paymentTerms}}\\n \\n {{getFormatedDate(invoice.date)}}\\n \\n
\\n {{getFormatedDate(invoice.dateDue)}}\\n
\\n
\\n
\\n {{getBalanceDueF(invoice)}} {{invoice.currency}}\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n \\n {{ 'AccountSummary.TotalBalanceDue' | translate }} {{ getTotalDueF() }} {{ getCustomerCurrency() }}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n {{ 'AccountSummary.TotalPaymentAmount' | translate }} {{ getSelectedPaymentAmountF() }} {{ getCustomerCurrency() }}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n {{ 'AccountSummary.PaymentNote' | translate }}\\n
\\n
\\n
\\n\\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { Invoice } from '../../models/invoice.model';\nimport { InvoiceService } from '../../services/invoice.service';\nimport { Account } from '../../models/account.model';\nimport { AccountService } from '../../services/account.service';\nimport { isNumber } from 'util';\nimport { Router, Event } from '@angular/router';\nimport { PdfResponse } from \"../../models/pdf-response.model\";\nimport { AppTranslationService } from '../../services/app-translation.service';\nimport { formatDate } from '@angular/common';\n\n\n@Component({\n selector: 'landing',\n templateUrl: './landing.component.html',\n styleUrls: ['./landing.component.css'],\n animations: [fadeInOut]\n})\nexport class LandingComponent implements OnInit {\n\n isLoading: boolean;\n\n invoiceCurrency: string = 'USD';\n totalBalanceDue: number = 0;\n isBalanceDue: boolean = false;\n canPayOnSite: boolean = true;\n\n selectedPaymentAmount: number;\n\n radioButtonSelected: number = 0;\n radioButtonNotSelected: number = 1;\n selectedRows: number[] = new Array();\n loaderHidden: boolean=true;\n\n constructor(private translationService: AppTranslationService,public configurations: ConfigurationService, private invoiceService: InvoiceService, private accountService: AccountService, private routerService: Router) {\n\n }\n\n ngOnInit() {\n \n this.getOpenInvoices();\n\n this.getSiteAccount();\n \n }\n\n getSiteAccount() {\n this.accountService.getAccount().subscribe(account => this.saveSuccessHelper(account), error => this.saveFailedHelper(error));\n\n }\n\n saveSuccessHelper(res: Account) {\n if (res.currency != 'USD' && res.currency != 'CAD')\n this.canPayOnSite = false;\n\n\n }\n\n saveFailedHelper(res: Account) {\n this.canPayOnSite = true;\n }\n\n\n setSelectedvalue(index: number, balance: number) {\n if (this.selectedRows != null && this.selectedRows.length >= index) {\n if (this.selectedRows[index] == this.radioButtonNotSelected) {\n this.selectedRows[index] = this.radioButtonSelected;\n this.selectedPaymentAmount += balance;\n this.invoiceService.getUserInvoices()[index].userPaymentAmount = balance;\n return;\n }\n this.selectedRows[index] = this.radioButtonNotSelected;\n if (this.selectedPaymentAmount > 0) {\n this.selectedPaymentAmount -= balance;\n }\n this.invoiceService.getUserInvoices()[index].userPaymentAmount = 0;\n }\n }\n\n paynow() {\n\n this.routerService.navigate(['secure/payment/paynow']);\n }\n\n getSelectedValue(index: number) {\n if (this.selectedRows != null && this.selectedRows.length >= index) {\n if (this.selectedRows[index] == this.radioButtonSelected) { return true; }\n }\n return false;\n }\n\n getOpenInvoices() {\n\n this.selectedPaymentAmount = 0;\n\n\n // keep invoice list until user logs off. Caching in the service\n if (this.invoiceService.getUserInvoices() != null && this.invoiceService.getUserInvoices().length > 0) {\n\n this.invoiceCurrency = this.invoiceService.getUserInvoices()[0].currency;\n\n for (let i = 0; i < this.invoiceService.getUserInvoices().length; i++) {\n if (isNumber(this.invoiceService.getUserInvoices()[i].totalAmountPaid) && isNumber(this.invoiceService.getUserInvoices()[i].totalAmount)) {\n this.totalBalanceDue += (this.invoiceService.getUserInvoices()[i].balance);\n }\n if (this.invoiceService.getUserInvoices()[i].userPaymentAmount > 0) {\n this.selectedPaymentAmount += this.invoiceService.getUserInvoices()[i].userPaymentAmount;\n\n if (!this.restrictPaymentTerms(this.invoiceService.getUserInvoices()[i])) {\n this.selectedRows.push(this.radioButtonSelected);\n } else {\n this.selectedRows.push(this.radioButtonNotSelected);\n }\n\n } else {\n this.selectedRows.push(this.radioButtonNotSelected);\n }\n\n this.isBalanceDue = (this.totalBalanceDue > 0);\n\n }\n return;\n }\n\n\n\n this.isLoading = true;\n this.loaderHidden = false;\n this.invoiceService.getOpenInvoices()\n .subscribe(\n request => {\n setTimeout(() => {\n this.loaderHidden = true;\n this.isLoading = false;\n this.invoiceService.setUserInvoices(request);\n\n let tempSelectedPaymentAmount: number = 0.0;\n\n if (this.invoiceService.getUserInvoices() != null && this.invoiceService.getUserInvoices().length > 0) {\n\n this.invoiceCurrency = this.invoiceService.getUserInvoices()[0].currency;\n\n for (let i = 0; i < this.invoiceService.getUserInvoices().length; i++) {\n if (isNumber(this.invoiceService.getUserInvoices()[i].totalAmountPaid) && isNumber(this.invoiceService.getUserInvoices()[i].totalAmount)) {\n this.totalBalanceDue += (this.invoiceService.getUserInvoices()[i].balance);\n \n if (!this.restrictPaymentTerms(this.invoiceService.getUserInvoices()[i])) {\n tempSelectedPaymentAmount += (this.invoiceService.getUserInvoices()[i].balance);\n this.invoiceService.getUserInvoices()[i].userPaymentAmount = this.invoiceService.getUserInvoices()[i].balance;\n } else {\n this.invoiceService.getUserInvoices()[i].userPaymentAmount = 0;\n }\n\n }\n //this.selectedRows.push(this.radioButtonSelected);\n\n if (!this.restrictPaymentTerms(this.invoiceService.getUserInvoices()[i])) {\n this.selectedRows.push(this.radioButtonSelected);\n } else {\n this.selectedRows.push(this.radioButtonNotSelected);\n }\n\n }\n\n this.isBalanceDue = (this.totalBalanceDue > 0);\n this.selectedPaymentAmount = tempSelectedPaymentAmount;\n\n\n }\n\n\n }, 500);\n },\n error => {\n setTimeout(() => {\n this.loaderHidden = true;\n this.isLoading = false;\n }, 500);\n });\n }\n\n\n getInvoices() {\n return this.invoiceService.getUserInvoices()\n }\n\n getCustomerCurrency() {\n return this.invoiceCurrency;\n }\n\n getTotalDueF() {\n return this.totalBalanceDue.toFixed(2);\n }\n\n getInvoicePdf(invoiceNumber: string) {\n this.invoiceService.getInvoicePDF(invoiceNumber).subscribe(\n response => {\n setTimeout(() => {\n window.open('/api/invoice/download?id=' + response.id, 'target=\"_blank\"','',false);\n }, 500);\n });\n }\n\n\n restrictPaymentTerms(invoice: Invoice) {\n // Do not allow Customers with a Payment Term of: DUE1st  or NET30CC to pay invoices in Account Center\n var paymentTerm = invoice.paymentTerms;\n //Due on 1st ,Net 30 CC\n if (paymentTerm === \"Due on 1st\" || paymentTerm === \"Net 30 CC\") {\n return true;\n }\n return false;\n }\n\n getInvoiceStatus(invoice: Invoice) {\n var dueDate = new Date(invoice.dateDue);\n var currentDate = new Date(Date.now()) ;\n\n \n \n if (dueDate < currentDate) {\n return false; //\"PAST DUE\"\n }\n return true //\"DUE NOW\"\n\n //if (invoice.status.indexOf('Overd') > 0) { return 'OVERDUE'; }\n //if (invoice.status.indexOf('Due') >0) { return 'DUENOW'; }\n //if (invoice.status == \"PaidInPart\") { return 'Partially Paid'; }\n //if (invoice.status == \"PaidInFull\") { return 'Paid In Full'; }\n //return invoice.status;\n }\n\n getInvoiceAmountF(invoice: Invoice) {\n if (isNaN(invoice.totalAmount)) {\n return (0).toFixed(2);\n }\n return invoice.totalAmount.toFixed(2);\n }\n\n getBalanceDueF(invoice: Invoice) {\n if (isNaN(invoice.balance)) {\n return (0).toFixed(2);\n }\n return (invoice.balance).toFixed(2);\n }\n\n getSelectedPaymentAmountF() {\n if (isNaN(this.selectedPaymentAmount)) {\n return (0).toFixed(2);\n }\n return (this.selectedPaymentAmount).toFixed(2);\n }\n\n getFormatedDate(d: string) {\n if (d == null) { return null; }\n var dt = new Date(d);\n var formattedDate = formatDate(dt, \"dd-MMM-yyyy\", \"en-US\");\n // return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear()\n return formattedDate;\n }\n\n}\n","module.exports = \".boxshadow {\\n position: relative;\\n box-shadow: 1px 2px 4px rgba(0, 0, 0, .5);\\n padding: 10px;\\n background: white;\\n}\\n\\n\\n .boxshadow::after {\\n content: '';\\n position: absolute;\\n z-index: -1; /* hide shadow behind image */\\n box-shadow: 0 15px 20px rgba(0, 0, 0, 0.3);\\n width: 70%;\\n left: 15%; /* one half of the remaining 30% */\\n height: 100px;\\n bottom: 0;\\n }\\n\\n\\n .cardshadow {\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\n}\\n\\n\\n .separator-hr {\\n margin: 0;\\n}\\n\\n\\n .last-control-group {\\n margin-bottom: -25px;\\n}\\n\"","module.exports = \"\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n {{ 'Login.CustomerLogin' | translate }}\\n
\\n
\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{ 'Login.UserNameRequired' | translate }}\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n {{ 'Login.PasswordRequired' | 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 {{ 'Login.RegisterHeader' | translate }}\\n

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

\\n

\\n {{ 'Login.RegisterHeaderDescription' | translate }}\\n

\\n

\\n {{ 'Login.WhyRegister' | translate }} {{ 'Login.RegisterDescription' | translate }}\\n

\\n\\n
    \\r\\n
  • \\r\\n {{ 'Login.RegisterBulletPoint1' | translate }}\\r\\n
  • \\r\\n
  • \\r\\n {{ 'Login.RegisterBulletPoint2' | translate }}\\r\\n
  • \\r\\n
  • \\r\\n {{ 'Login.RegisterBulletPoint3' | translate }}\\r\\n
  • \\r\\n
  • \\r\\n {{ 'Login.RegisterBulletPoint4' | translate }}\\r\\n
  • \\r\\n
  • \\r\\n {{ 'Login.RegisterBulletPoint5' | translate }}\\r\\n
  • \\r\\n\\r\\n
\\n

\\n {{ 'Login.RegisterNote' | translate }}\\n

\\n\\n

\\n {{ 'Login.Questions' | translate }}  {{ 'Login.ContactUs' | translate }}\\n

\\n\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n\\n\"","import { Component, OnInit, OnDestroy, EventEmitter, Input, Output, NgModuleFactoryLoader } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\nimport { AuthService } from '../../services/auth.service';\nimport { ConfigurationService } from '../../services/configuration.service';\n\nimport { UserLogin } from '../../models/user-login.model';\nimport { InvoiceService } from '../../services/invoice.service';\nimport { AccountService } from '../../services/account.service';\nimport { Utilities } from '../../services/utilities';\nimport { modelState } from '../../models/ctp.interface';\nimport { element } from 'protractor';\nimport { Account } from '../../models/account.model';\n\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\n\nexport class LoginComponent implements OnInit, OnDestroy {\n\n model: UserLogin;\n @Input() data: UserLogin;\n @Output() submit = new EventEmitter();\n loginSubscription: Subscription;\n loginStatusSubscription: any;\n errors: string[];\n\n\n isLoading = false;\n isEdit = false;\n isError = false;\n @Input() isModal = false;\n\n formResetToggle = true;\n modalClosedCallback: () => void;\n\n\n\n constructor(private authService: AuthService,\n private router: Router,\n private configurationService: ConfigurationService,\n private invoiceService: InvoiceService,\n private accountService: AccountService) {\n\n this.invoiceService.setUserInvoices(null);\n\n this.errors = [];\n }\n\n\n ngOnInit() {\n this.isEdit = false;\n this.setForm();\n\n if (this.getShouldRedirect()) {\n this.authService.redirectLoginUser();\n } else {\n this.loginStatusSubscription = this.authService.getLoginStatusEvent().subscribe(isLoggedIn => {\n if (this.getShouldRedirect()) {\n this.authService.redirectLoginUser();\n }\n });\n }\n }\n ngOnDestroy() {\n if (this.loginSubscription) {\n this.loginSubscription.unsubscribe();\n }\n\n if (this.loginStatusSubscription) {\n this.loginStatusSubscription.unsubscribe();\n }\n }\n\n\n private setForm() {\n if (!this.isEdit) {\n this.model = new UserLogin('', '', this.authService.rememberMe);\n } else {\n this.model = new UserLogin(\n this.data.userName,\n this.data.password,\n this.data.rememberMe || this.authService.rememberMe\n );\n }\n }\n\n\n reset() {\n this.formResetToggle = false;\n this.errors = [];\n\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n getShouldRedirect() {\n return !this.isModal && this.authService.isLoggedIn && !this.authService.isSessionExpired;\n }\n closeModal() {\n if (this.modalClosedCallback) {\n this.modalClosedCallback();\n }\n }\n\n\n private handleSubmitSuccess(res) {\n const eventObj = {\n isEdit: this.isEdit,\n data: res\n };\n\n\n this.errors = [];\n this.isError = false;\n this.isLoading = false;\n this.submit.emit(eventObj);\n\n //setTimeout(() => {\n // this.accountService.getAccount().subscribe(\n // account => {\n // this.accountService.setCurrentAccount(account);\n // this.routerService.navigateByUrl('/Landing');\n // });\n //}, 500);\n }\n private handleSubmitError(err) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n const eventObj = {\n isEdit: this.isEdit,\n error: this.errors\n };\n\n\n this.isLoading = false;\n this.isError = true;\n this.submit.emit(eventObj);\n }\n\n\n login() {\n this.isLoading = true;\n this.errors = [];\n\n //if (!this.isEdit) {\n this.loginSubscription = this.authService.login(this.model.userName, this.model.password, this.model.rememberMe)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n err => this.handleSubmitError(err)\n );\n }\n\n IsSelectedLanguageFrench() {\n if (this.configurationService.language == \"fr\") {\n return true;\n }\n return false;\n }\n\n}\n","module.exports = \".vertical-center-flex {\\n min-height: 60vh;\\n}\\n\\n.icon-container {\\n font-size: 5em;\\n}\\n\\n.error-description {\\n font-size: 1.5em;\\n padding-bottom: 10px;\\n}\\n\"","module.exports = \"
\\n
\\n

{{'pageHeader.NotFound' | translate}}

\\n
\\n\\n
\\n
\\n
{{'notFound.404' | translate}}
\\n
{{'notFound.pageNotFound' | translate}}
\\n \\n
\\n
\\n
\\n\"","import { Component } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\n\n@Component({\n selector: 'not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.css'],\n animations: [fadeInOut]\n})\nexport class NotFoundComponent {\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{'PaymentAutoPay.ManageAutoPay' | translate}}\\n
\\n
\\n
\\n
\\n {{'PaymentAutoPay.AccountOptionDesc' | translate}}\\n
\\n
\\n
\\n
\\n

\\n {{'PaymentAutoPay.AutoPayDesc' | translate}}\\n

\\n
\\n

\\n {{'PaymentAutoPay.PaymentTermsNote' | translate}}\\n

\\n
\\n
\\n
\\n
\\n\\n \\n
0\\\" class=\\\"row\\\">\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n\\n
\\n
{{'PaymentAutoPay.ScentAirTermsConditionDesc' | translate}}
\\n
\\n {{'PaymentAutoPay.BYCHECKING' | translate}}{{'PaymentAutoPay.AuthorizedAgent' | translate}}{{'PaymentAutoPay.certifies' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc1' | translate}} {{'PaymentAutoPay.AuthorizedCertifiesDesc2' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc3' | translate}} {{'PaymentAutoPay.Authorization' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc4' | translate}}\\n
\\n {{'PaymentAutoPay.certifies' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc6' | translate}} {{'PaymentAutoPay.AuthorizedCertifiesDesc7' | translate}} {{'PaymentAutoPay.AuthorizedCertifiesDesc8' | translate}}\\n

{{'PaymentAutoPay.AuthorizedCertifiesDesc9' | translate}}

\\n {{'PaymentAutoPay.GeneralTerms' | translate}} {{'PaymentAutoPay.AuthorizedCertifiesDesc10' | translate}}{{'PaymentAutoPay.InvoiceAmounts' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc11' | translate}}{{'PaymentAutoPay.EnrollmentScreens' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc12' | translate}}{{'PaymentAutoPay.CustomerCare' | translate}}{{'PaymentAutoPay.AuthorizedCertifiesDesc13' | translate}}\\n

\\n {{'PaymentAutoPay.SubscriberFurtherAgrees' | translate}}\\n

\\n {{'PaymentAutoPay.ACHAuthorization' | translate}} {{'PaymentAutoPay.ACHAuthorizationDesc1' | translate}}\\n

{{'PaymentAutoPay.CreditCardAuthorization' | translate}} {{'PaymentAutoPay.PaymentTypeDesc' | translate}}\\n {{'PaymentAutoPay.PaymentTypeDesc1' | translate}}\\n\\n

{{'PaymentAutoPay.Privacy' | translate}}{{'PaymentAutoPay.PrivacySubscriberDesc' | translate}}\\n
\\n\\n {{'PaymentAutoPay.PrintTermsConditions' | translate}}\\n\\n
\\n\\n
\\n
\\n {{'PaymentAutoPay.ADDNEWPAYMENTMETHOD' | translate}}\\n \\n \\n\\n   \\n    \\n
\\n
\\n
\\n
\\n {{'PaymentAutoPay.ChargesDesc' | translate}}\\n
\\n\\n
\\n
\\n
\\n {{'PaymentAutoPay.OpenInvoicesDesc' | translate}}\\n
\\n
\\n
\\n
\\n {{'PaymentAutoPay.AUTOPAYUnenrollmentRequestDesc' | translate}}\\n
\\n
\\n
\\n\\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { Location } from '@angular/common';\nimport { Account } from '../../models/account.model';\nimport { AccountService } from '../../services/account.service';\nimport { PaymentMethod } from '../../models/payment-method.model';\nimport { PaymentService } from '../../services/payment.service';\n//import { transformAll } from '@angular/compiler/src/render3/r3_ast';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Utilities } from '../../services/utilities';\nimport { InvoiceService } from '../../services/invoice.service';\n\n@Component({\n selector: 'payment-autopay',\n templateUrl: './payment-autopay.component.html',\n styleUrls: ['./payment-autopay.component.css'],\n animations: [fadeInOut]\n})\nexport class PaymentAutopayComponent implements OnInit {\n\n isAutoEnrollPopoverVisible: boolean;\n isLoading: boolean;\n errors: string[] = [];\n isTermsReviewed: boolean = false;\n isTermsVisible: boolean = false;\n isUnenrolling: boolean = false;\n canPayOnSite: boolean = true;\n isAutoPayActive: boolean = false;\n isEnrolling: boolean = false;\n\n paymentMethods: PaymentMethod[];\n currentAutoPaymentMethod: PaymentMethod;\n isAutoPayEnabled: boolean;\n\n constructor(\n public configurations: ConfigurationService,\n private location: Location,\n private paymentService: PaymentService,\n private invoiceService: InvoiceService,\n private accountService: AccountService\n ) {\n }\n\n ngOnInit() {\n this.getPaymentMethods();\n\n this.invoiceService.getInvoicesToPay();\n this.isAutoPayEnabled = this.invoiceService.getOpenInvoicesTotal() <= 0;\n\n this.getSiteAccount();\n }\n getSiteAccount() {\n this.accountService.getAccount().subscribe(account => this.saveSuccessHelper(account), error => this.saveFailedHelper(error));\n\n }\n\n saveSuccessHelper(res: Account) {\n if (res.currency != 'USD' && res.currency != 'CAD')\n this.canPayOnSite = false;\n }\n\n saveFailedHelper(res: Account) {\n this.canPayOnSite = true;\n }\n\n\n\n getPaymentMethods() {\n\n this.isLoading = true;\n\n this.paymentService.getPaymentMethods()\n .subscribe(\n data => this.handleGetMethodsSuccess(data),\n err => this.handleSubmitError(err));\n }\n\n\n changeAutoPay(index: number) {\n if (!this.isAutoPayEnabled)\n return;\n\n this.paymentMethods.forEach((pm, i) => {\n pm.currentAutoPayMethod = i == index;\n });\n\n this.isAutoPayActive = true;\n this.isEnrolling = true;\n }\n\n\n private handleSubmitSuccess(res: PaymentMethod) {\n this.errors = [];\n this.isLoading = false;\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n this.getPaymentMethods();\n\n alert(\"You have successfully enrolled in Autopay\");\n \n //this.location.back();\n }\n\n private handleAutopaySubmitSuccess(res: PaymentMethod) {\n\n this.errors = [];\n this.isLoading = false;\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n this.getPaymentMethods();\n\n alert(\"AUTOPAY unenrollment requested - Please allow up to 72 hours to for AUTOPAY unenrollment to take affect. \");\n\n\n\n }\n\n\n\n private handleGetMethodsSuccess(res: PaymentMethod[]) {\n this.errors = [];\n this.isLoading = false;\n \n this.paymentMethods = res;\n this.currentAutoPaymentMethod = res.find(pm => pm.currentAutoPayMethod);\n \n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n if (this.currentAutoPaymentMethod != null) {\n if (this.currentAutoPaymentMethod.isDefault) {\n this.isUnenrolling = true;\n }\n this.isAutoPayActive = true;\n this.isEnrolling = false;\n }\n\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n this.isLoading = false;\n\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n }\n\n\n saveAutoPay() {\n if (!this.isAutoPayEnabled)\n return;\n\n if (!this.isTermsReviewed) {\n this.isTermsReviewed = true;\n this.isTermsVisible = true;\n return;\n }\n\n this.isLoading = true;\n\n\n\n var method = this.paymentMethods.find(pm => pm.currentAutoPayMethod);\n if (method == null) {\n method = this.currentAutoPaymentMethod;\n method.currentAutoPayMethod = false;\n }\n\n\n this.paymentService.savePaymentMethod(method).subscribe(\n data => this.handleSubmitSuccess(data),\n error => this.handleSubmitError(error));\n }\n\n\n togglePopover(e) {\n this.isAutoEnrollPopoverVisible = !this.isAutoEnrollPopoverVisible;\n return this.isAutoEnrollPopoverVisible;\n }\n\n unenrollAutoPay(): void {\n //if (!this.isAutoPayEnabled)\n // return;\n\n //this.paymentMethods.forEach(pm => pm.currentAutoPayMethod = false);\n this.currentAutoPaymentMethod.isDefault = true;\n\n this.paymentService.savePaymentMethod(this.currentAutoPaymentMethod).subscribe(\n data => this.handleAutopaySubmitSuccess(data),\n error => this.handleSubmitError(error));\n\n }\n\n cancel() {\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n this.getPaymentMethods();\n\n this.invoiceService.getInvoicesToPay();\n this.isAutoPayEnabled = this.invoiceService.getOpenInvoicesTotal() <= 0;\n\n this.getSiteAccount();\n }\n\n refresh(): void {\n this.getPaymentMethods();\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n\\n
\\n
\\n
\\n {{'PaymentProfile.PAYMENTPROFILE' | translate}}\\n
\\n
\\n
\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n\\n
\\n\\n\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidProfilePaymentName' | translate}} {{paymentName?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n {{'PaymentProfile.InvalidPin' | 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 \\n \\n \\n \\n
\\n\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidAccountNumber' | translate}} {{achAccountNumber?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n
\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidRoutingNumber' | translate}} {{achRoutingNumber?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidBankName' | translate}} {{bank?.messages}}\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidCreditCardNumber' | translate}} {{cardNumber?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
thisYear || (cardExpirationYear.value == thisYear && cardExpirationMonth.value >= thisMonth))), 'has-error' : (cardExpirationMonth.dirty && cardExpirationMonth.value == 0) || (cardExpirationYear.dirty && cardExpirationYear.value == 0) || (cardExpirationMonth.dirty && cardExpirationYear.dirty && !(cardExpirationYear.value > thisYear || (cardExpirationYear.value == thisYear && cardExpirationMonth.value >= thisMonth)))}\\\">\\n\\n \\n\\n  \\n\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidCVV' | translate}} {{cardCCV?.messages}}\\n
\\n
\\n\\n
\\n\\n\\n
\\n
\\n \\n
\\n\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidName' | translate}} {{name?.messages}}\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidAddress' | translate}} {{address_line1?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidAddress' | translate}} {{address_line2?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidAddress' | translate}} {{address_line3?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidCity' | translate}} {{address_city?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n\\n \\n {{'PaymentProfile.InvalidState' | translate}} {{address_state?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n\\n \\n {{'PaymentProfile.InvalidState' | translate}} {{address_state?.messages}}\\n
\\n
\\n
\\n\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidPostalCode' | translate}} {{address_zip?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.InvalidCountry' | translate}} {{address_country?.messages}}\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n {{'PaymentProfile.AutoPayDisabledDesc' | 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\"","import { Component, OnInit, OnDestroy, Input, ViewChild } from \"@angular/core\";\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { PaymentService } from \"../../services/payment.service\";\nimport { PaymentProfile } from '../../models/payment-profile.model';\nimport { Location } from '@angular/common';\nimport { AccountService } from \"../../services/account.service\";\nimport { Account } from '../../models/account.model';\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { Utilities } from \"../../services/utilities\";\nimport { switchMap } from 'rxjs/operators';\n//import { element } from \"@angular/core/src/render3/instructions\";\nimport { InvoiceService } from \"../../services/invoice.service\";\nimport { ReCaptcha2Component } from \"../../../../GoogleCaptcha/ngx-captcha-lib/src/lib\";\nimport { FormGroup } from \"@angular/forms\";\nimport { LanguageObservableService } from \"../../services/language-observable.service\";\n \n\n\n\n\n@Component({\n selector: 'payment-edit',\n templateUrl: './payment-edit.component.html',\n styleUrls: ['./payment-edit.component.css'],\n animations: [fadeInOut]\n})\nexport class PaymentEditComponent implements OnInit {\n\n paymentProfile: PaymentProfile;\n\n errors: string[] = [];\n isLoading: boolean;\n isEdit: boolean;\n\n id: string;\n now: Date;\n thisMonth: number;\n thisYear: number;\n isAccount: boolean;\n isAutoPayChecked: boolean;\n isAutoEnabled: boolean;\n isAchAcctNoPopoverVisible: boolean;\n isRoutingNoPopoverVisible: boolean;\n isUS: boolean = true;\n currency: string = \"USD\";\n public selectedLanguage: string =\"en\";\n\n\n public captchaIsLoaded = false;\n public captchaSuccess = false;\n public captchaIsExpired = false;\n public captchaResponse?: string;\n public siteKey:string = '';\n public useGlobalDomain: boolean = false;\n public aFormGroup: FormGroup;\n @ViewChild('captchaElem') captchaElem: ReCaptcha2Component;\n\n\n constructor(\n public location: Location,\n private paymentService: PaymentService,\n private invoiceService: InvoiceService,\n private configurations: ConfigurationService,\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router,\n public userInfoService: LanguageObservableService) {\n }\n\n ngOnInit() {\n\n\n // Note: Captcha SiteKey appears in 3 locations within the code base:\n // - Portal\\appsettings.json\n // - Portal\\ClientApp\\src\\app\\components\\paymentedit\\payment-edit.component.ts\n // - Portal\\ClientApp\\src\\app\\components\\register\\register.component.ts\n //Prod\n this.siteKey = '6LforZoUAAAAAJPt4NAqNpmu5rvY_zsfzNigCAsn';\n //Stage\n //this.siteKey = '6LdSmZgUAAAAAA-RJe4UxWSoYMx9_lrHsah1P8xT';\n //Local\n //this.siteKey = '6LdNz5cUAAAAAIO1jk77YhsJdZspLzqxC4U8kLSH';\n // Dev (mholmes)\n //this.siteKey = '6LfLTNMUAAAAACSnpgaixNUpe0Hqo9wMcJimb1xb';\n\n this.isAccount = false;\n this.isLoading = false;\n this.isEdit = false;\n\n this.invoiceService.getInvoicesToPay()\n this.isAutoEnabled = false;\n\n this.getSiteAccount();\n\n\n\n let autoPay = this.route.snapshot.fragment != null && this.route.snapshot.fragment.toLowerCase() == 'auto';\n this.isAutoPayChecked = autoPay\n let id = this.route.snapshot.paramMap.get('id');\n this.id = id;\n \n this.paymentProfile = new PaymentProfile()\n this.paymentProfile.paymentType = \"Credit\";\n //this.paymentProfile.currentAutoPayMethod = this.isAutoEnabled && this.isAutoPayChecked;\n\n this.now = new Date(Date.now());\n this.thisMonth = this.now.getMonth();\n this.thisYear = this.now.getFullYear();\n\n if (id) {\n this.paymentService.getPaymentMethod(id)\n .subscribe(\n data => this.handleGetSuccess(data),\n err => this.handleSubmitError(err)\n );\n\n\n }\n else {\n //this.accountService.getAccount().subscribe(x => {\n // this.paymentProfile.name = x.name;\n // this.paymentProfile.address = x.address;\n //});\n }\n\n\n this.userInfoService.languageStream$.subscribe(lang => {\n if (this.selectedLanguage != lang) {\n this.selectedLanguage = lang;\n }\n });\n \n\n }\n\n getSiteAccount() {\n this.accountService.getAccount().subscribe(account => this.saveSuccessHelper(account), error => this.saveFailedHelper(error));\n\n }\n\n saveSuccessHelper(res: Account) {\n if (res.currency != 'USD' && res.currency != 'CAD')\n this.router.navigate(['secure/landing']);\n else\n this.currency = res.currency;\n }\n\n saveFailedHelper(res: Account) {\n this.router.navigate(['secure/landing']);\n }\n\n changeCountry(currCode: string) {\n if (currCode == 'US')\n this.isUS = true;\n else\n this.isUS = false;\n\n }\n\n changePaymentType(paymentType: string) {\n if (paymentType == 'ECP') {\n this.isAccount = true;\n this.paymentProfile.cardCCV = '';\n this.paymentProfile.cardExpirationMonth = '';\n this.paymentProfile.cardExpirationYear = '';\n this.paymentProfile.cardNumber = '';\n this.paymentProfile.cardType == '';\n }\n else {\n this.isAccount = false;\n this.paymentProfile.achAccountType = '';\n this.paymentProfile.achAccountNumber = '';\n this.paymentProfile.achRoutingNumber = '';\n this.paymentProfile.bank = '';\n }\n }\n\n private handleGetSuccess(res: PaymentProfile) {\n this.errors = [];\n this.isLoading = false;\n this.isEdit = true;\n\n this.paymentProfile = res;\n\n this.changePaymentType(res.paymentType);\n this.changeCountry(res.address.country);\n }\n private handleSubmitSuccess(res: PaymentProfile) {\n this.errors = [];\n this.isLoading = false;\n\n this.location.back();\n }\n private handleDeleteSuccess(res: boolean) {\n this.errors = [];\n this.isLoading = false;\n\n this.location.back();\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n this.isLoading = false;\n this.captchaReset();\n }\n\n\n cancel() {\n this.location.back();\n }\n\n savePayment() {\n this.isLoading = true;\n\n this.paymentProfile.currency = this.currency;\n\n this.paymentService.savePaymentProfile(this.paymentProfile)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n err => this.handleSubmitError(err)\n );\n }\n deletePayment() {\n this.isLoading = true;\n\n this.paymentService.deletePaymentProfile(this.paymentProfile.id)\n .subscribe(\n data => this.handleDeleteSuccess(data),\n err => this.handleSubmitError(err)\n );\n\n }\n \n toggleAchAcctNoPopover(e) {\n this.isAchAcctNoPopoverVisible = !this.isAchAcctNoPopoverVisible;\n return this.isAchAcctNoPopoverVisible;\n }\n\n toggleRoutingNoPopover(e) {\n this.isRoutingNoPopoverVisible = !this.isRoutingNoPopoverVisible;\n return this.isRoutingNoPopoverVisible;\n }\n\n\n captchaReset(): void {\n this.captchaElem.resetCaptcha();\n }\n\n CaptchaHandleSuccess(captchaResponse: string): void {\n this.captchaSuccess = true;\n this.captchaResponse = captchaResponse;\n this.captchaIsExpired = false;\n }\n\n captchaHandleLoad(): void {\n this.captchaIsLoaded = true;\n this.captchaIsExpired = false;\n }\n\n captchaHandleExpire(): void {\n this.captchaSuccess = false;\n this.captchaIsExpired = true;\n }\n\n\n //loadScript() {\n // //var iFrameHead = window.frames[\"secureFrame\"];\n // //var myscript = document.createElement('script');\n // //myscript.type = 'text/javascript;';\n // //myscript.src = \"/assets/js/scentair.js\";\n // //iFrameHead.appendChild(myscript);\n //}\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n\\n
\\n
\\n
\\n Pay Now\\n
\\n
\\n
\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n {{ 'PayNow.PaymentInvoices' | 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 {{ 'PayNow.InvoiceNumber' | translate }}\\n \\n {{ 'PayNow.DueDate' | translate }}\\n \\n {{ 'PayNow.InvoiceAmount' | translate }}\\n \\n {{ 'PayNow.PaymentAmount' | translate }}\\n
\\n {{invoice.invoiceNumber}}\\n \\n {{formatDate(invoice.dateDue)}}\\n \\n {{formatAmount(invoice.totalAmount)}} {{invoice.currency}}\\n \\n {{formatAmount(invoice.userPaymentAmount)}} {{invoice.currency}}\\n
\\n\\n
\\n
\\n\\n
\\n
\\n \\n {{ 'PayNow.TotalPaymentAmount' | translate }} {{ formatAmount(selectedPaymentAmount) }} {{ invoiceCurrency }}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n {{ 'PayNow.SelectPaymentMethod' | translate }} {{ 'PayNow.SetupNewProfile' | translate }}\\n
\\n
\\n
\\n
\\n\\n
\\n \\n\\n
0\\\" class=\\\"row\\\">\\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
{{ 'PayNow.ElectronicPaymentTermsAndCondition' | translate }}
\\n
\\n {{ 'PayNow.ByCheckingBox' | translate }} {{ 'PayNow.AuthorizedAgent' | translate }} {{ 'PayNow.Certifies' | translate }} {{ 'PayNow.AgentAuthority' | translate }} {{ 'PayNow.Signs' | translate }} {{ 'PayNow.EnrollmentAndAuth1' | translate }}{{ 'PayNow.Authorization' | translate }}{{ 'PayNow.EnrollmentAndAuth2' | translate }}\\n
\\n {{ 'PayNow.Certifies2' | translate }} {{ 'PayNow.description1' | translate }} {{ 'PayNow.Consents' | translate }}{{ 'PayNow.description2' | translate }}\\n

{{ 'PayNow.description3' | translate }}

\\n {{ 'PayNow.GeneralTerms' | translate }} {{ 'PayNow.description4' | translate }} {{ 'PayNow.InvoiceAmounts' | translate }} {{ 'PayNow.description5' | translate }}{{ 'PayNow.EnrollmentScreens' | translate }}{{ 'PayNow.description6' | translate }}customercare@scentair.com{{ 'PayNow.description7' | translate }}\\n

\\n {{ 'PayNow.SubscriberAgrees' | translate }}\\n

\\n {{ 'PayNow.ACHAuthorization' | translate }} {{ 'PayNow.description8' | translate }}\\n

{{ 'PayNow.CreditCardAuth' | translate }} {{ 'PayNow.description9' | translate }}\\n {{ 'PayNow.description10' | translate }}\\n\\n

{{ 'PayNow.Privacy' | translate }}{{ 'PayNow.description11' | translate }}\\n\\n\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n  \\n \\n \\n \\n \\n \\n \\n
\\n\\n
{{ 'PayNow.PaymentCompleteWarning' | translate }}
\\n
\\n
\\n
\\n {{ 'PayNow.AutopayMethodCannotDeleted' | translate }}\\n
\\n
\\n
\\n
\\n {{ 'PayNow.PaymentAlert' | translate }}\\n
\\n
\\n\\n\\n
\\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { Invoice } from '../../models/invoice.model';\nimport { InvoiceService } from \"../../services/invoice.service\";\nimport { PaymentMethod } from '../../models/payment-method.model';\nimport { PaymentService } from '../../services/payment.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Location } from '@angular/common';\nimport { Utilities } from '../../services/utilities';\nimport { Router, Event } from '@angular/router';\nimport { PaymentResult } from '../../models/payment-result-model';\n\n@Component({\n selector: 'payment-paynow',\n templateUrl: './payment-paynow.component.html',\n styleUrls: ['./payment-paynow.component.css'],\n animations: [fadeInOut]\n})\n\nexport class PaymentPaynowComponent implements OnInit {\n\n isLoading: boolean;\n formResetToggle: boolean = true;\n isAutoEnrollPopoverVisible: boolean;\n selectedPaymentAmount: number;\n selectedPaymentMethod: string;\n invoiceCurrency: string;\n invoices: Invoice[] = [];\n invoicesToPay: Invoice[] = [];\n paymentMethods: PaymentMethod[] = [];\n errors: string[] = [];\n paymentResponse: PaymentResult;\n selectedRows: number[] = new Array();\n totalBalanceDue: number = 0;\n isBalanceDue: boolean = false;\n isTermsReviewed: boolean = false;\n isTermsVisible: boolean = false;\n\n radioButtonSelected: number = 0;\n radioButtonNotSelected: number = 1;\n test: string = \"testing\";\n\n constructor(public location: Location,public configurations: ConfigurationService, private routerService: Router, private invoiceService: InvoiceService, private paymentService: PaymentService) {\n }\n\n ngOnInit() {\n \n this.getInvoicesToPay();\n this.getPaymentMethods();\n \n this.selectedPaymentAmount = this.invoiceService.getInvoicesPaymentTotal();\n //this.getUserInvoices();\n\n }\n\n\n getUserInvoices() {\n\n\n\n this.selectedPaymentAmount = 0;\n\n this.invoiceService\n .getOpenInvoices()\n .subscribe(\n request => {\n setTimeout(() => {\n this.isLoading = false;\n\n let invoices = request;\n if (invoices !== null)\n invoices.forEach(invoice => {\n if (invoice !== null) {\n\n this.invoiceCurrency = (invoice.currency) ? invoice.currency : (invoice.balanceCurrency) ? invoice.balanceCurrency : 'USD';\n this.selectedPaymentAmount += invoice.balance;\n\n if (invoice.balance > 0)\n this.invoices.push(invoice);\n }\n });\n }, 500);\n },\n error => {\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n });\n \n \n \n }\n getPaymentMethods() {\n\n \n\n this.isLoading = true;\n\n this.paymentService.getPaymentMethods()\n .subscribe(\n request => {\n setTimeout(() => {\n this.isLoading = false;\n this.paymentMethods = request;\n\n let method = this.paymentMethods.find(x => x.currentAutoPayMethod);\n if (method)\n this.selectedPaymentMethod = method.id;\n\n }, 500);\n },\n error => {\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n });\n }\n \n\n setPaymentMethod(id: string) {\n this.selectedPaymentMethod = id;\n }\n\n private handleSubmitSuccess(res: PaymentResult) {\n this.errors = [];\n this.isLoading = false;\n\n this.paymentResponse = res;\n\n\n\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n if (this.invoiceService.getOpenInvoicesTotal() - this.selectedPaymentAmount <= 0) {\n alert(\"Payment Successful. A payment confirmation email has been sent to you. Your account is now eligible for AutoPay\");\n this.routerService.navigate(['/secure/payment/autopay']);\n }\n else {\n alert(\"Payment Successful. A payment confirmation email has been sent to you.\");\n this.routerService.navigate(['/landing']);\n }\n\n this.invoiceService.userInvoices = [];\n this.invoiceService.invoicesToPay = [];\n\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n alert(\"Declined. Please contact us. We will gladly assist you with your payment.\");\n\n this.errors = serverError;\n this.isLoading = false;\n\n this.isTermsReviewed = false;\n this.isTermsVisible = false;\n\n this.routerService.navigate(['/landing']);\n }\n\n get canPayNow(): boolean {\n if (this.selectedPaymentMethod && this.selectedPaymentMethod.length > 0)\n return true;\n\n return false;\n }\n paynow() {\n if (!this.canPayNow) {\n alert(\"Select a Payment Method\");\n return false;\n }\n\n if (!this.isTermsReviewed) {\n this.isTermsReviewed = true;\n this.isTermsVisible = true;\n return;\n }\n\n this.isLoading = true;\n\n const invoices = this.invoicesToPay.map(x => x.invoiceNumber);\n const amount = this.invoiceService.getInvoicesPaymentTotal();\n\n this.paymentService.submitPayment(this.selectedPaymentMethod, invoices, amount)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n err => this.handleSubmitError(err));\n\n }\n\n getInvoices(): Invoice[] {\n //return this.invoices;\n return this.invoiceService.getUserInvoices();\n }\n\n getInvoicesToPay() {\n\n //alert(caller);\n this.invoicesToPay = this.invoiceService.getInvoicesToPay();\n }\n\n togglePopover(e) {\n this.isAutoEnrollPopoverVisible = !this.isAutoEnrollPopoverVisible;\n return this.isAutoEnrollPopoverVisible;\n }\n\n formatAmount(amount: number) {\n if (isNaN(amount)) {\n return (0).toFixed(2);\n }\n return (amount).toFixed(2);\n }\n\n formatDate(d: string) {\n if (d == null) { return null; }\n var dt = new Date(d);\n return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear();\n }\n\n cancel() {\n this.invoiceService.userInvoices = [];\n this.invoiceService.invoicesToPay = [];\n\n this.location.back();\n }\n \n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n\\n
\\n
\\n
\\n {{'PaymentProfile.PaymentMethods' | translate}}\\n
\\n
\\n
\\n\\n
\\n\\n\\n
\\n
\\n
\\n {{'PaymentProfile.PaymentMethodsDesc' | translate}}\\n
\\n
\\n
\\n\\n
\\n {{'PaymentProfile.USCCANOption' | translate}}\\n
\\n\\n\\n\\n\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n
\\n
\\n \\n {{'PaymentProfile.CurrentSavedMethod' | translate}}\\n \\n

\\n\\n \\n\\n
0\\\" class=\\\"row\\\">\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n {{ paymentMethod.name }} ({{paymentMethod.paymentType}}{{'PaymentProfile.EndingWith' | translate}} {{paymentMethod.accountNumber.substring(paymentMethod.accountNumber.length - 4, paymentMethod.accountNumber.length)}})\\n\\n \\n {{ 'PaymentProfile.CurrentAutoPayMethod' | translate }}\\n \\n {{'PaymentProfile.SelectedPaymentValidationMessage' | 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 {{'PaymentProfile.SecurityReasonDesc' | translate}}\\n
\\n
\\n
\\n
\\n
\\n {{'PaymentProfile.PaymentReceivedTimeDesc' | translate}}\\n
\\n
\\n
\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Account } from '../../models/account.model';\nimport { AccountService } from '../../services/account.service';\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { PaymentMethod } from '../../models/payment-method.model';\nimport { PaymentService } from '../../services/payment.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Utilities } from '../../services/utilities';\n\n\n@Component({\n selector: 'payment-profile',\n templateUrl: './payment-profile.component.html',\n styleUrls: ['./payment-profile.component.css'],\n animations: [fadeInOut]\n})\nexport class PaymentProfileComponent implements OnInit {\n\n isLoading: boolean;\n isAutoEnrollPopoverVisible: boolean;\n canPayOnSite: boolean = true;\n paymentMethods: PaymentMethod[];\n errors: string[] = [];\n\n constructor(public configurations: ConfigurationService, private paymentService: PaymentService, private accountService: AccountService) {\n }\n\n ngOnInit() {\n this.getPaymentMethods();\n this.getSiteAccount();\n }\n\n getSiteAccount() {\n this.accountService.getAccount().subscribe(account => this.saveSuccessHelper(account), error => this.saveFailedHelper(error));\n\n }\n\n saveSuccessHelper(res: Account) {\n if (res.currency != 'USD' && res.currency != 'CAD')\n this.canPayOnSite = false;\n\n\n }\n\n saveFailedHelper(res: Account) {\n this.canPayOnSite = true;\n }\n\n private handleSubmitSuccess(res: PaymentMethod[]) {\n this.errors = [];\n this.isLoading = false;\n\n this.paymentMethods = res;\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n this.isLoading = false;\n }\n \n getPaymentMethods() {\n\n this.isLoading = true;\n\n this.paymentService.getPaymentMethods()\n .subscribe(\n data => this.handleSubmitSuccess(data),\n err => this.handleSubmitError(err));\n }\n\n\n togglePopover(e) {\n this.isAutoEnrollPopoverVisible = !this.isAutoEnrollPopoverVisible;\n return this.isAutoEnrollPopoverVisible;\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n  \\n
\\n
\\n\\n
\\n
\\n
\\n Privacy Policy\\n
\\n
\\n
\\n \\n
\\n
\\n

\\n Effective date: August 21, 2018\\n

\\n

\\n ScentAir (“us”, “we”, or “our”) operates the portal.scentair.com website (hereinafter referred to as the “Service”).\\n

\\n

\\n This page informs you of our policies regarding the collection, use and disclosure of personal data when you use our Service and the choices you have associated with that data.\\n

\\n

\\n We use your data to provide and improve the Service. By using the Service, you agree to the collection and use of information in accordance with this policy. Unless otherwise defined in this Privacy Policy, the terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, accessible from portal.scentair.com\\n

\\n \\n Definitions\\n
    \\n
  • \\n Service is the portal.scentair.com website operated by ScentAir\\n
  • \\n
  • \\n Personal DataPersonal Data means data about a living individual who can be identified from those data (or from those and other information either in our possession or likely to come into our possession).\\n
  • \\n
  • \\n Usage DataUsage Data is data collected automatically either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).\\n
  • \\n
  • \\n CookiesCookies are small files stored on your device (computer or mobile device).\\n
  • \\n
  • \\n Data ControllerData Controller means the natural or legal person who (either alone or jointly or in common with other persons) determines the purposes for which and the manner in which any personal information are, or are to be, processed.For the purpose of this Privacy Policy, we are a Data Controller of your Personal Data.\\n
  • \\n
  • \\n Data Processors (or Service Providers)Data Processor (or Service Provider) means any natural or legal person who processes the data on behalf of the Data Controller.We may use the services of various Service Providers in order to process your data more effectively.\\n
  • \\n
  • \\n Data Subject (or User)Data Subject is any living individual who is using our Service and is the subject of Personal Data.\\n
  • \\n \\n
\\n \\n
\\n
\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\n\nimport { fadeInOut } from '../../services/animations';\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { AuthService } from '../../services/auth.service';\n\n@Component({\n selector: 'privacy',\n templateUrl: './privacy.component.html',\n styleUrls: ['./privacy.component.css'],\n animations: [fadeInOut]\n})\nexport class PrivacyComponent implements OnInit {\n\n isLoggedIn: boolean;\n\n constructor(public configurations: ConfigurationService, private authService: AuthService) {\n this.isLoggedIn = authService.isLoggedIn;\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n\\n
\\n
\\n
{{ 'Email Confirmation' | translate }}
\\n
\\n
\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n
\\n Confirming your email...

\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n Your email is confirmed.

\\n
\\n
\\n

\\n {{ 'Login' | translate }} to view account details, make payments and add additional users.\\n

\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n Your email is not confirmed. Please delete the email. A new email will be sent to you. If you did not register, please contact support.\\n
\\n
\\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n AMERICAS: Toll free: +866-723-6824 or +1 704-504-2320\\n
\\n
\\n
\\n EMEA: +33 (0)5 62 57 63 20\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n \\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { switchMap } from 'rxjs/operators';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from '../../services/account.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Utilities } from '../../services/utilities';\nimport { fadeInOut } from '../../services/animations';\n\n@Component({\n selector: 'register-confirm-email',\n templateUrl: './register-confirmation-email.component.html',\n styleUrls: ['./register-confirmation-email.component.css']\n})\nexport class RegisterConfirmationEmailComponent implements OnInit {\n errors: any[];\n isLoading: boolean;\n confirmed: boolean;\n userId: string;\n code: string;\n\n constructor(\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit() {\n let userId = this.route.snapshot.paramMap.get('id');\n let code = this.route.snapshot.paramMap.get('code');\n\n this.errors = [];\n this.confirmed = false;\n this.isLoading = false;\n this.userId = userId;\n this.code = code;\n\n\n this.accountService.confirmEmail(userId, code)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n error => this.handleSubmitError(error));\n \n }\n\n private handleSubmitSuccess(res: boolean) {\n this.errors = [];\n this.isLoading = false;\n this.confirmed = res;\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n this.isLoading = false;\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n
\\n
\\n
\\n {{ 'Register.Header' | translate }}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n {{ 'Register.RegistrationComplete' | translate }}

\\n
\\n
\\n

\\n {{ 'Register.Login' | translate }} {{ 'Register.ToViewDetails' | translate }}\\n

\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n\\n\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { switchMap } from 'rxjs/operators';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from '../../services/account.service';\n\n@Component({\n selector: 'register-confirmation',\n templateUrl: './register-confirmation.component.html',\n styleUrls: ['./register-confirmation.component.css']\n})\nexport class RegisterConfirmationComponent implements OnInit {\n id: string;\n\n constructor(\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router) { }\n\n ngOnInit() {\n let id = this.route.snapshot.paramMap.get('id');\n this.id = id;\n\n //confirmation of email\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n\\n
\\n
\\n
{{ 'Register.Step1Registration' | translate }}
\\n
{{ 'Register.Step2Registration' | translate }}
\\n
\\n
\\n
\\n
\\n
{{ errorMessage | translate }} {{ 'Register.Here' | translate}}
\\n
\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n
\\n \\n \\n {{ 'Register.CustomerIDNumberToolTip' | translate }}\\n \\n\\n
\\n \\n {{ 'Register.InvalidAccountNumber' | translate }}{{ model.account.number?.messages | translate }}\\n
\\n
\\n
\\n \\n \\n {{ 'Register.PINNumberToolTip' | translate }}\\n \\n\\n
\\n \\n {{ 'Register.PINNumberValidation' | translate }}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n {{ model.account.name }} ({{model.account.number}})\\n
\\n
\\n {{ model.account.address.line1 }}
\\n {{ model.account.address.municipality }}, \\n {{ model.account.address.stateOrProvince }}  {{ model.account.address.postalCode }}
\\n {{ model.account.address.country }}\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n \\n {{ 'Register.FirstNameValidation' | translate }}\\n
\\n
\\n
\\n \\n
\\n \\n {{ 'Register.LastNameValidation' | translate }}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n {{ 'Register.EmailValidation'| translate }}{{ model.user.email?.messages}}\\n
\\n
\\n
\\n \\n
\\n \\n {{ 'Register.PhoneNumberValidation' | translate }}\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n \\n {{ 'Register.UserNameToolTip' | translate }}\\n \\n\\n
\\n \\n \\n {{ 'Register.UserNameRequired' | translate }}\\n \\n \\n {{ 'Register.UserNameCharLength' | translate }}\\n \\n \\n {{ 'Register.UserNameValidation' | translate }}\\n \\n
\\n
\\n\\n
\\n \\n \\n {{ 'Register.PasswordToolTip' | translate }}\\n \\n\\n
\\n \\n \\n {{ 'Register.PasswordValidation' | translate }}\\n
\\n
\\n \\n {{ 'Register.PasswordCharLength' | translate }}\\n
\\n
\\n \\n {{ 'Register.PasswordCharLength' | translate }}\\n
\\n
\\n \\n {{ 'Register.PasswordMatchValidation' | translate }}\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n {{ 'Register.ConfirmPasswordRequired' | translate }}\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n {{ 'Register.QuetionValidation' | translate }}\\n
\\n
\\n\\n
\\n \\n
\\n \\n {{ 'Register.AnswerValidation' | translate }}\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n {{ 'Register.QuetionValidation' | translate }}\\n
\\n
\\n\\n
\\n \\n
\\n \\n {{ 'Register.AnswerValidation' | 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
\\n\\n
\\n\\n\\n\"","import { Component, OnInit, OnDestroy, Input, EventEmitter, Output, OnChanges, ViewChild } from \"@angular/core\";\nimport { FormsModule, NgForm, NgModel, ValidationErrors, FormControl, FormGroup, FormBuilder, Validators } from '@angular/forms'\nimport { Router } from \"@angular/router\";\nimport { Location } from '@angular/common';\nimport { forEach } from \"@angular/router/src/utils/collection\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { Subscription, Observable } from \"rxjs\";\n\nimport { AccountService } from \"../../services/account.service\";\nimport { ConfigurationService } from '../../services/configuration.service';\nimport { Utilities } from '../../services/utilities';\nimport { register } from '../../models/register.model';\nimport { Account } from '../../models/account.model';\nimport { Address } from '../../models/address.model';\nimport { SecurityQuestion } from \"../../models/security-questions.model\";\nimport { User } from \"../../models/user.model\";\nimport { modelState } from \"../../models/ctp.interface\";\nimport { element } from \"protractor\";\nimport { LocalStoreManager } from '../../services/local-store-manager.service';\nimport { DBkeys } from '../../services/db-Keys';\nimport { AppTranslationService } from \"../../services/app-translation.service\";\nimport { LanguageObservableService } from \"../../services/language-observable.service\";\nimport { ReCaptcha2Component } from \"../../../../GoogleCaptcha/ngx-captcha-lib/src/lib\";\n\n\n\n\n\n@Component({\n selector: 'app-register',\n templateUrl: './register.component.html',\n styleUrls: ['./register.component.css']\n})\nexport class RegisterComponent implements OnInit {\n model: register;\n @Input() data: register;\n @Output() submit = new EventEmitter();\n registerSubscription: Subscription;\n isAcctNoPopoverVisible: boolean;\n isPinNoPopoverVisible: boolean;\n isUsernamePopoverVisible: boolean;\n isPasswordPopoverVisible: boolean;\n here: boolean = false;\n errorMessage: string =\"\";\n private selectedLanguage: string;\n\n isLoading = false;\n isEdit = false;\n isError = false;\n isAccount = false;\n isUser = false;\n @Input() isModal = false;\n\n errors: string[];\n formResetToggle = true;\n\n modalClosedCallback: () => void;\n\n securityQuestions01: SecurityQuestion[];\n securityQuestions02: SecurityQuestion[];\n\n public captchaIsLoaded = false;\n public captchaSuccess = false;\n public captchaIsExpired = false;\n public captchaResponse?: string;\n public siteKey: string = '';\n public useGlobalDomain: boolean = false;\n public aFormGroup: FormGroup;\n @ViewChild('captchaElem') captchaElem: ReCaptcha2Component;\n //public isDev = (['localhost', 'dev30web01.scentair.local', 'dev30web01'].indexOf(document.location.hostname.toLowerCase()) > -1) // mholmes\n\n constructor(\n private accountService: AccountService,\n private configurations: ConfigurationService,\n private router: Router,\n private location: Location, private localStorage: LocalStoreManager, private translationService: AppTranslationService, public userInfoService: LanguageObservableService) {\n \n }\n\n ngOnInit() {\n\n \n // Note: Captcha SiteKey appears in 3 locations within the code base:\n // - Portal\\appsettings.json\n // - Portal\\ClientApp\\src\\app\\components\\paymentedit\\payment-edit.component.ts\n // - Portal\\ClientApp\\src\\app\\components\\register\\register.component.ts\n // Prod\n this.siteKey = '6LforZoUAAAAAJPt4NAqNpmu5rvY_zsfzNigCAsn';\n // Stage\n //this.siteKey = '6LdSmZgUAAAAAA-RJe4UxWSoYMx9_lrHsah1P8xT';\n // Local\n //this.siteKey = '6LdNz5cUAAAAAIO1jk77YhsJdZspLzqxC4U8kLSH';\n // Dev (mholmes)\n //this.siteKey = '6LfLTNMUAAAAACSnpgaixNUpe0Hqo9wMcJimb1xb';\n\n this.securityQuestions01 = [];\n this.securityQuestions02 = [];\n this.errors = [];\n this.isEdit = false;\n this.setForm();\n\n //if (this.getShouldRedirect()) {\n // this.authService.redirectLoginUser();\n //}\n //else {\n // this.loginStatusSubscription = this.authService.getLoginStatusEvent().subscribe(isLoggedIn => {\n // if (this.getShouldRedirect()) {\n // this.authService.redirectLoginUser();\n // }\n // });\n //}\n\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\n this.selectedLanguage = this.localStorage.getDataObject(DBkeys.LANGUAGE);\n } else {\n this.selectedLanguage = 'en';\n }\n \n\n this.accountService.getQuestions(this.selectedLanguage).subscribe(a => a.forEach(x => {\n this.securityQuestions01.push(x);\n this.securityQuestions02.push(x);\n }));\n\n this.userInfoService.languageStream$.subscribe(lang => {\n if (this.selectedLanguage != lang) {\n this.selectedLanguage = lang;\n this.getQuestions(lang);\n }\n });\n\n }\n ngOnDestroy() {\n if (this.registerSubscription) {\n this.registerSubscription.unsubscribe();\n }\n }\n\n public getQuestions(language) {\n this.securityQuestions01 = [];\n this.securityQuestions02 = [];\n this.accountService.getQuestions(language).subscribe(a => {\n if (a && a.length > 0) {\n this.securityQuestions01 = a;\n this.securityQuestions02 = a;\n }\n });\n }\n\n\n private setForm() {\n if (!this.isEdit) {\n this.model = new register();\n } else {\n this.model = new register(\n this.data.user,\n this.data.account\n );\n\n this.isAccount = this.model.account &&\n this.model.account.name &&\n this.model.account.number &&\n this.model.account.name.length > 0 &&\n this.model.account.number.length > 0;\n this.isUser = this.model.user &&\n this.model.user.id &&\n this.model.user.id.length > 0;\n\n this.isError = this.errors !== null && this.errors.length > 0;\n this.isLoading = false;\n\n setTimeout(() => {\n const eventObj = {\n isEdit: this.isEdit,\n data: this.model,\n errors: this.errors,\n isAccount: this.isAccount,\n };\n this.submit.emit(eventObj);\n\n\n if (this.isAccount && this.isUser)\n this.router.navigate(['/register/confirmation']);\n\n }, 500);\n }\n }\n\n \n closeModal() {\n if (this.modalClosedCallback) {\n this.modalClosedCallback();\n }\n }\n offerAlternateHost() {\n\n }\n reset() {\n this.formResetToggle = false;\n\n this.errors = []; \n this.isLoading = false;\n\n setTimeout(() => {\n this.formResetToggle = true;\n });\n }\n\n\n private handleSubmitSuccess(res: register) {\n this.isLoading = false;\n this.data = res;\n this.isEdit = true;\n this.errors = [];\n\n this.setForm();\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n \n var error = serverError.length > 0 ? serverError[0].includes(\"already\") : false;\n if (error) {\n this.errorMessage = \"Register.ErrorMessage1\";\n this.here = true;\n }\n else\n {\n this.errorMessage = \"Register.ErrorMessage2\";\n this.here = false;\n }\n \n this.isLoading = false;\n this.setForm();\n this.captchaReset();\n }\n\n\n register() {\n this.isLoading = true;\n \n\n this.registerSubscription = this.accountService.register(this.model)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n err => this.handleSubmitError(err)\n );\n }\n\n cancel() {\n this.location.back();\n }\n\n toggleAcctNoPopover(e) {\n this.isAcctNoPopoverVisible = !this.isAcctNoPopoverVisible;\n return this.isAcctNoPopoverVisible;\n }\n\n togglePinNoPopover(e) {\n this.isPinNoPopoverVisible = !this.isPinNoPopoverVisible;\n return this.isPinNoPopoverVisible;\n }\n\n toggleUsernamePopover(e) {\n this.isUsernamePopoverVisible = !this.isUsernamePopoverVisible;\n return this.isUsernamePopoverVisible;\n }\n\n togglePasswordPopover(e) {\n this.isPasswordPopoverVisible = !this.isPasswordPopoverVisible;\n return this.isPasswordPopoverVisible;\n }\n\n \n captchaHandleReset(): void {\n this.captchaSuccess = false;\n this.captchaResponse = undefined;\n this.captchaIsExpired = false;\n \n }\n\n captchaReset(): void {\n this.captchaElem.resetCaptcha();\n }\n\n CaptchaHandleSuccess(captchaResponse: string): void {\n this.captchaSuccess = true;\n this.captchaResponse = captchaResponse;\n this.captchaIsExpired = false;\n }\n\n captchaHandleLoad(): void {\n this.captchaIsLoaded = true;\n this.captchaIsExpired = false;\n }\n\n captchaHandleExpire(): void {\n this.captchaSuccess = false;\n this.captchaIsExpired = true;\n }\n\n}\n","module.exports = \"\"","module.exports = \"
\\n\\n
\\n\\n
\\n
\\n
{{ 'Password Reset' | translate }}
\\n
\\n
\\n
\\n
\\n
{{ err | translate }}
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n {{ 'Username is required' | translate }}{{ model.userName?.messages}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n {{ 'Password is required' | translate }}\\n
\\n
\\n \\n {{ 'Password must be at least 8 characters' | translate }}\\n
\\n
\\n \\n {{ 'Password must contain at least one uppercase letter, one lowercase letter, one number, and one special charater' | translate }}\\n
\\n
\\n \\n {{ 'Password does not match confirmation' | translate }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n {{ 'Confirmation of password is required' | translate }}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n Your password has been reset.

\\n
\\n
\\n

\\n {{ 'Login' | translate }} to view account details, make payments and add additional users.\\n

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


\\n
\\n
\\n
\\n AMERICAS: Toll free: +866-723-6824 or +1 704-504-2320\\n
\\n
\\n
\\n EMEA: +33 (0)5 62 57 63 20\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n\"","import { Component, OnInit, EventEmitter, Input, Output } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AccountService } from '../../services/account.service';\nimport { Location } from '@angular/common';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Utilities } from '../../services/utilities';\nimport { UserEdit } from '../../models/user-edit.model';\nimport { fadeInOut } from '../../services/animations';\n\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html',\n styleUrls: ['./reset-password.component.css']\n})\nexport class ResetPasswordComponent implements OnInit {\n errors: any[] = [];\n isLoading = false;\n isConfirmed = false;\n\n model: {\n userName: string,\n newPassword: string,\n confirmPassword: string\n };\n\n userId: string;\n code: string;\n\n constructor(\n private accountService: AccountService,\n private route: ActivatedRoute,\n private router: Router,\n private location: Location)\n {\n }\n\n ngOnInit() {\n let userId = this.route.snapshot.paramMap.get('id');\n let code = this.route.snapshot.paramMap.get('code');\n\n this.model = {\n userName: '',\n newPassword: '',\n confirmPassword: ''\n };\n\n this.userId = userId;\n this.code = code;\n }\n\n cancel() {\n this.router.navigate([\"/\"]);\n }\n\n resetPassword() {\n this.isLoading = true;\n\n this.accountService.confirmForgotPassword(this.code, this.model.userName, this.model.newPassword)\n .subscribe(\n data => this.handleSubmitSuccess(data),\n error => this.handleSubmitError(error));\n }\n\n private handleSubmitSuccess(res: boolean) {\n this.errors = [];\n this.isLoading = false;\n\n this.isConfirmed = true;\n }\n private handleSubmitError(err: HttpErrorResponse) {\n const serverError = Utilities.getHttpErrors(err);\n\n this.errors = serverError;\n this.isConfirmed = false;\n this.isLoading = false;\n }\n\n}\n","module.exports = \".side-menu {\\n min-width: 120px;\\n}\\n\\n.separator-hr {\\n margin-top: 0;\\n margin-bottom: 10px;\\n}\\n\\n[hidden] {\\n display: none;\\n}\\n\"","module.exports = \"
\\n
\\n

{{'pageHeader.Settings' | translate}}

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

{{'settings.header.UserProfile' | translate}}

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

{{'settings.header.AccountSettings' | translate}}

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

{{'settings.header.ContactManagement' | translate}}

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

{{'settings.header.UsersManagements' | translate}}

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

{{'settings.header.RolesManagement' | translate}}

\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n\nimport { fadeInOut } from '../../services/animations';\nimport { BootstrapTabDirective } from \"../../directives/bootstrap-tab.directive\";\nimport { AccountService } from \"../../services/account.service\";\nimport { Permission } from '../../models/permission.model';\n\n\n@Component({\n selector: 'settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.css'],\n animations: [fadeInOut]\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n\n isProfileActivated = true;\n isPreferencesActivated = false;\n isAccountActivated = false;\n isContactsActivated = false;\n isUsersActivated = false;\n isRolesActivated = false;\n\n fragmentSubscription: any;\n\n readonly profileTab = \"profile\";\n readonly preferencesTab = \"preferences\";\n readonly accountTab = \"account\";\n readonly contactsTab = \"contacts\";\n readonly usersTab = \"users\";\n readonly rolesTab = \"roles\";\n\n\n @ViewChild(\"tab\")\n tab: BootstrapTabDirective;\n\n\n constructor(\n private route: ActivatedRoute,\n private accountService: AccountService) {\n }\n\n\n ngOnInit() {\n this.fragmentSubscription = this.route.fragment.subscribe(anchor => this.showContent(anchor));\n }\n\n\n ngOnDestroy() {\n this.fragmentSubscription.unsubscribe();\n }\n\n showContent(anchor: string) {\n if ((this.isFragmentEquals(anchor, this.usersTab) && !this.canViewUsers) ||\n (this.isFragmentEquals(anchor, this.rolesTab) && !this.canViewRoles))\n return;\n\n this.tab.show(`#${anchor || this.profileTab}Tab`);\n }\n\n\n isFragmentEquals(fragment1: string, fragment2: string) {\n\n if (fragment1 == null)\n fragment1 = \"\";\n\n if (fragment2 == null)\n fragment2 = \"\";\n\n return fragment1.toLowerCase() == fragment2.toLowerCase();\n }\n\n\n onShowTab(event) {\n let activeTab = event.target.attributes[\"fragment\"].value;\n\n this.isProfileActivated = activeTab == this.profileTab;\n this.isAccountActivated = activeTab == this.accountTab;\n this.isContactsActivated = activeTab == this.contactsTab;\n // this.isPreferencesActivated = activeTab == this.preferencesTab;\n this.isUsersActivated = activeTab == this.usersTab;\n this.isRolesActivated = activeTab == this.rolesTab;\n }\n\n\n // Permissions are assigned to Roles via the RoleClaims table. The Settings interface to manage role permissions is broken.\n get canViewUsers() {\n return this.accountService.userHasPermission(Permission.viewUsersPermission);\n }\n\n get canViewRoles() {\n return this.accountService.userHasPermission(Permission.viewRolesPermission);\n }\n}\n","module.exports = \"\"","module.exports = \"
\\n
\\n  \\n
\\n
\\n\\n
\\n
\\n
\\n Terms & Conditions\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
ScentAir Electronic Payment Terms and Conditions
\\n
\\n BY CHECKING THE BOX, Authorized Agent (“Agent”): (a) certifies that Agent (i) is authorized to sign and legally bind Subscriber to contracts and to select Subscriber’s recurring Payment Type, and (ii) has corrected any errors in the above fields and will supply accurate details about Subscriber’s Payment Type in the subsequent screens that are provided by Chase Paymentech; (b) signs the below “Enrollment & Authorization of Recurring Payments” (“Authorization”) on behalf of Subscriber, which Authorization is incorporated herein;\\n
\\n (c) certifies that Agent (i) has made a copy of the Authorization for Subscriber's records, and (ii) confirms Subscriber's signature and delivers the Authorization for ScentAir's acceptance (in its discretion); and (d) consents to the processing of any outstanding balance on Subscriber’s account and understands that the enrolled credit card will be charged in that amount without any further authorization.\\n

Enrollment & Authorization of Recurring Payments (“Authorization”)

\\n General Terms: The Subscriber named in the “Environmental Scent Service Agreement” (“ESS”) between Subscriber and ScentAir, hereby authorizes ScentAir, for the term of the ESS, to obtain funds from the “Payment Type” selected above for purposes of paying amounts, including late charges and other fees, now or later due from Subscriber as specified in ScentAir invoices (“Invoice Amounts”). Subscriber agrees that all ESS-related transactions are and will always be primarily for business purposes and that Subscriber is and will remain the owner of the bank, or credit card, account specified during enrollment (“Enrollment Screens”). Subscriber agrees that this Authorization will remain in effect until subscriber cancels it by providing notice via the below “Cancellation Mechanism” at least fifteen (15) days prior to the next invoice billing date. Subscriber agrees that it will still owe the Invoice Amount(s) to the extent ScentAir is not able to obtain payment via Subscriber’s Payment Type. ScentAir reserves all rights. As used above, “Cancellation Mechanism” means notice to ScentAir either (a) at 3810 Shutterfly Road, Suite 900, Charlotte, NC 28217 by certified mail, or (b) via email at customercare@scentair.com, which notice shall state (i) the date of notice delivery and Subscriber’s Customer ID #, (ii) the effective date for cancellation of the recurring payment method, and (iii) the payment method Subscriber will use post-cancellation.\\n

\\n Subscriber further agrees:\\n

\\n ACH Authorization. If the “Payment Type” is “ACH CCD,” Subscriber agrees to the General Terms and to the rules of the National Automated Clearinghouse (“NACHA” or “ACH”) now or later in effect. In addition, Subscriber authorizes ScentAir to debit the Invoice Amounts (which may vary in amount) on, or shortly before or after, the invoice due date from the bank account indicated in the Enrollment Screens (as updated). Subscriber agrees to: (a) timely notify ScentAir of any changes in Subscriber’s account information; and (b) reimburse ScentAir for all penalties and fees incurred as a result of any rejection of ScentAir’s request for account funds for any reason, including insufficient or unavailable funds or as a result of the account not being properly configured (such as for ACH transactions). Subscriber agrees that if an Invoice Amount is returned unpaid: (a) ScentAir may at its discretion attempt to process it as allowed by applicable NACHA rules, and (b) ScentAir may also make an ACH debit for a returned item fee of at least $4.50 or any greater amount that ScentAir is directly or indirectly obligated by NACHA rules to bear in relation to returned items.\\n

Credit Card Authorization. If the “Payment Type” is “Credit Card,” Subscriber agrees to the General Terms. Subscriber also agrees to all terms of the ACH Authorization, except that the NACHA rules will not apply and these differences will apply: (i) the account will be Subscriber’s credit card account instead of its bank account and if a charge is rejected, ScentAir will not resubmit the charge or seek a returned item fee except as allowed by applicable card brand rules; and (ii) Subscriber acknowledges ScentAir’s cancellation and refund policies regarding ScentAir products.\\n This Authorization supplements the ESS by providing the method and terms for payment by Subscriber of amounts due under the ESS.\\n\\n

Privacy. Subscriber agrees to the terms contained in ScentAir’s Privacy Policy https://www.scentair.com/legal/privacy as they may be updated from time to time and agrees that it will refer to https://www.scentair.com/legal/privacy.html for all information related to ScentAir’s Privacy Policy and any additional rights Subscriber may have related to these Terms and Conditions and this Authorization, as well as any rights related to Subscriber’s data in general.\\n\\n\\n
\\n
\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { fadeInOut } from '../../services/animations';\n\n\n@Component({\n selector: 'terms',\n templateUrl: './terms.component.html',\n styleUrls: ['./terms.component.css'],\n animations: [fadeInOut]\n})\nexport class TermsComponent implements OnInit {\n\n \n\n constructor() {\n \n }\n\n ngOnInit() {\n }\n\n}\n","import { Directive, ElementRef, OnInit } from '@angular/core';\n\n\n@Directive({\n selector: '[autofocus]'\n})\nexport class AutofocusDirective implements OnInit {\n constructor(public elementRef: ElementRef) { }\n\n ngOnInit() {\n setTimeout(() => this.elementRef.nativeElement['focus'](), 500);\n }\n}\n","import { Directive, ElementRef, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\n\n\ndeclare var $: any;\n\n@Directive({\n selector: '[bootstrapDatepicker]',\n exportAs: 'bootstrap-datepicker'\n})\nexport class BootstrapDatepickerDirective implements OnInit, OnDestroy {\n\n private _isShown = false;\n private updateTimeout;\n private changedSubscription: Subscription;\n private shownSubscription: Subscription;\n private hiddenSubscription: Subscription;\n\n get isShown() {\n return this._isShown;\n }\n\n @Input()\n options = {};\n\n @Input()\n set ngModel(value) {\n this.tryUpdate(value);\n }\n\n\n @Output()\n ngModelChange = new EventEmitter();\n\n\n constructor(private el: ElementRef) {\n this.changedSubscription = fromEvent($(this.el.nativeElement), 'change').subscribe((e: any) => setTimeout(() => this.ngModelChange.emit(e.target.value)));\n this.shownSubscription = fromEvent($(this.el.nativeElement), 'show').subscribe((e: any) => this._isShown = true);\n this.hiddenSubscription = fromEvent($(this.el.nativeElement), 'hide').subscribe((e: any) => this._isShown = false);\n }\n\n\n\n ngOnInit() {\n this.initialize(this.options);\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n\n\n\n initialize(options?: any) {\n $(this.el.nativeElement).datepicker(options);\n }\n\n destroy() {\n if (this.changedSubscription) {\n this.changedSubscription.unsubscribe();\n this.shownSubscription.unsubscribe();\n this.hiddenSubscription.unsubscribe();\n }\n\n $(this.el.nativeElement).datepicker('destroy');\n }\n\n\n\n show() {\n $(this.el.nativeElement).datepicker('show');\n }\n\n\n hide() {\n $(this.el.nativeElement).datepicker('hide');\n }\n\n\n toggle() {\n this.isShown ? this.hide() : this.show();\n }\n\n\n private tryUpdate(value) {\n\n clearTimeout(this.updateTimeout);\n\n if (!$(this.el.nativeElement).is(\":focus\")) {\n this.update(value);\n } else {\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.tryUpdate(value);\n }, 100);\n }\n }\n\n update(value) {\n setTimeout(() => $(this.el.nativeElement).datepicker('update', value));\n }\n\n\n setDate(value) {\n setTimeout(() => $(this.el.nativeElement).datepicker('setDate', value));\n }\n\n\n setUTCDate(value) {\n setTimeout(() => $(this.el.nativeElement).datepicker('setUTCDate', value));\n }\n\n\n clearDates() {\n setTimeout(() => $(this.el.nativeElement).datepicker('clearDates'));\n }\n\n\n getDate() {\n $(this.el.nativeElement).datepicker('getDate');\n }\n\n\n getUTCDate() {\n $(this.el.nativeElement).datepicker('getUTCDate');\n }\n}\n","import { Directive, Attribute, ElementRef, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\n\n\ndeclare var $: any;\n\n@Directive({\n selector: '[bootstrapSelect]',\n exportAs: 'bootstrap-select'\n})\nexport class BootstrapSelectDirective implements OnInit, OnDestroy {\n\n private oldValues: string | string[] = \"\";\n\n private changedSubscription: Subscription;\n private shownSubscription: Subscription;\n private hiddenSubscription: Subscription;\n\n @Input()\n required: string;\n\n @Input()\n set ngModel(values: string | string[]) {\n setTimeout(() => this.selected = values);\n }\n\n\n @Output()\n ngModelChange = new EventEmitter();\n\n @Output()\n shown = new EventEmitter();\n\n @Output()\n hidden = new EventEmitter();\n\n\n constructor(private el: ElementRef) {\n this.changedSubscription = fromEvent($(this.el.nativeElement), 'changed.bs.select').subscribe((e: any) => setTimeout(() => {\n if (this.checkIsValuesChanged(this.selected))\n this.ngModelChange.emit(this.selected);\n }));\n this.shownSubscription = fromEvent($(this.el.nativeElement), 'shown.bs.select').subscribe((e: any) => setTimeout(() => this.shown.emit()));\n this.hiddenSubscription = fromEvent($(this.el.nativeElement), 'hidden.bs.select').subscribe((e: any) => setTimeout(() => this.hidden.emit()));\n }\n\n\n ngOnInit() {\n $(this.el.nativeElement).selectpicker();\n\n if (this.requiredAttribute)\n $(this.el.nativeElement).selectpicker('setStyle', 'required', 'add');\n\n setTimeout(() => {\n this.refresh();\n this.doValidation();\n });\n\n }\n\n ngOnDestroy() {\n if (this.changedSubscription)\n this.changedSubscription.unsubscribe();\n\n if (this.shownSubscription)\n this.shownSubscription.unsubscribe();\n\n if (this.hiddenSubscription)\n this.hiddenSubscription.unsubscribe();\n\n $(this.el.nativeElement).selectpicker('destroy');\n }\n\n private checkIsValuesChanged(newValue: string | string[]) {\n return !(newValue == this.oldValues ||\n (newValue instanceof Array && newValue.length === this.oldValues.length && newValue.every((v, i) => v === this.oldValues[i])));\n }\n\n private doValidation() {\n if (this.requiredAttribute) {\n $(this.el.nativeElement).selectpicker('setStyle', !this.valid ? 'ng-valid' : 'ng-invalid', 'remove');\n $(this.el.nativeElement).selectpicker('setStyle', this.valid ? 'ng-valid' : 'ng-invalid', 'add');\n }\n }\n\n private get requiredAttribute() {\n return this.required === \"\" || this.required == \"true\";\n }\n\n\n refresh() {\n setTimeout(() => {\n $(this.el.nativeElement).selectpicker('refresh');\n });\n }\n\n render() {\n setTimeout(() => {\n $(this.el.nativeElement).selectpicker('render');\n });\n }\n\n\n get valid(): boolean {\n return this.requiredAttribute ? this.selected && this.selected.length > 0 : true;\n }\n\n\n set selected(values: string | string[]) {\n\n if (!this.checkIsValuesChanged(values))\n return;\n\n this.oldValues = this.selected;\n $(this.el.nativeElement).selectpicker('val', values);\n this.doValidation();\n }\n\n\n get selected(): string | string[] {\n return $(this.el.nativeElement).selectpicker('val');\n }\n}\n","import { Directive, ElementRef, Output, EventEmitter, OnDestroy, NgZone } from '@angular/core';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\n\n\ndeclare var $: any;\n\ntype eventArg = { type: string, target: Element, relatedTarget: Element };\n\n@Directive({\n selector: '[bootstrapTab]',\n exportAs: 'bootstrap-tab'\n})\nexport class BootstrapTabDirective implements OnDestroy {\n\n\n @Output()\n showBSTab = new EventEmitter();\n\n @Output()\n hideBSTab = new EventEmitter();\n\n private tabShownSubscription: Subscription;\n private tabHiddenSubscription: Subscription;\n\n\n constructor(private el: ElementRef, private zone: NgZone) {\n\n this.tabShownSubscription = fromEvent($(this.el.nativeElement), 'show.bs.tab')\n .subscribe((e: any) => {\n this.runInZone(() => this.showBSTab.emit({ type: e.type, target: e.target, relatedTarget: e.relatedTarget }));\n });\n\n this.tabHiddenSubscription = fromEvent($(this.el.nativeElement), 'hidden.bs.tab')\n .subscribe((e: any) => {\n this.runInZone(() => this.hideBSTab.emit({ type: e.type, target: e.target, relatedTarget: e.relatedTarget }));\n });\n }\n\n\n ngOnDestroy() {\n this.tabShownSubscription.unsubscribe();\n this.tabHiddenSubscription.unsubscribe();\n }\n\n\n private runInZone(delegate: () => any) {\n this.zone.run(() => {\n delegate();\n });\n }\n\n\n show(selector: string) {\n $(selector).tab('show');\n }\n}\n","import { Directive, ElementRef, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { Observable, Subscription, fromEvent } from 'rxjs';\n\n\ndeclare var $: any;\n\n@Directive({\n selector: '[bootstrapToggle]',\n exportAs: 'bootstrap-toggle'\n})\nexport class BootstrapToggleDirective implements OnInit, OnDestroy {\n\n private checkedSubscription: Subscription;\n\n @Input()\n set ngModel(value) {\n this.toggle(value);\n }\n\n @Output()\n ngModelChange = new EventEmitter();\n\n\n constructor(private el: ElementRef) {\n this.checkedSubscription = fromEvent($(this.el.nativeElement), 'change')\n .subscribe((e: any) => this.ngModelChange.emit(e.target.checked));\n }\n\n\n ngOnInit() {\n this.initialize();\n }\n\n ngOnDestroy() {\n this.destroy();\n }\n\n\n initialize(options?: any) {\n $(this.el.nativeElement).bootstrapToggle(options);\n }\n\n destroy() {\n if (this.checkedSubscription)\n this.checkedSubscription.unsubscribe();\n\n $(this.el.nativeElement).bootstrapToggle('destroy');\n }\n\n toggleOn() {\n $(this.el.nativeElement).bootstrapToggle('on');\n }\n\n toggleOff() {\n $(this.el.nativeElement).bootstrapToggle('off');\n }\n\n toggle(value?: boolean) {\n if (value == null)\n $(this.el.nativeElement).bootstrapToggle('toggle');\n else\n $(this.el.nativeElement).prop('checked', value).change();\n }\n\n enable() {\n $(this.el.nativeElement).bootstrapToggle('enable');\n }\n\n disable() {\n $(this.el.nativeElement).bootstrapToggle('disable');\n }\n}\n","import { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n\n\n@Directive({\n selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',\n providers: [\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true }\n ]\n})\nexport class EqualValidator implements Validator {\n constructor( @Attribute('validateEqual') public validateEqual: string,\n @Attribute('reverse') public reverse: string) {\n }\n\n validate(c: AbstractControl): { [key: string]: any } {\n let other = c.root.get(this.validateEqual);\n\n if (!other)\n return null;\n\n return this.reverse === 'true' ? this.validateReverse(c, other) : this.validateNoReverse(c, other);\n }\n\n private validateNoReverse(c: AbstractControl, other: AbstractControl): { [key: string]: any } {\n return other.value === c.value ? null : { validateEqual: true }\n }\n\n private validateReverse(c: AbstractControl, other: AbstractControl): { [key: string]: any } {\n if (c.value === other.value) {\n if (other.errors) {\n delete other.errors['validateEqual'];\n\n if (Object.keys(other.errors).length == 0) {\n other.setErrors(null);\n };\n }\n } else {\n other.setErrors({ validateEqual: true });\n }\n\n return null;\n }\n}\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\n\n\n@Directive({\n selector: '[lastElement]'\n})\nexport class LastElementDirective {\n @Input()\n set lastElement(isLastElement: boolean) {\n\n if (isLastElement) {\n setTimeout(() => {\n this.lastFunction.emit();\n });\n }\n }\n\n @Output()\n lastFunction = new EventEmitter();\n}\n","import { Directive, Attribute, Host } from '@angular/core';\nimport { Validator, AbstractControl, ValidationErrors, ValidatorFn, FormGroup, NG_VALIDATORS } from '@angular/forms';\nimport { ctp } from '../models/ctp.interface';\nimport { Component } from '@angular/compiler/src/core';\n\n//export const mserrorValidator: ValidatorFn = (control: FormGroup): ValidationErrors | null => {\n\n \n// const name = control.get('name');\n// const alterEgo = control.get('alterEgo');\n\n// return name && alterEgo && name.value === alterEgo.value ? { 'identityRevealed': true } : null;\n//};\n\n\n@Directive({\n selector: '[includeModelState]',\n providers: [{\n provide: NG_VALIDATORS, useExisting: ModelStateDirective, multi: true\n }]\n})\nexport class ModelStateDirective implements Validator {\n //constructor(@Attribute('includeModelState') public includeModelState: string) { }\n constructor() { }\n\n validate(control: AbstractControl): ValidationErrors {\n var ctp = null as ctp;\n\n\n\n return null;\n\n //var modelState = ctp.getErrors();\n\n //var id = control['id'] || control['name'];\n\n //var mine = modelState[id];\n\n //return mine.errors.map(x => x.errorMessage);\n }\n\n}\n","import { Directive, forwardRef, Attribute } from '@angular/core';\nimport { Validator, AbstractControl, NG_VALIDATORS } from '@angular/forms';\n\n\n@Directive({\n selector: '[validateNotEqual][formControlName],[validateNotEqual][formControl],[validateNotEqual][ngModel]',\n providers: [\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => NotEqualValidator), multi: true }\n ]\n})\nexport class NotEqualValidator implements Validator {\n constructor(@Attribute('validateNotEqual') public validateNotEqual: string,\n @Attribute('reverse') public reverse: string) {\n }\n\n validate(c: AbstractControl): { [key: string]: any } {\n let other = c.root.get(this.validateNotEqual);\n\n if (!other)\n return null;\n\n return this.reverse === 'true' ? this.validateReverse(c, other) : this.validateNoReverse(c, other);\n }\n\n private validateNoReverse(c: AbstractControl, other: AbstractControl): { [key: string]: any } {\n return other.value !== c.value ? null : { validateNotEqual: true }\n }\n\n private validateReverse(c: AbstractControl, other: AbstractControl): { [key: string]: any } {\n if (c.value !== other.value) {\n if (other.errors) {\n delete other.errors['validateNotEqual'];\n\n if (Object.keys(other.errors).length == 0) {\n other.setErrors(null);\n };\n }\n } else {\n other.setErrors({ validateNotEqual: true });\n }\n\n return null;\n }\n}\n","\nimport { Address } from './address.model';\n\nexport class Account {\n\n number: string;\n pin: string;\n name: string;\n email: string;\n phoneNumber: string;\n currency: string;\n //displayName: string;\n //id: string;\n //rpDisplayName: string;\n\n address: Address = new Address();\n \n}\n","\nexport class Address {\n constructor(line1?: string, line2?: string, line3?: string,\n municipality?: string, stateOrProvince?: string, postalCode?: string, country?: string) {\n\n this.line1 = line1 || '';\n this.line2 = line2 || '';\n this.line3 = line3 || '';\n this.municipality = municipality || '';\n this.stateOrProvince = stateOrProvince || '';\n this.postalCode = postalCode || '';\n this.country = country || '';\n }\n\n public line1: string;\n public line2: string;\n public line3: string;\n public municipality: string;\n public stateOrProvince: string;\n public postalCode: string;\n public country: string;\n\n}\n","import { Utilities } from \"../services/utilities\";\n\n\nexport class Notification {\n\n public static Create(data: {}) {\n let n = new Notification();\n Object.assign(n, data);\n\n if (n.date)\n n.date = Utilities.parseDate(n.date);\n\n return n;\n }\n\n\n public id: number;\n public header: string;\n public body: string;\n public isRead: boolean;\n public isPinned: boolean;\n public date: Date;\n}\n","import { Address } from \"./address.model\";\n\nexport class PaymentProfile {\n\n \n constructor(id?: string, paymentType?: string, paymentBillToName?: string,\n name?: string, address?: Address, \n cardCardType?: string, cardNumber?: string, cardExpirationMonth?: string, cardExpirationYear?: string, cardCCV?: string, achAccountType?: string, achAccountNumber?: string, achRoutingNumber?: string,\n currentAutoPayMethod?: boolean, bank?: string, currency?: string) {\n\n this.id = id;\n\n this.paymentType = paymentType || '';\n this.paymentBillToName = paymentBillToName || '';\n this.bank = bank || '';\n this.currency = currency || '';\n\n this.name = name || '';\n this.address = address || new Address();\n \n this.cardType = cardCardType || '';\n this.cardNumber = cardNumber || '';\n this.cardExpirationMonth = cardExpirationMonth || '';\n this.cardExpirationYear = cardExpirationYear || '';\n this.cardCCV = cardCCV || '';\n\n this.achAccountType = achAccountType || '';\n this.achAccountNumber = achAccountNumber || '';\n this.achRoutingNumber = achRoutingNumber || '';\n\n this.currentAutoPayMethod = currentAutoPayMethod || false;\n\n this.captcha = false;\n }\n\n\n\n public id: string;\n public paymentType: string;\n public paymentBillToName: string;\n public bank: string;\n public currency: string;\n\n public name: string;\n public address: Address;\n \n // credit card\n public cardType: string;\n public cardNumber: string;\n public cardExpirationMonth: string;\n public cardExpirationYear: string;\n public cardCCV: string;\n\n // ACH\n public achAccountType: string;\n public achAccountNumber: string;\n public achRoutingNumber: string;\n\n public isDefault: boolean;\n public currentAutoPayMethod: boolean;\n\n public captcha: boolean;\n}\n","export type PermissionNames =\n \"View Users\" | \"Manage Users\" |\n \"View Roles\" | \"Manage Roles\" | \"Assign Roles\";\n\nexport type PermissionValues =\n \"users.view\" | \"users.manage\" |\n \"roles.view\" | \"roles.manage\" | \"roles.assign\";\n\nexport class Permission {\n\n public static readonly viewUsersPermission: PermissionValues = \"users.view\";\n public static readonly manageUsersPermission: PermissionValues = \"users.manage\";\n\n public static readonly viewRolesPermission: PermissionValues = \"roles.view\";\n public static readonly manageRolesPermission: PermissionValues = \"roles.manage\";\n public static readonly assignRolesPermission: PermissionValues = \"roles.assign\";\n\n\n constructor(name?: PermissionNames, value?: PermissionValues, groupName?: string, description?: string) {\n this.name = name;\n this.value = value;\n this.groupName = groupName;\n this.description = description;\n }\n\n public name: PermissionNames;\n public value: PermissionValues;\n public groupName: string;\n public description: string;\n}\n","import { UserNew } from './user-new.model';\nimport { Account } from './account.model';\n\nexport class register {\n\n constructor(user?: UserNew, account?: Account) {\n this.user = user || new UserNew();\n this.account = account || new Account();\n }\n\n user: UserNew;\n account: Account;\n captcha: true;\n}\n\n","import { Permission } from './permission.model';\n\n\nexport class Role {\n\n constructor(name?: string, description?: string, permissions?: Permission[]) {\n\n this.name = name;\n this.description = description;\n this.permissions = permissions;\n }\n\n public id: string;\n public name: string;\n public description: string;\n public usersCount: string;\n public permissions: Permission[];\n}\n","export class SFAccountSettings {\n public id: number;\n public accountNumber: string;\n public billingLine1: string;\n public billingLine2: string;\n public billingLine3: string;\n public billingMunicipality: string;\n public billingStateOrProvince: string;\n public billingPostalCode: string;\n public billingCountry: string;\n public shippingLine1: string;\n public shippingLine2: string;\n public shippingLine3: string;\n public shippingMunicipality: string;\n public shippingStateOrProvince: string;\n public shippingPostalCode: string;\n public shippingCountry: string;\n}\n","export class SFContact {\n public id: number;\n public accountNumber: string;\n public firstName: string;\n public lastName: string;\n public email: string;\n public phone: string;\n public mainContact: boolean;\n public billingContact: boolean;\n public shippingContact: boolean;\n public serviceContact: boolean;\n public propertyContact: boolean;\n public installationContact: boolean;\n public marketingContact: boolean;\n public doNotCall: boolean;\n public doNotEmail: boolean;\n public active: boolean;\n\n // Computed values\n public name: string;\n public roles: string[];\n\n}\n","export class SFCountry {\n public name: string;\n public code: string;\n\n constructor(name: string, code: string) {\n this.name = name;\n this.code = code;\n }\n}\n","import { User } from './user.model';\n\n\nexport class UserEdit extends User {\n constructor(currentPassword?: string, newPassword?: string, confirmPassword?: string) {\n super();\n\n this.currentPassword = currentPassword;\n this.newPassword = newPassword;\n this.confirmPassword = confirmPassword\n }\n\n public currentPassword: string;\n public newPassword: string;\n public confirmPassword: string; \n}\n","export class UserForgotPassword {\n\n public userName: string;\n\n}\n","export class UserForgotUserName {\n\n public accountNumber: string;\n public emailAddress: string;\n\n}\n","export class UserLogin {\n constructor(userName?: string, password?: string, rememberMe?: boolean) {\n this.userName = userName;\n this.password = password;\n this.rememberMe = rememberMe;\n }\n\n userName: string;\n password: string;\n rememberMe: boolean;\n}\n","import { User } from './user.model';\n\n\nexport class UserNew extends User {\n\n constructor(newPassword?: string, confirmPassword?: string) {\n super();\n\n this.newPassword = newPassword || '';\n this.confirmPassword = confirmPassword || '';\n\n }\n\n public newPassword: string;\n public confirmPassword: string;\n}\n","export class User {\n // Note: Using only optional constructor properties without backing store disables typescript's type checking for the type\n constructor(id?: string, userName?: string, firstName?: string, lastName?: string, email?: string, phoneNumber?: string, roles?: string[], termsAccepted?: boolean,\n question01?: number, answer01?: string, question02?: number, answer02?: string ) {\n\n this.id = id;\n this.userName = userName;\n this.firstName = firstName;\n this.lastName = lastName;\n this.email = email;\n this.phoneNumber = phoneNumber;\n this.roles = roles;\n this.termsAccepted = termsAccepted;\n\n this.question01 = question01;\n this.answer01 = answer01;\n \n this.question02 = question02;\n this.answer02 = answer02;\n }\n\n public id: string = '';\n public userName: string = '';\n public firstName: string = '';\n public lastName: string = '';\n public email: string = '';\n public phoneNumber: string = '';\n public accountNumber: string = '';\n public isEnabled: boolean;\n public isLockedOut: boolean;\n public roles: string[];\n public termsAccepted: boolean;\n public question01: number = 0;\n public answer01: string = '';\n public question02: number = 0;\n public answer02: string = '';\n\n\n get friendlyName(): string {\n let name = this.lastName || this.userName;\n return name;\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\n\n@Pipe({ name: 'groupBy' })\nexport class GroupByPipe implements PipeTransform {\n\n transform(value: Array, field: string): Array {\n\n if (!value)\n return value;\n\n const groupedObj = value.reduce((prev, cur) => {\n if (!prev[cur[field]]) {\n prev[cur[field]] = [cur];\n }\n else {\n prev[cur[field]].push(cur);\n }\n\n return prev;\n }, {});\n\n return Object.keys(groupedObj).map(key => ({ key, value: groupedObj[key] }));\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { EndpointFactory } from './endpoint-factory.service';\nimport { ConfigurationService } from './configuration.service';\nimport { register } from '../models/register.model';\nimport { Account } from '../models/account.model';\nimport { UserForgotUserName } from '../models/user-forgot-username.model'\nimport { access } from 'fs';\n\n\n@Injectable()\nexport class AccountEndpoint extends EndpointFactory {\n\n private readonly _userAccountLookupUrl: string = \"/api/customer/getuseraccount\";\n\n private readonly _questionsUrl: string = \"/api/account/questions\";\n private readonly _registerUrl: string = \"/api/account/register\";\n\n private readonly _forgotUserNameUrl: string = \"/api/account/forgot/username\";\n private readonly _forgotPasswordUrl: string = \"/api/account/forgot/password\";\n private readonly _updatePasswordUrl: string = \"/api/account/reset/updatepassword\";\n private readonly _resetPasswordUrl: string = \"/api/account/reset/password\";\n private readonly _usersUrl: string = \"/api/account/users\";\n private readonly _userByUserNameUrl: string = \"/api/account/users/username\";\n private readonly _unblockUserUrl: string = \"/api/account/users/unblock\";\n\n private readonly _rolesUrl: string = \"/api/account/roles\";\n private readonly _roleByRoleNameUrl: string = \"/api/account/roles/name\";\n private readonly _permissionsUrl: string = \"/api/account/permissions\";\n\n\n private readonly _currentUserUrl: string = \"/api/account/users/me\";\n private readonly _currentUserPreferencesUrl: string = \"/api/account/users/me/preferences\";\n\n\n get accountLookupUrl() { return this.configurations.baseUrl + this._userAccountLookupUrl; }\n\n get questionsUrl() { return this.configurations.baseUrl + this._questionsUrl; }\n get registerUrl() { return this.configurations.baseUrl + this._registerUrl; }\n\n get forgotUserNameUrl() { return this.configurations.baseUrl + this._forgotUserNameUrl; }\n get forgotPasswordUrl() { return this.configurations.baseUrl + this._forgotPasswordUrl; }\n get updatePasswordUrl() { return this.configurations.baseUrl + this._updatePasswordUrl; }\n get resetPasswordUrl() { return this.configurations.baseUrl + this._resetPasswordUrl; }\n get usersUrl() { return this.configurations.baseUrl + this._usersUrl; }\n get userByUserNameUrl() { return this.configurations.baseUrl + this._userByUserNameUrl; }\n get unblockUserUrl() { return this.configurations.baseUrl + this._unblockUserUrl; }\n get rolesUrl() { return this.configurations.baseUrl + this._rolesUrl; }\n get roleByRoleNameUrl() { return this.configurations.baseUrl + this._roleByRoleNameUrl; }\n get permissionsUrl() { return this.configurations.baseUrl + this._permissionsUrl; }\n\n get currentUserUrl() { return this.configurations.baseUrl + this._currentUserUrl; }\n get currentUserPreferencesUrl() { return this.configurations.baseUrl + this._currentUserPreferencesUrl; }\n\n\n constructor(http: HttpClient, configurations: ConfigurationService, injector: Injector) {\n super(http, configurations, injector);\n }\n\n \n getAccount(): Observable {\n return this.http\n .post(this.accountLookupUrl, null, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getRegisterConfirmEndpoint(userId: string, code: string): Observable {\n let endpointUrl = `${this.registerUrl}/confirm`;\n\n var parms = new HttpParams()\n .append(\"userId\", userId)\n .append(\"code\", code);\n\n return this.http\n .post(endpointUrl, parms, this.getRequestHeadersText())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUpdatePasswordEndPoint(username: string, currentPassword: string, password: string) {\n\n var parms = new HttpParams()\n .append(\"username\", username)\n .append(\"currentPassword\", currentPassword)\n .append(\"password\", password);\n \n return this.http\n .post(this.updatePasswordUrl, parms, this.getRequestHeadersText())\n .pipe(catchError(error => this.handleError(error)));\n\n }\n\n getForgotPasswordConfirmEndPoint(code: string, userName: string, password: string) {\n\n var parms = new HttpParams()\n .append(\"code\", code)\n .append(\"username\", userName)\n .append(\"password\", password);\n\n return this.http\n .post(this.resetPasswordUrl, parms, this.getRequestHeadersText())\n .pipe(catchError(error => this.handleError(error)));\n\n }\n getRegisterEndpoint(data: register): Observable {\n return this.http\n .post(this.registerUrl, data, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getForgotPasswordEndpoint(username: string): Observable {\n return this.http\n .post(this.forgotPasswordUrl, JSON.stringify(username), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getForgotUserNameEndpoint(data: UserForgotUserName): Observable {\n return this.http\n .post(this.forgotUserNameUrl, data, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getQuestionsEndpoint(language: string): Observable {\n let endPointUrl = `${this.questionsUrl}/${language}`;\n\n return this.http\n .get(endPointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUserEndpoint(userId?: string): Observable {\n let endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getUserByUserNameEndpoint(userName: string): Observable {\n let endpointUrl = `${this.userByUserNameUrl}/${userName}`;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getUsersEndpoint(page?: number, pageSize?: number): Observable {\n let endpointUrl = page && pageSize ? `${this.usersUrl}/${page}/${pageSize}` : this.usersUrl;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getNewUserEndpoint(userObject: any): Observable {\n\n return this.http\n .post(this.usersUrl, JSON.stringify(userObject), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUpdateUserEndpoint(userObject: any, userId?: string): Observable {\n let endpointUrl = userId ? `${this.usersUrl}/${userId}` : this.currentUserUrl;\n\n return this.http\n .put(endpointUrl, JSON.stringify(userObject), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getUserPreferencesEndpoint(): Observable {\n return this.http\n .get(this.currentUserPreferencesUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUpdateUserPreferencesEndpoint(configuration: string): Observable {\n return this.http\n .put(this.currentUserPreferencesUrl, JSON.stringify(configuration), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUnblockUserEndpoint(userId: string): Observable {\n let endpointUrl = `${this.unblockUserUrl}/${userId}`;\n\n return this.http\n .put(endpointUrl, null, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getDeleteUserEndpoint(userId: string): Observable {\n let endpointUrl = `${this.usersUrl}/${userId}`;\n\n return this.http\n .delete(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getRoleEndpoint(roleId: string): Observable {\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getRoleByRoleNameEndpoint(roleName: string): Observable {\n let endpointUrl = `${this.roleByRoleNameUrl}/${roleName}`;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n\n getRolesEndpoint(page?: number, pageSize?: number): Observable {\n let endpointUrl = page && pageSize ? `${this.rolesUrl}/${page}/${pageSize}` : this.rolesUrl;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getNewRoleEndpoint(roleObject: any): Observable {\n\n return this.http\n .post(this.rolesUrl, JSON.stringify(roleObject), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getUpdateRoleEndpoint(roleObject: any, roleId: string): Observable {\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\n\n return this.http\n .put(endpointUrl, JSON.stringify(roleObject), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getDeleteRoleEndpoint(roleId: string): Observable {\n let endpointUrl = `${this.rolesUrl}/${roleId}`;\n\n return this.http\n .delete(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n getPermissionsEndpoint(): Observable {\n\n return this.http\n .get(this.permissionsUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject, forkJoin, BehaviorSubject, Notification, combineLatest, concat, from, fromEvent, pipe } from 'rxjs';\nimport { map, mergeMap, tap, subscribeOn } from 'rxjs/operators';\n\n\n\nimport { AccountEndpoint } from './account-endpoint.service';\nimport { AuthService } from './auth.service';\nimport { User } from '../models/user.model';\nimport { Role } from '../models/role.model';\nimport { Account } from '../models/account.model';\nimport { Permission, PermissionNames, PermissionValues } from '../models/permission.model';\nimport { UserEdit } from '../models/user-edit.model';\nimport { register } from '../models/register.model';\nimport { UserForgotUserName } from '../models/user-forgot-username.model'\nimport { SecurityQuestion } from '../models/security-questions.model';\nimport { validateConfig } from '@angular/router/src/config';\n\n\n\nexport type RolesChangedOperation = 'add' | 'delete' | 'modify';\nexport interface RolesChangedEventArg { roles: Role[] | string[]; operation: RolesChangedOperation; }\n\n\n\n@Injectable()\nexport class AccountService {\n\n public static readonly roleAddedOperation: RolesChangedOperation = 'add';\n public static readonly roleDeletedOperation: RolesChangedOperation = 'delete';\n public static readonly roleModifiedOperation: RolesChangedOperation = 'modify';\n\n private _rolesChanged = new Subject();\n\n\n constructor(private router: Router, private http: HttpClient, private authService: AuthService,\n private accountEndpoint: AccountEndpoint) {\n }\n\n\n\n register(request: register) {\n return this\n .accountEndpoint\n .getRegisterEndpoint(request)\n .pipe(map(response => this.processRegisterResponse(response)));\n }\n private processRegisterResponse(response: register) {\n\n const account = response.account;\n\n if (account == null) {\n throw new Error('Account was empty');\n }\n return response;\n }\n\n forgotUserName(data: UserForgotUserName) {\n return this.accountEndpoint.getForgotUserNameEndpoint(data);\n }\n forgotPassword(username: string) {\n return this.accountEndpoint.getForgotPasswordEndpoint(username);\n }\n confirmEmail(userId: string, code: string) {\n return this.accountEndpoint.getRegisterConfirmEndpoint(userId, code);\n }\n confirmForgotPassword(code: string, userName: string, password: string) {\n return this.accountEndpoint.getForgotPasswordConfirmEndPoint(code, userName, password);\n }\n confirmUpdatePassword(userName: string, currentPassword: string, password: string) {\n return this.accountEndpoint.getUpdatePasswordEndPoint(userName, currentPassword, password);\n }\n getQuestions(language: string) {\n return this.accountEndpoint.getQuestionsEndpoint(language);\n }\n getUser(userId?: string) {\n return this.accountEndpoint.getUserEndpoint(userId);\n }\n\n getAccount() {\n return this.accountEndpoint.getAccount(); \n }\n\n getUserAndRoles(userId?: string) {\n\n return forkJoin(\n this.accountEndpoint.getUserEndpoint(userId),\n this.accountEndpoint.getRolesEndpoint());\n }\n\n getUsers(page?: number, pageSize?: number) {\n\n return this.accountEndpoint.getUsersEndpoint(page, pageSize);\n }\n\n getUsersAndRoles(page?: number, pageSize?: number) {\n\n return forkJoin(\n this.accountEndpoint.getUsersEndpoint(page, pageSize),\n this.accountEndpoint.getRolesEndpoint());\n }\n\n\n updateUser(user: UserEdit, isSelf?: boolean) {\n if (isSelf)\n return this.accountEndpoint.getUpdateUserEndpoint(user);\n\n if (user.id) { \n //return this.accountEndpoint.getUpdateUserEndpoint(user, user.id);\n return this.accountEndpoint.getUpdateUserEndpoint(user);\n }\n else {\n alert(\"here1\");\n return this.accountEndpoint.getUserByUserNameEndpoint(user.userName).pipe(\n mergeMap(foundUser => {\n user.id = foundUser.id;\n return this.accountEndpoint.getUpdateUserEndpoint(user, user.id);\n }));\n }\n }\n\n\n newUser(user: UserEdit) {\n return this.accountEndpoint.getNewUserEndpoint(user);\n }\n\n\n getUserPreferences() {\n return this.accountEndpoint.getUserPreferencesEndpoint();\n }\n\n updateUserPreferences(configuration: string) {\n return this.accountEndpoint.getUpdateUserPreferencesEndpoint(configuration);\n }\n\n\n deleteUser(userOrUserId: string | UserEdit): Observable {\n\n if (typeof userOrUserId === 'string' || userOrUserId instanceof String) {\n return this.accountEndpoint.getDeleteUserEndpoint(userOrUserId).pipe(\n tap(data => this.onRolesUserCountChanged(data.roles)));\n } else {\n\n if (userOrUserId.id) {\n return this.deleteUser(userOrUserId.id);\n } else {\n return this.accountEndpoint.getUserByUserNameEndpoint(userOrUserId.userName).pipe(\n mergeMap(user => this.deleteUser(user.id)));\n }\n }\n }\n\n\n unblockUser(userId: string) {\n return this.accountEndpoint.getUnblockUserEndpoint(userId);\n }\n\n\n userHasPermission(permissionValue: PermissionValues): boolean {\n return this.permissions.some(p => p == permissionValue);\n }\n\n\n refreshLoggedInUser() {\n return this.authService.refreshLogin();\n }\n\n\n\n\n getRoles(page?: number, pageSize?: number) {\n\n return this.accountEndpoint.getRolesEndpoint(page, pageSize);\n }\n\n\n getRolesAndPermissions(page?: number, pageSize?: number) {\n\n return forkJoin(\n this.accountEndpoint.getRolesEndpoint(page, pageSize),\n this.accountEndpoint.getPermissionsEndpoint());\n }\n\n\n updateRole(role: Role) {\n if (role.id) {\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id).pipe(\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\n } else {\n return this.accountEndpoint.getRoleByRoleNameEndpoint(role.name).pipe(\n mergeMap((foundRole, i) => {\n role.id = foundRole.id;\n return this.accountEndpoint.getUpdateRoleEndpoint(role, role.id);\n }),\n tap(data => this.onRolesChanged([role], AccountService.roleModifiedOperation)));\n }\n }\n\n\n newRole(role: Role) {\n return this.accountEndpoint.getNewRoleEndpoint(role).pipe(\n tap(data => this.onRolesChanged([role], AccountService.roleAddedOperation)));\n }\n\n\n deleteRole(roleOrRoleId: string | Role): Observable {\n\n if (typeof roleOrRoleId === 'string' || roleOrRoleId instanceof String) {\n return this.accountEndpoint.getDeleteRoleEndpoint(roleOrRoleId).pipe(\n tap(data => this.onRolesChanged([data], AccountService.roleDeletedOperation)));\n } else {\n\n if (roleOrRoleId.id) {\n return this.deleteRole(roleOrRoleId.id);\n } else {\n return this.accountEndpoint.getRoleByRoleNameEndpoint(roleOrRoleId.name).pipe(\n mergeMap(role => this.deleteRole(role.id)));\n }\n }\n }\n\n getPermissions() {\n\n return this.accountEndpoint.getPermissionsEndpoint();\n }\n\n\n private onRolesChanged(roles: Role[] | string[], op: RolesChangedOperation) {\n this._rolesChanged.next({ roles: roles, operation: op });\n }\n\n\n onRolesUserCountChanged(roles: Role[] | string[]) {\n return this.onRolesChanged(roles, AccountService.roleModifiedOperation);\n }\n\n\n getRolesChangedEvent(): Observable {\n return this._rolesChanged.asObservable();\n }\n\n\n\n get permissions(): PermissionValues[] {\n return this.authService.userPermissions;\n }\n\n get currentUser() {\n return this.authService.currentUser;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResponseBase } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\n\nimport { Utilities } from '../services/utilities';\n\n\n\n@Injectable()\nexport class AlertService {\n\n private messages = new Subject();\n private stickyMessages = new Subject();\n private dialogs = new Subject();\n\n private _isLoading = false;\n private loadingMessageId: any;\n\n\n\n showDialog(message: string)\n showDialog(message: string, type: DialogType, okCallback: (val?: any) => any)\n showDialog(message: string, type: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string)\n showDialog(message: string, type?: DialogType, okCallback?: (val?: any) => any, cancelCallback?: () => any, okLabel?: string, cancelLabel?: string, defaultValue?: string) {\n\n if (!type)\n type = DialogType.alert;\n\n this.dialogs.next({ message: message, type: type, okCallback: okCallback, cancelCallback: cancelCallback, okLabel: okLabel, cancelLabel: cancelLabel, defaultValue: defaultValue });\n }\n\n\n\n showMessage(summary: string)\n showMessage(summary: string, detail: string, severity: MessageSeverity)\n showMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity)\n showMessage(response: HttpResponseBase, ignoreValue_useNull: string, severity: MessageSeverity)\n showMessage(data: any, separatorOrDetail?: string, severity?: MessageSeverity) {\n\n if (!severity)\n severity = MessageSeverity.default;\n\n if (data instanceof HttpResponseBase) {\n data = Utilities.getHttpResponseMessage(data);\n separatorOrDetail = Utilities.captionAndMessageSeparator;\n }\n\n if (data instanceof Array) {\n for (let message of data) {\n let msgObject = Utilities.splitInTwo(message, separatorOrDetail);\n\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, false);\n }\n }\n else {\n this.showMessageHelper(data, separatorOrDetail, severity, false);\n }\n }\n\n\n showStickyMessage(summary: string)\n showStickyMessage(summary: string, detail: string, severity: MessageSeverity, error?: any)\n showStickyMessage(summaryAndDetails: string[], summaryAndDetailsSeparator: string, severity: MessageSeverity)\n showStickyMessage(response: HttpResponseBase, ignoreValue_useNull: string, severity: MessageSeverity)\n showStickyMessage(data: string | string[] | HttpResponseBase, separatorOrDetail?: string, severity?: MessageSeverity, error?: any) {\n\n if (!severity)\n severity = MessageSeverity.default;\n\n if (data instanceof HttpResponseBase) {\n data = Utilities.getHttpResponseMessage(data);\n separatorOrDetail = Utilities.captionAndMessageSeparator;\n }\n\n\n if (data instanceof Array) {\n for (let message of data) {\n let msgObject = Utilities.splitInTwo(message, separatorOrDetail);\n\n this.showMessageHelper(msgObject.firstPart, msgObject.secondPart, severity, true);\n }\n }\n else {\n\n if (error) {\n\n let msg = `Severity: \"${MessageSeverity[severity]}\", Summary: \"${data}\", Detail: \"${separatorOrDetail}\", Error: \"${Utilities.safeStringify(error)}\"`;\n\n switch (severity) {\n case MessageSeverity.default:\n this.logInfo(msg);\n break;\n case MessageSeverity.info:\n this.logInfo(msg);\n break;\n case MessageSeverity.success:\n this.logMessage(msg);\n break;\n case MessageSeverity.error:\n this.logError(msg);\n break;\n case MessageSeverity.warn:\n this.logWarning(msg);\n break;\n case MessageSeverity.wait:\n this.logTrace(msg);\n break;\n }\n }\n\n this.showMessageHelper(data, separatorOrDetail, severity, true);\n }\n }\n\n\n\n private showMessageHelper(summary: string, detail: string, severity: MessageSeverity, isSticky: boolean) {\n\n if (isSticky)\n this.stickyMessages.next({ severity: severity, summary: summary, detail: detail });\n else\n this.messages.next({ severity: severity, summary: summary, detail: detail });\n }\n\n\n\n startLoadingMessage(message = \"Loading...\", caption = \"\") {\n this._isLoading = true;\n clearTimeout(this.loadingMessageId);\n\n this.loadingMessageId = setTimeout(() => {\n this.showStickyMessage(caption, message, MessageSeverity.wait);\n }, 1000);\n }\n\n stopLoadingMessage() {\n this._isLoading = false;\n clearTimeout(this.loadingMessageId);\n this.resetStickyMessage();\n }\n\n\n\n logDebug(msg) {\n console.debug(msg);\n }\n\n logError(msg) {\n console.error(msg);\n }\n\n logInfo(msg) {\n console.info(msg);\n }\n\n logMessage(msg) {\n console.log(msg);\n }\n\n logTrace(msg) {\n console.trace(msg);\n }\n\n logWarning(msg) {\n console.warn(msg);\n }\n\n\n\n\n resetStickyMessage() {\n this.stickyMessages.next();\n }\n\n\n\n\n getDialogEvent(): Observable {\n return this.dialogs.asObservable();\n }\n\n\n getMessageEvent(): Observable {\n return this.messages.asObservable();\n }\n\n getStickyMessageEvent(): Observable {\n return this.stickyMessages.asObservable();\n }\n\n\n\n get isLoadingInProgress(): boolean {\n return this._isLoading;\n }\n}\n\n\n\n\n\n\n\n//******************** Dialog ********************//\nexport class AlertDialog {\n constructor(public message: string, public type: DialogType, public okCallback: (val?: any) => any, public cancelCallback: () => any,\n public defaultValue: string, public okLabel: string, public cancelLabel: string) {\n\n }\n}\n\nexport enum DialogType {\n alert,\n confirm,\n prompt\n}\n//******************** End ********************//\n\n\n\n\n\n\n//******************** Growls ********************//\nexport class AlertMessage {\n constructor(public severity: MessageSeverity, public summary: string, public detail: string) { }\n}\n\nexport enum MessageSeverity {\n default,\n info,\n success,\n error,\n warn,\n wait\n}\n//******************** End ********************//\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\n\n\nexport const fadeInOut = trigger('fadeInOut', [\n transition(':enter', [style({ opacity: 0 }), animate('0.4s ease-in', style({ opacity: 1 }))]),\n transition(':leave', [animate('0.4s 10ms ease-out', style({ opacity: 0 }))])\n])\n\n\n\nexport function flyInOut(duration: number = 0.2) {\n return trigger('flyInOut', [\n state('in', style({ opacity: 1, transform: 'translateX(0)' })),\n transition('void => *', [style({ opacity: 0, transform: 'translateX(-100%)' }), animate(`${duration}s ease-in`)]),\n transition('* => void', [animate(`${duration}s 10ms ease-out`, style({ opacity: 0, transform: 'translateX(100%)' }))])\n ])\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { filter, map, flatMap } from 'rxjs/operators';\nimport { Title } from '@angular/platform-browser';\n\nimport { Utilities } from './utilities';\n\n\n@Injectable()\nexport class AppTitleService {\n\n sub: Subscription;\n appName: string;\n\n constructor(private titleService: Title, private router: Router) {\n this.sub = this.router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(_ => this.router.routerState.root),\n map(route => {\n while (route.firstChild)\n route = route.firstChild;\n\n return route;\n }),\n flatMap(route => route.data))\n .subscribe(data => {\n let title = data['title'];\n\n if (title) {\n let fragment = this.router.url.split('#')[1]\n\n if (fragment)\n title += \" | \" + Utilities.toTitleCase(fragment);\n }\n\n if (title && this.appName)\n title += ' - ' + this.appName;\n else if (this.appName)\n title = this.appName;\n\n if (title)\n this.titleService.setTitle(title);\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService, TranslateLoader } from '@ngx-translate/core';\nimport { Observable, Subject, of } from 'rxjs';\n\n\n\n@Injectable()\nexport class AppTranslationService {\n\n readonly defaultLanguage = 'en';\n private onLanguageChanged = new Subject();\n languageChanged$ = this.onLanguageChanged.asObservable();\n\n constructor(private translate: TranslateService) {\n \n this.setDefaultLanguage(this.defaultLanguage);\n }\n\n\n addLanguages(lang: string[]) {\n this.translate.addLangs(lang);\n }\n\n\n setDefaultLanguage(lang: string) {\n this.translate.setDefaultLang(lang);\n }\n\n getDefaultLanguage() {\n return this.translate.defaultLang;\n }\n\n getBrowserLanguage() {\n return this.translate.getBrowserLang();\n }\n\n\n useBrowserLanguage(): string | void {\n const browserLang = this.getBrowserLanguage();\n\n // TODO: Correct Dutch language code to NL; remove DE and SP.\n if (browserLang.match(/en|fr|de|nl|ar|ko|pt|sp|es|zh/)) {\n this.changeLanguage(browserLang);\n return browserLang;\n }\n }\n\n changeLanguage(language: string = 'en') {\n \n if (!language) {\n language = this.translate.defaultLang;\n }\n\n if (language != this.translate.currentLang) {\n setTimeout(() => {\n this.translate.use(language);\n this.onLanguageChanged.next(language);\n });\n }\n\n return language;\n }\n\n\n getTranslation(key: string | Array, interpolateParams?: Object): string | any {\n return this.translate.instant(key, interpolateParams);\n }\n\n\n getTranslationAsync(key: string | Array, interpolateParams?: Object): Observable {\n return this.translate.get(key, interpolateParams);\n }\n\n}\n\n\n\n\nexport class TranslateLanguageLoader implements TranslateLoader {\n\n public getTranslation(lang: string): any {\n //Note Dynamic require(variable) will not work. Require is always at compile time\n\n switch (lang) {\n case 'en':\n return of(require('../assets/locale/en.json'));\n case 'fr':\n return of(require('../assets/locale/fr.json'));\n case 'es':\n return of(require('../assets/locale/sp.json'));\n case 'sp': // TODO: Remove incorrect/redundant language code SP.\n return of(require('../assets/locale/sp.json'));\n case 'de': // TODO: Correct the Dutch language code to NL, remove incorrect/redundant DE.\n return of(require('../assets/locale/de.json'));\n case 'nl': \n return of(require('../assets/locale/de.json'));\n case 'pt': // There's currently no option in app.component.html to select Portuguese.\n return of(require('../assets/locale/pt.json'));\n case 'ar': // There's currently no option in app.component.html to select Arabic.\n return of(require('../assets/locale/ar.json'));\n case 'ko': // There's currently no option in app.component.html to select Korean.\n return of(require('../assets/locale/ko.json'));\n case 'zh':\n return of(require('../assets/locale/zh.json'));\n default:\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, NavigationExtras, CanLoad, Route } from '@angular/router';\nimport { AuthService } from './auth.service';\n\n\n@Injectable()\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\n constructor(private authService: AuthService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n\n let url: string = state.url;\n return this.checkLogin(url);\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n return this.canActivate(route, state);\n }\n\n canLoad(route: Route): boolean {\n\n //let url = `/${route.path}`;\n let url = route.path;\n\n return this.checkLogin(url);\n }\n\n checkLogin(url: string): boolean {\n\n if (this.authService.isLoggedIn) {\n return true;\n }\n\n this.authService.loginRedirectUrl = url;\n this.router.navigate(['login'], { preserveQueryParams: true, queryParamsHandling: \"merge\", preserveFragment: true });\n\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport { Observable, Subject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { LocalStoreManager } from './local-store-manager.service';\nimport { EndpointFactory } from './endpoint-factory.service';\nimport { ConfigurationService } from './configuration.service';\nimport { DBkeys } from './db-Keys';\nimport { JwtHelper } from './jwt-helper';\nimport { Utilities } from './utilities';\nimport { LoginResponse, IdToken } from '../models/login-response.model';\nimport { User } from '../models/user.model';\nimport { Permission, PermissionNames, PermissionValues } from '../models/permission.model';\n\n@Injectable()\nexport class AuthService {\n\n public get loginUrl() { return this.configurations.loginUrl; }\n public get homeUrl() { return this.configurations.homeUrl; }\n\n public loginRedirectUrl: string;\n public logoutRedirectUrl: string;\n\n public reLoginDelegate: () => void;\n\n private previousIsLoggedInCheck = false;\n private _loginStatus = new Subject();\n\n\n constructor(private router: Router, private configurations: ConfigurationService, private endpointFactory: EndpointFactory, private localStorage: LocalStoreManager) {\n this.initializeLoginStatus();\n }\n\n\n private initializeLoginStatus() {\n this.localStorage.getInitEvent().subscribe(() => {\n this.reevaluateLoginStatus();\n });\n }\n\n\n gotoPage(page: string, preserveParams = true) {\n\n let navigationExtras: NavigationExtras = {\n queryParamsHandling: preserveParams ? \"merge\" : \"\", preserveFragment: preserveParams\n };\n\n\n this.router.navigate([page], navigationExtras);\n }\n\n\n redirectLoginUser() {\n let redirect = this.loginRedirectUrl && this.loginRedirectUrl != '/' && this.loginRedirectUrl != ConfigurationService.defaultHomeUrl ? this.loginRedirectUrl : this.homeUrl;\n this.loginRedirectUrl = null;\n\n\n let urlParamsAndFragment = Utilities.splitInTwo(redirect, '#');\n let urlAndParams = Utilities.splitInTwo(urlParamsAndFragment.firstPart, '?');\n\n let navigationExtras: NavigationExtras = {\n fragment: urlParamsAndFragment.secondPart,\n queryParams: Utilities.getQueryParamsFromString(urlAndParams.secondPart),\n queryParamsHandling: \"merge\"\n };\n\n this.router.navigate([urlAndParams.firstPart], navigationExtras);\n }\n\n\n redirectLogoutUser() {\n let redirect = this.logoutRedirectUrl ? this.logoutRedirectUrl : this.loginUrl;\n this.logoutRedirectUrl = null;\n\n this.router.navigate([redirect]);\n }\n\n\n redirectForLogin() {\n this.loginRedirectUrl = this.router.url;\n this.router.navigate([this.loginUrl]);\n }\n\n\n reLogin() {\n\n this.localStorage.deleteData(DBkeys.TOKEN_EXPIRES_IN);\n\n if (this.reLoginDelegate) {\n this.reLoginDelegate();\n }\n else {\n this.redirectForLogin();\n }\n }\n\n\n refreshLogin() {\n return this.endpointFactory.getRefreshLoginEndpoint().pipe(\n map(response => this.processLoginResponse(response, this.rememberMe)));\n }\n\n\n login(userName: string, password: string, rememberMe?: boolean) {\n\n if (this.isLoggedIn)\n this.logout();\n\n return this.endpointFactory.getLoginEndpoint(userName, password).pipe(\n map(response => this.processLoginResponse(response, rememberMe)));\n }\n\n\n private processLoginResponse(response: LoginResponse, rememberMe: boolean) {\n\n let accessToken = response.access_token;\n\n if (accessToken == null)\n throw new Error(\"Received accessToken was empty\");\n\n let idToken = response.id_token;\n let refreshToken = response.refresh_token || this.refreshToken;\n let expiresIn = response.expires_in;\n\n let tokenExpiryDate = new Date();\n tokenExpiryDate.setSeconds(tokenExpiryDate.getSeconds() + expiresIn);\n\n let accessTokenExpiry = tokenExpiryDate;\n\n let jwtHelper = new JwtHelper();\n let decodedIdToken = jwtHelper.decodeToken(response.id_token);\n\n // Permissions are assigned to Roles via the RoleClaims table. The Settings interface to manage role permissions is broken.\n let permissions: PermissionValues[] = Array.isArray(decodedIdToken.permission) ? decodedIdToken.permission : [decodedIdToken.permission];\n //if (!this.isLoggedIn)\n // this.configurations.import(decodedIdToken.configuration);\n\n let user = new User(\n decodedIdToken.sub,\n decodedIdToken.name,\n decodedIdToken.fullname,\n decodedIdToken.email,\n decodedIdToken.jobtitle,\n decodedIdToken.phone,\n Array.isArray(decodedIdToken.role) ? decodedIdToken.role : [decodedIdToken.role]);\n\n user.isEnabled = true;\n\n this.saveUserDetails(user, permissions, accessToken, idToken, refreshToken, accessTokenExpiry, rememberMe);\n\n this.reevaluateLoginStatus(user);\n\n return user;\n }\n\n\n private saveUserDetails(user: User, permissions: PermissionValues[], accessToken: string, idToken: string, refreshToken: string, expiresIn: Date, rememberMe: boolean) {\n\n if (rememberMe) {\n this.localStorage.savePermanentData(accessToken, DBkeys.ACCESS_TOKEN);\n this.localStorage.savePermanentData(idToken, DBkeys.ID_TOKEN);\n this.localStorage.savePermanentData(refreshToken, DBkeys.REFRESH_TOKEN);\n this.localStorage.savePermanentData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\n this.localStorage.savePermanentData(permissions, DBkeys.USER_PERMISSIONS);\n this.localStorage.savePermanentData(user, DBkeys.CURRENT_USER);\n }\n else {\n this.localStorage.saveSyncedSessionData(accessToken, DBkeys.ACCESS_TOKEN);\n this.localStorage.saveSyncedSessionData(idToken, DBkeys.ID_TOKEN);\n this.localStorage.saveSyncedSessionData(refreshToken, DBkeys.REFRESH_TOKEN);\n this.localStorage.saveSyncedSessionData(expiresIn, DBkeys.TOKEN_EXPIRES_IN);\n this.localStorage.saveSyncedSessionData(permissions, DBkeys.USER_PERMISSIONS);\n this.localStorage.saveSyncedSessionData(user, DBkeys.CURRENT_USER);\n }\n\n this.localStorage.savePermanentData(rememberMe, DBkeys.REMEMBER_ME);\n }\n\n\n\n logout(): void {\n this.localStorage.deleteData(DBkeys.ACCESS_TOKEN);\n this.localStorage.deleteData(DBkeys.ID_TOKEN);\n this.localStorage.deleteData(DBkeys.REFRESH_TOKEN);\n this.localStorage.deleteData(DBkeys.TOKEN_EXPIRES_IN);\n this.localStorage.deleteData(DBkeys.USER_PERMISSIONS);\n this.localStorage.deleteData(DBkeys.CURRENT_USER);\n\n this.configurations.clearLogOutChanges();\n\n this.reevaluateLoginStatus();\n }\n\n\n private reevaluateLoginStatus(currentUser?: User) {\n\n let user = currentUser || this.localStorage.getDataObject(DBkeys.CURRENT_USER);\n let isLoggedIn = user != null;\n\n if (this.previousIsLoggedInCheck != isLoggedIn) {\n setTimeout(() => {\n this._loginStatus.next(isLoggedIn);\n });\n }\n\n this.previousIsLoggedInCheck = isLoggedIn;\n }\n\n\n getLoginStatusEvent(): Observable {\n return this._loginStatus.asObservable();\n }\n\n\n get currentUser(): User {\n\n let user = this.localStorage.getDataObject(DBkeys.CURRENT_USER);\n this.reevaluateLoginStatus(user);\n\n return user;\n }\n\n get userPermissions(): PermissionValues[] {\n return this.localStorage.getDataObject(DBkeys.USER_PERMISSIONS) || [];\n }\n\n get accessToken(): string {\n\n this.reevaluateLoginStatus();\n return this.localStorage.getData(DBkeys.ACCESS_TOKEN);\n }\n\n get accessTokenExpiryDate(): Date {\n\n this.reevaluateLoginStatus();\n return this.localStorage.getDataObject(DBkeys.TOKEN_EXPIRES_IN, true);\n }\n\n get isSessionExpired(): boolean {\n\n if (this.accessTokenExpiryDate == null) {\n return true;\n }\n\n return !(this.accessTokenExpiryDate.valueOf() > new Date().valueOf());\n }\n\n\n get idToken(): string {\n\n this.reevaluateLoginStatus();\n return this.localStorage.getData(DBkeys.ID_TOKEN);\n }\n\n get refreshToken(): string {\n\n this.reevaluateLoginStatus();\n return this.localStorage.getData(DBkeys.REFRESH_TOKEN);\n }\n\n get isLoggedIn(): boolean {\n return this.currentUser != null;\n }\n\n get rememberMe(): boolean {\n return this.localStorage.getDataObject(DBkeys.REMEMBER_ME) == true;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AppTranslationService } from './app-translation.service';\nimport { LocalStoreManager } from './local-store-manager.service';\nimport { DBkeys } from './db-Keys';\nimport { Utilities } from './utilities';\nimport { environment } from '../../environments/environment';\n\n\n\ntype UserConfiguration = {\n language: string,\n homeUrl: string,\n theme: string,\n showDashboardStatistics: boolean,\n showDashboardNotifications: boolean,\n showDashboardTodo: boolean,\n};\n\n@Injectable()\nexport class ConfigurationService {\n\n public static readonly appVersion: string = \"0.1.0\";\n\n public baseUrl = environment.baseUrl || Utilities.baseUrl();\n public loginUrl = environment.loginUrl;\n public fallbackBaseUrl = \"http://localhost\";\n\n //***Specify default configurations here***\n public static readonly defaultLanguage: string = \"en\";\n public static readonly defaultHomeUrl: string = \"/\";\n public static readonly defaultTheme: string = \"Default\";\n public static readonly defaultShowDashboardStatistics: boolean = true;\n public static readonly defaultShowDashboardNotifications: boolean = true;\n public static readonly defaultShowDashboardTodo: boolean = false;\n //***End of defaults*** \n\n private _language: string = null;\n private _homeUrl: string = null;\n private _theme: string = null;\n private _showDashboardStatistics: boolean = null;\n private _showDashboardNotifications: boolean = null;\n private _showDashboardTodo: boolean = null;\n\n\n constructor(private localStorage: LocalStoreManager, private translationService: AppTranslationService) {\n this.loadLocalChanges();\n }\n\n\n\n private loadLocalChanges() {\n\n if (this.localStorage.exists(DBkeys.LANGUAGE)) {\n this._language = this.localStorage.getDataObject(DBkeys.LANGUAGE);\n this.translationService.changeLanguage(this._language);\n }\n else {\n this.resetLanguage();\n }\n\n if (this.localStorage.exists(DBkeys.HOME_URL))\n this._homeUrl = this.localStorage.getDataObject(DBkeys.HOME_URL);\n\n if (this.localStorage.exists(DBkeys.THEME))\n this._theme = this.localStorage.getDataObject(DBkeys.THEME);\n\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_STATISTICS))\n this._showDashboardStatistics = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_STATISTICS);\n\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS))\n this._showDashboardNotifications = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\n\n if (this.localStorage.exists(DBkeys.SHOW_DASHBOARD_TODO))\n this._showDashboardTodo = this.localStorage.getDataObject(DBkeys.SHOW_DASHBOARD_TODO);\n }\n\n\n private saveToLocalStore(data: any, key: string) {\n setTimeout(() => this.localStorage.savePermanentData(data, key));\n }\n\n\n public import(value: string) {\n\n this.clearLocalChanges();\n\n if (!value)\n return;\n\n let config: UserConfiguration = Utilities.JSonTryParse(value);\n\n if (config.language != null)\n this.language = config.language;\n\n if (config.homeUrl != null)\n this.homeUrl = config.homeUrl;\n\n if (config.theme != null)\n this.theme = config.theme;\n\n if (config.showDashboardStatistics != null)\n this.showDashboardStatistics = config.showDashboardStatistics;\n\n if (config.showDashboardNotifications != null)\n this.showDashboardNotifications = config.showDashboardNotifications;\n\n if (config.showDashboardTodo != null)\n this.showDashboardTodo = config.showDashboardTodo;\n }\n\n\n public export(changesOnly = true): string {\n let exportValue: UserConfiguration =\n {\n language: changesOnly ? this._language : this.language,\n homeUrl: changesOnly ? this._homeUrl : this.homeUrl,\n theme: changesOnly ? this._theme : this.theme,\n showDashboardStatistics: changesOnly ? this._showDashboardStatistics : this.showDashboardStatistics,\n showDashboardNotifications: changesOnly ? this._showDashboardNotifications : this.showDashboardNotifications,\n showDashboardTodo: changesOnly ? this._showDashboardTodo : this.showDashboardTodo,\n };\n \n return JSON.stringify(exportValue);\n }\n\n\n public clearLocalChanges() {\n this._language = null;\n this._homeUrl = null;\n this._theme = null;\n this._showDashboardStatistics = null;\n this._showDashboardNotifications = null;\n this._showDashboardTodo = null;\n\n this.localStorage.deleteData(DBkeys.LANGUAGE);\n this.localStorage.deleteData(DBkeys.HOME_URL);\n this.localStorage.deleteData(DBkeys.THEME);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_STATISTICS);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_TODO);\n\n this.resetLanguage();\n }\n\n\n public clearLogOutChanges() {\n this._homeUrl = null;\n this._theme = null;\n this._showDashboardStatistics = null;\n this._showDashboardNotifications = null;\n this._showDashboardTodo = null;\n\n this.localStorage.deleteData(DBkeys.HOME_URL);\n this.localStorage.deleteData(DBkeys.THEME);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_STATISTICS);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\n this.localStorage.deleteData(DBkeys.SHOW_DASHBOARD_TODO);\n }\n\n\n private resetLanguage() {\n let language = this.translationService.useBrowserLanguage();\n\n if (language) {\n this._language = language;\n }\n else {\n this._language = this.translationService.changeLanguage()\n }\n }\n\n\n\n\n set language(value: string) {\n this._language = value;\n this.saveToLocalStore(value, DBkeys.LANGUAGE);\n this.translationService.changeLanguage(value);\n }\n get language() {\n if (this._language != null)\n return this._language;\n\n return ConfigurationService.defaultLanguage;\n }\n\n\n set homeUrl(value: string) {\n this._homeUrl = value;\n this.saveToLocalStore(value, DBkeys.HOME_URL);\n }\n get homeUrl() {\n if (this._homeUrl != null)\n return this._homeUrl;\n\n return ConfigurationService.defaultHomeUrl;\n }\n\n\n set theme(value: string) {\n this._theme = value;\n this.saveToLocalStore(value, DBkeys.THEME);\n }\n get theme() {\n if (this._theme != null)\n return this._theme;\n\n return ConfigurationService.defaultTheme;\n }\n\n\n set showDashboardStatistics(value: boolean) {\n this._showDashboardStatistics = value;\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_STATISTICS);\n }\n get showDashboardStatistics() {\n if (this._showDashboardStatistics != null)\n return this._showDashboardStatistics;\n\n return ConfigurationService.defaultShowDashboardStatistics;\n }\n\n\n set showDashboardNotifications(value: boolean) {\n this._showDashboardNotifications = value;\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_NOTIFICATIONS);\n }\n get showDashboardNotifications() {\n if (this._showDashboardNotifications != null)\n return this._showDashboardNotifications;\n\n return ConfigurationService.defaultShowDashboardNotifications;\n }\n\n\n set showDashboardTodo(value: boolean) {\n this._showDashboardTodo = value;\n this.saveToLocalStore(value, DBkeys.SHOW_DASHBOARD_TODO);\n }\n get showDashboardTodo() {\n if (this._showDashboardTodo != null)\n return this._showDashboardTodo;\n\n return ConfigurationService.defaultShowDashboardTodo;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class DBkeys {\n\n public static readonly CURRENT_USER = 'current_user';\n public static readonly USER_PERMISSIONS = 'user_permissions';\n public static readonly ACCESS_TOKEN = 'access_token';\n public static readonly ID_TOKEN = 'id_token';\n public static readonly REFRESH_TOKEN = 'refresh_token';\n public static readonly TOKEN_EXPIRES_IN = 'expires_in';\n\n public static readonly REMEMBER_ME = 'remember_me';\n\n\n public static readonly LANGUAGE = 'language';\n public static readonly HOME_URL = 'home_url';\n public static readonly THEME = 'theme';\n public static readonly SHOW_DASHBOARD_STATISTICS = 'show_dashboard_statistics';\n public static readonly SHOW_DASHBOARD_NOTIFICATIONS = 'show_dashboard_notifications';\n public static readonly SHOW_DASHBOARD_TODO = 'show_dashboard_todo';\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Observable, Subject, throwError } from 'rxjs';\nimport { mergeMap, switchMap, catchError } from 'rxjs/operators';\n\nimport { AuthService } from './auth.service';\nimport { ConfigurationService } from './configuration.service';\n\n\n@Injectable()\nexport class EndpointFactory {\n static readonly apiVersion: string = \"1\";\n\n private readonly _loginUrl: string = \"/connect/token\";\n\n private get loginUrl() { return this.configurations.baseUrl + this._loginUrl; }\n\n private taskPauser: Subject;\n private isRefreshingLogin: boolean;\n\n private _authService: AuthService;\n\n private get authService() {\n if (!this._authService)\n this._authService = this.injector.get(AuthService);\n\n return this._authService;\n }\n\n\n\n constructor(protected http: HttpClient, protected configurations: ConfigurationService, private injector: Injector) {\n\n }\n\n\n getLoginEndpoint(userName: string, password: string): Observable {\n\n let header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n\n let params = new HttpParams()\n .append('username', userName)\n .append('password', password)\n .append('grant_type', 'password')\n .append('scope', 'openid email phone profile offline_access roles');\n\n let requestBody = params.toString();\n\n return this.http.post(this.loginUrl, requestBody, { headers: header });\n }\n\n getRefreshLoginEndpoint(): Observable {\n\n let header = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\n\n let params = new HttpParams()\n .append('refresh_token', this.authService.refreshToken)\n .append('grant_type', 'refresh_token')\n .append('scope', 'openid email phone profile offline_access roles');\n\n let requestBody = params.toString();\n\n return this.http.post(this.loginUrl, requestBody, { headers: header }).pipe(\n catchError(error => {\n return this.handleError(error, () => this.getRefreshLoginEndpoint());\n }));\n }\n\n\n\n\n\n protected getRequestHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\n let headers = new HttpHeaders({\n 'Authorization': 'Bearer ' + this.authService.accessToken,\n 'Content-Type': 'application/json',\n 'Accept': `application/vnd.iman.v${EndpointFactory.apiVersion}+json, application/json, text/plain, */*`,\n 'App-Version': ConfigurationService.appVersion\n });\n\n return { headers: headers };\n }\n protected getRequestHeadersText(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {\n let headers = new HttpHeaders({\n 'Authorization': 'Bearer ' + this.authService.accessToken,\n 'Content-Type': 'text/plain',\n 'Accept': `application/vnd.iman.v${EndpointFactory.apiVersion}+json, application/json, text/plain, */*`,\n 'App-Version': ConfigurationService.appVersion\n });\n\n return { headers: headers };\n }\n\n protected handleError(error, continuation?: () => Observable) {\n\n if (error.status == 401) {\n if (this.isRefreshingLogin) {\n return this.pauseTask(continuation);\n }\n\n this.isRefreshingLogin = true;\n\n return this.authService.refreshLogin().pipe(\n mergeMap(data => {\n this.isRefreshingLogin = false;\n this.resumeTasks(true);\n\n return continuation ? continuation() : null;\n }),\n catchError(refreshLoginError => {\n this.isRefreshingLogin = false;\n this.resumeTasks(false);\n\n if (refreshLoginError.status == 401 || (refreshLoginError.url && refreshLoginError.url.toLowerCase().includes(this.loginUrl.toLowerCase()))) {\n this.authService.reLogin();\n return throwError('session expired');\n }\n else {\n return throwError(refreshLoginError || 'server error');\n }\n }));\n }\n\n if (error.url && error.url.toLowerCase().includes(this.loginUrl.toLowerCase())) {\n this.authService.reLogin();\n\n return throwError((error.error && error.error.error_description) ? `session expired (${error.error.error_description})` : 'session expired');\n }\n else {\n return throwError(error);\n }\n }\n\n\n\n private pauseTask(continuation: () => Observable) {\n if (!this.taskPauser)\n this.taskPauser = new Subject();\n\n return this.taskPauser.pipe(switchMap(continueOp => {\n if (continueOp)\n if (continuation)\n return continuation();\n else\n return null;\n \n throwError('session expired');\n }));\n }\n\n\n private resumeTasks(continueOp: boolean) {\n setTimeout(() => {\n if (this.taskPauser) {\n this.taskPauser.next(continueOp);\n this.taskPauser.complete();\n this.taskPauser = null;\n }\n });\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n\nimport { EndpointFactory } from './endpoint-factory.service';\nimport { ConfigurationService } from './configuration.service';\nimport { pipe } from '@angular/core/src/render3/pipe';\nimport { PdfResponse } from '../models/pdf-response.model';\n\n@Injectable()\nexport class InvoiceEndpoint extends EndpointFactory {\n\n private readonly _openInvoicesUrl: string = \"/api/invoice/open\";\n private readonly _closedInvoicesUrl: string = \"/api/invoice/closed\";\n private readonly _invoicePdfUrl: string = \"/api/invoice/pdf\";\n private readonly _paidInvoicesUrl: string = \"/api/invoice/paid\";\n \n get openInvoicesUrl() { return this.configurations.baseUrl + this._openInvoicesUrl; }\n get closedInvoicesUrl() { return this.configurations.baseUrl + this._closedInvoicesUrl; } \n get pdfUrl() { return this.configurations.baseUrl + this._invoicePdfUrl; }\n get paidInvoicesUrl() { return this.configurations.baseUrl + this._paidInvoicesUrl; }\n\n constructor(http: HttpClient, configurations: ConfigurationService, injector: Injector) {\n super(http, configurations, injector);\n }\n\n // get open invoices\n getOpenInvoicesEndpoint(): Observable {\n //debugger;\n return this.http.post(this.openInvoicesUrl, null, this.getRequestHeaders()).pipe(\n catchError(error => {\n return this.handleError(error, () => this.getOpenInvoicesEndpoint());\n }));\n }\n\n\n // get closed invoices\n getClosedInvoicesEndpoint(): Observable {\n return this.http.post(this.closedInvoicesUrl, null, this.getRequestHeaders()).pipe(\n catchError(error => {\n return this.handleError(error, () => this.getClosedInvoicesEndpoint());\n }));\n }\n\n // get invoices with payments\n getPaidInvoicesEndpoint(): Observable {\n return this.http.post(this.paidInvoicesUrl, null, this.getRequestHeaders()).pipe(\n catchError(error => {\n return this.handleError(error, () => this.getPaidInvoicesEndpoint());\n }));\n }\n\n getInvoicePDF(invoiceNumber: string): Observable {\n //debugger;\n let pdflink = this.pdfUrl + \"?InvoiceNumber=\" + invoiceNumber;\n return this.http.get(pdflink, this.getRequestHeaders()).pipe();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject, forkJoin } from 'rxjs';\nimport { map, mergeMap, tap } from 'rxjs/operators';\n\nimport { InvoiceEndpoint } from './invoice-endpoint.service';\nimport { AuthService } from './auth.service';\nimport { Invoice } from '../models/invoice.model';\nimport { PdfResponse } from '../models/pdf-response.model';\n\n@Injectable()\nexport class InvoiceService {\n\n userInvoices: Invoice[];\n invoicesToPay: Invoice[];\n invoicesTotalToPay: number;\n openInvoicesTotal: number;\n\n constructor(private router: Router, private http: HttpClient, private authService: AuthService,\n private invoiceEndpoint: InvoiceEndpoint) {\n\n this.invoicesToPay = [];\n this.userInvoices = [];\n }\n\n\n getOpenInvoices() {\n return this.invoiceEndpoint.getOpenInvoicesEndpoint();\n }\n\n getClosedInvoices() {\n return this.invoiceEndpoint.getClosedInvoicesEndpoint();\n }\n\n getPaidInvoices() {\n return this.invoiceEndpoint.getPaidInvoicesEndpoint();\n }\n\n setUserInvoices(invoices: Invoice[]) {\n this.userInvoices = invoices;\n }\n\n getInvoicesToPay(): Invoice[] {\n\n this.invoicesToPay = [];\n\n for (let i = 0; i < this.userInvoices.length; i++) {\n if (this.userInvoices[i].userPaymentAmount > 0) {\n this.invoicesToPay.push(this.userInvoices[i]);\n }\n }\n\n return this.invoicesToPay;\n }\n\n getOpenInvoicesTotal(): number {\n\n if (!this.userInvoices) \n return 0;\n\n this.openInvoicesTotal = 0;\n\n for (let i = 0; i < this.userInvoices.length; i++) {\n if (this.userInvoices[i].balance > 0) {\n this.openInvoicesTotal += this.userInvoices[i].balance;\n }\n }\n\n\n return this.openInvoicesTotal;\n }\n\n getInvoicesPaymentTotal(): number {\n\n if (!this.invoicesToPay)\n return 0;\n\n this.invoicesTotalToPay = 0;\n\n for (let i = 0; i < this.invoicesToPay.length; i++) {\n if (this.invoicesToPay[i].userPaymentAmount > 0) {\n this.invoicesTotalToPay += this.invoicesToPay[i].userPaymentAmount;\n }\n }\n\n return this.invoicesTotalToPay;\n }\n\n getUserInvoices(): Invoice[] {\n return this.userInvoices;\n }\n\n getInvoicePDF(invoiceNumber: string): Observable {\n return this.invoiceEndpoint.getInvoicePDF(invoiceNumber);\n }\n\n}\n","/**\n * Helper class to decode and find JWT expiration.\n */\nimport { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class JwtHelper {\n\n public urlBase64Decode(str: string): string {\n let output = str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0: { break; }\n case 2: { output += '=='; break; }\n case 3: { output += '='; break; }\n default: {\n throw new Error('Illegal base64url string!');\n }\n }\n return this.b64DecodeUnicode(output);\n }\n\n // https://developer.mozilla.org/en/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem\n private b64DecodeUnicode(str: any) {\n return decodeURIComponent(Array.prototype.map.call(atob(str), (c: any) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n }\n\n public decodeToken(token: string): any {\n const parts = token.split('.');\n\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = this.urlBase64Decode(parts[1]);\n if (!decoded) {\n throw new Error('Cannot decode the token');\n }\n\n return JSON.parse(decoded);\n }\n\n public getTokenExpirationDate(token: string): Date {\n let decoded: any;\n decoded = this.decodeToken(token);\n\n if (!decoded.hasOwnProperty('exp')) {\n return null;\n }\n\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\n date.setUTCSeconds(decoded.exp);\n\n return date;\n }\n\n public isTokenExpired(token: string, offsetSeconds?: number): boolean {\n const date = this.getTokenExpirationDate(token);\n offsetSeconds = offsetSeconds || 0;\n\n if (date == null) {\n return false;\n }\n\n // Token expired?\n return !(date.valueOf() > (new Date().valueOf() + (offsetSeconds * 1000)));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class LanguageObservableService {\n private language = new Subject();\n public languageStream$ = this.language.asObservable();\n\n constructor() {}\n\n\n setDefaultLanguage(language)\n {\n this.language.next(language); \n }\n\n getDefaultLanguage() {\n return this.language;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { Utilities } from './utilities';\n\n@Injectable()\n/**\n* Provides a wrapper for accessing the web storage API and synchronizing session storage across tabs/windows.\n*/\nexport class LocalStoreManager {\n\n private static syncListenerInitialised = false;\n private syncKeys: string[] = [];\n private initEvent = new Subject();\n\n private reservedKeys: string[] =\n [\n 'sync_keys',\n 'addToSyncKeys',\n 'removeFromSyncKeys',\n 'getSessionStorage',\n 'setSessionStorage',\n 'addToSessionStorage',\n 'removeFromSessionStorage',\n 'clearAllSessionsStorage'\n ];\n\n public static readonly DBKEY_USER_DATA = \"user_data\";\n private static readonly DBKEY_SYNC_KEYS = \"sync_keys\";\n\n\n public initialiseStorageSyncListener() {\n if (LocalStoreManager.syncListenerInitialised == true)\n return;\n\n LocalStoreManager.syncListenerInitialised = true;\n window.addEventListener(\"storage\", this.sessionStorageTransferHandler, false);\n this.syncSessionStorage();\n }\n\n\n\n public deinitialiseStorageSyncListener() {\n\n window.removeEventListener(\"storage\", this.sessionStorageTransferHandler, false);\n\n LocalStoreManager.syncListenerInitialised = false;\n }\n\n\n\n\n private sessionStorageTransferHandler = (event: StorageEvent) => {\n\n if (!event.newValue)\n return;\n\n if (event.key == 'getSessionStorage') {\n\n if (sessionStorage.length) {\n this.localStorageSetItem('setSessionStorage', sessionStorage);\n localStorage.removeItem('setSessionStorage');\n }\n }\n else if (event.key == 'setSessionStorage') {\n\n if (!this.syncKeys.length)\n this.loadSyncKeys();\n\n let data = JSON.parse(event.newValue);\n //console.info(\"Set => Key: Transfer setSessionStorage\" + \", data: \" + JSON.stringify(data));\n\n for (let key in data) {\n\n if (this.syncKeysContains(key))\n this.sessionStorageSetItem(key, JSON.parse(data[key]));\n }\n\n this.onInit();\n }\n else if (event.key == 'addToSessionStorage') {\n\n let data = JSON.parse(event.newValue);\n\n //console.warn(\"Set => Key: Transfer addToSessionStorage\" + \", data: \" + JSON.stringify(data));\n\n this.addToSessionStorageHelper(data[\"data\"], data[\"key\"]);\n }\n else if (event.key == 'removeFromSessionStorage') {\n\n this.removeFromSessionStorageHelper(event.newValue);\n }\n else if (event.key == 'clearAllSessionsStorage' && sessionStorage.length) {\n\n this.clearInstanceSessionStorage();\n }\n else if (event.key == 'addToSyncKeys') {\n\n this.addToSyncKeysHelper(event.newValue);\n }\n else if (event.key == 'removeFromSyncKeys') {\n\n this.removeFromSyncKeysHelper(event.newValue);\n }\n }\n\n\n\n\n\n private syncSessionStorage() {\n\n localStorage.setItem('getSessionStorage', '_dummy');\n localStorage.removeItem('getSessionStorage');\n }\n\n\n public clearAllStorage() {\n\n this.clearAllSessionsStorage();\n this.clearLocalStorage();\n }\n\n\n public clearAllSessionsStorage() {\n\n this.clearInstanceSessionStorage();\n localStorage.removeItem(LocalStoreManager.DBKEY_SYNC_KEYS);\n\n localStorage.setItem('clearAllSessionsStorage', '_dummy');\n localStorage.removeItem('clearAllSessionsStorage');\n }\n\n\n public clearInstanceSessionStorage() {\n\n sessionStorage.clear();\n this.syncKeys = [];\n }\n\n\n public clearLocalStorage() {\n localStorage.clear();\n }\n\n\n\n\n private addToSessionStorage(data: any, key: string) {\n\n this.addToSessionStorageHelper(data, key);\n this.addToSyncKeysBackup(key);\n\n this.localStorageSetItem('addToSessionStorage', { key: key, data: data });\n localStorage.removeItem('addToSessionStorage');\n }\n\n private addToSessionStorageHelper(data: any, key: string) {\n\n this.addToSyncKeysHelper(key);\n this.sessionStorageSetItem(key, data);\n }\n\n\n private removeFromSessionStorage(keyToRemove: string) {\n\n this.removeFromSessionStorageHelper(keyToRemove);\n this.removeFromSyncKeysBackup(keyToRemove);\n\n localStorage.setItem('removeFromSessionStorage', keyToRemove);\n localStorage.removeItem('removeFromSessionStorage');\n }\n\n\n private removeFromSessionStorageHelper(keyToRemove: string) {\n\n sessionStorage.removeItem(keyToRemove);\n this.removeFromSyncKeysHelper(keyToRemove);\n }\n\n\n private testForInvalidKeys(key: string) {\n\n if (!key)\n throw new Error(\"key cannot be empty\")\n\n if (this.reservedKeys.some(x => x == key))\n throw new Error(`The storage key \"${key}\" is reserved and cannot be used. Please use a different key`);\n }\n\n\n private syncKeysContains(key: string) {\n\n return this.syncKeys.some(x => x == key);\n }\n\n\n private loadSyncKeys() {\n\n if (this.syncKeys.length)\n return;\n\n this.syncKeys = this.getSyncKeysFromStorage();\n }\n\n\n private getSyncKeysFromStorage(defaultValue: string[] = []): string[] {\n\n let data = this.localStorageGetItem(LocalStoreManager.DBKEY_SYNC_KEYS);\n\n if (data == null)\n return defaultValue;\n else\n return data;\n }\n\n\n private addToSyncKeys(key: string) {\n\n this.addToSyncKeysHelper(key);\n this.addToSyncKeysBackup(key);\n\n localStorage.setItem('addToSyncKeys', key);\n localStorage.removeItem('addToSyncKeys');\n }\n\n\n private addToSyncKeysBackup(key: string) {\n\n let storedSyncKeys = this.getSyncKeysFromStorage();\n\n if (!storedSyncKeys.some(x => x == key)) {\n storedSyncKeys.push(key);\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\n }\n }\n\n private removeFromSyncKeysBackup(key: string) {\n\n let storedSyncKeys = this.getSyncKeysFromStorage();\n\n let index = storedSyncKeys.indexOf(key);\n\n if (index > -1) {\n storedSyncKeys.splice(index, 1);\n this.localStorageSetItem(LocalStoreManager.DBKEY_SYNC_KEYS, storedSyncKeys);\n }\n }\n\n\n private addToSyncKeysHelper(key: string) {\n\n if (!this.syncKeysContains(key))\n this.syncKeys.push(key);\n }\n\n\n\n private removeFromSyncKeys(key: string) {\n\n this.removeFromSyncKeysHelper(key);\n this.removeFromSyncKeysBackup(key);\n\n localStorage.setItem('removeFromSyncKeys', key);\n localStorage.removeItem('removeFromSyncKeys');\n }\n\n\n private removeFromSyncKeysHelper(key: string) {\n\n let index = this.syncKeys.indexOf(key);\n\n if (index > -1) {\n this.syncKeys.splice(index, 1);\n }\n }\n\n\n public saveSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n this.removeFromSyncKeys(key);\n localStorage.removeItem(key);\n this.sessionStorageSetItem(key, data);\n }\n\n\n public saveSyncedSessionData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n localStorage.removeItem(key);\n this.addToSessionStorage(data, key);\n }\n\n\n public savePermanentData(data: any, key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n this.removeFromSessionStorage(key);\n this.localStorageSetItem(key, data);\n }\n\n\n\n public moveDataToSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n let data = this.getData(key);\n\n if (data == null)\n return;\n\n this.saveSessionData(data, key);\n }\n\n\n public moveDataToSyncedSessionStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n let data = this.getData(key);\n\n if (data == null)\n return;\n\n this.saveSyncedSessionData(data, key);\n }\n\n\n public moveDataToPermanentStorage(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n let data = this.getData(key);\n\n if (data == null)\n return;\n\n this.savePermanentData(data, key);\n }\n\n\n public exists(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n let data = sessionStorage.getItem(key);\n\n if (data == null)\n data = localStorage.getItem(key);\n\n return data != null;\n }\n\n\n public getData(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n let data = this.sessionStorageGetItem(key);\n\n if (data == null)\n data = this.localStorageGetItem(key);\n\n return data;\n }\n\n\n public getDataObject(key = LocalStoreManager.DBKEY_USER_DATA, isDateType = false): T {\n\n let data = this.getData(key);\n\n if (data != null) {\n if (isDateType)\n data = new Date(data);\n\n return data;\n }\n else {\n return null;\n }\n }\n\n\n public deleteData(key = LocalStoreManager.DBKEY_USER_DATA) {\n\n this.testForInvalidKeys(key);\n\n this.removeFromSessionStorage(key);\n localStorage.removeItem(key);\n }\n\n\n\n\n\n\n\n private localStorageSetItem(key: string, data: any) {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n private sessionStorageSetItem(key: string, data: any) {\n sessionStorage.setItem(key, JSON.stringify(data));\n }\n\n\n private localStorageGetItem(key: string) {\n return Utilities.JSonTryParse(localStorage.getItem(key));\n }\n\n private sessionStorageGetItem(key: string) {\n return Utilities.JSonTryParse(sessionStorage.getItem(key));\n }\n\n\n\n\n\n private onInit() {\n setTimeout(() => {\n this.initEvent.next();\n this.initEvent.complete();\n });\n }\n\n\n public getInitEvent(): Observable<{}> {\n return this.initEvent.asObservable();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResponse } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\n\n\n\n\n@Injectable()\nexport class NotificationEndpoint {\n\n private demoNotifications = [\n {\n \"id\": 1,\n \"header\": \"20 New Products were added to your inventory by \\\"administrator\\\"\",\n \"body\": \"20 new \\\"BMW M6\\\" were added to your stock by \\\"administrator\\\" on 5/28/2017 4:54:13 PM\",\n \"isRead\": true,\n \"isPinned\": true,\n \"date\": \"2017-05-28T16:29:13.5877958\"\n },\n {\n \"id\": 2,\n \"header\": \"1 Product running low\",\n \"body\": \"You are running low on \\\"Nissan Patrol\\\". 2 Items remaining\",\n \"isRead\": false,\n \"isPinned\": false,\n \"date\": \"2017-05-28T19:54:42.4144502\"\n },\n {\n \"id\": 3,\n \"header\": \"Tomorrow is half day\",\n \"body\": \"Guys, tomorrow we close by midday. Please check in your sales before noon. Thanx. Alex.\",\n \"isRead\": false,\n \"isPinned\": false,\n \"date\": \"2017-05-30T11:13:42.4144502\"\n }\n ];\n\n\n\n getNotificationEndpoint(notificationId: number): Observable {\n\n let notification = this.demoNotifications.find(val => val.id == notificationId);\n let response: HttpResponse;\n\n if (notification) {\n response = this.createResponse(notification, 200);\n }\n else {\n response = this.createResponse(null, 404);\n }\n\n return of(response.body);\n }\n\n\n\n getNotificationsEndpoint(page: number, pageSize: number): Observable {\n\n let notifications = this.demoNotifications;\n let response = this.createResponse(this.demoNotifications, 200);\n\n return of(response.body);\n }\n\n\n\n getUnreadNotificationsEndpoint(userId?: string): Observable {\n\n let unreadNotifications = this.demoNotifications.filter(val => !val.isRead);\n let response = this.createResponse(unreadNotifications, 200);\n\n return of(response.body);\n }\n\n\n\n getNewNotificationsEndpoint(lastNotificationDate?: Date): Observable {\n\n let unreadNotifications = this.demoNotifications;\n let response = this.createResponse(unreadNotifications, 200);\n\n return of(response.body);\n }\n\n\n\n getPinUnpinNotificationEndpoint(notificationId: number, isPinned?: boolean, ): Observable {\n\n let notification = this.demoNotifications.find(val => val.id == notificationId);\n let response: HttpResponse;\n\n if (notification) {\n response = this.createResponse(null, 204);\n\n if (isPinned == null)\n isPinned = !notification.isPinned;\n\n notification.isPinned = isPinned;\n notification.isRead = true;\n }\n else {\n response = this.createResponse(null, 404);\n }\n\n\n return of(response.body);\n }\n\n\n\n getReadUnreadNotificationEndpoint(notificationIds: number[], isRead: boolean, ): Observable {\n\n for (let notificationId of notificationIds) {\n\n let notification = this.demoNotifications.find(val => val.id == notificationId);\n\n if (notification) {\n notification.isRead = isRead;\n }\n }\n\n let response = this.createResponse(null, 204);\n return of(response.body);\n }\n\n\n\n getDeleteNotificationEndpoint(notificationId: number): Observable {\n\n let notification = this.demoNotifications.find(val => val.id == notificationId);\n let response: HttpResponse;\n\n if (notification) {\n this.demoNotifications = this.demoNotifications.filter(val => val.id != notificationId)\n response = this.createResponse(notification, 200);\n }\n else {\n response = this.createResponse(null, 404);\n }\n\n return of(response.body);\n }\n\n\n\n private createResponse(body, status: number) {\n return new HttpResponse({ body: body, status: status });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, interval } from 'rxjs';\nimport { map, flatMap, startWith } from 'rxjs/operators';\n\nimport { AuthService } from './auth.service';\nimport { NotificationEndpoint } from './notification-endpoint.service';\nimport { Notification } from '../models/notification.model';\n\n\n\n@Injectable()\nexport class NotificationService {\n\n private lastNotificationDate: Date;\n private _recentNotifications: Notification[];\n\n get recentNotifications() {\n return this._recentNotifications;\n }\n\n set recentNotifications(notifications: Notification[]) {\n this._recentNotifications = notifications;\n }\n\n\n\n constructor(private notificationEndpoint: NotificationEndpoint, private authService: AuthService) {\n\n }\n\n\n getNotification(notificationId?: number) {\n\n return this.notificationEndpoint.getNotificationEndpoint(notificationId).pipe(\n map(response => Notification.Create(response)));\n }\n\n\n getNotifications(page: number, pageSize: number) {\n\n return this.notificationEndpoint.getNotificationsEndpoint(page, pageSize).pipe(\n map(response => {\n return this.getNotificationsFromResponse(response);\n }));\n }\n\n\n getUnreadNotifications(userId?: string) {\n\n return this.notificationEndpoint.getUnreadNotificationsEndpoint(userId).pipe(\n map(response => this.getNotificationsFromResponse(response)));\n }\n\n\n getNewNotifications() {\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\n map(response => this.processNewNotificationsFromResponse(response)));\n }\n\n\n getNewNotificationsPeriodically() {\n return interval(10000).pipe(\n startWith(0),\n flatMap(() => {\n return this.notificationEndpoint.getNewNotificationsEndpoint(this.lastNotificationDate).pipe(\n map(response => this.processNewNotificationsFromResponse(response)));\n }));\n }\n\n\n\n\n pinUnpinNotification(notificationOrNotificationId: number | Notification, isPinned?: boolean): Observable {\n\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) {\n return this.notificationEndpoint.getPinUnpinNotificationEndpoint(notificationOrNotificationId, isPinned);\n }\n else {\n return this.pinUnpinNotification(notificationOrNotificationId.id);\n }\n }\n\n\n readUnreadNotification(notificationIds: number[], isRead: boolean): Observable {\n\n return this.notificationEndpoint.getReadUnreadNotificationEndpoint(notificationIds, isRead);\n }\n\n\n\n\n deleteNotification(notificationOrNotificationId: number | Notification): Observable {\n\n if (typeof notificationOrNotificationId === 'number' || notificationOrNotificationId instanceof Number) { //Todo: Test me if its check is valid\n return this.notificationEndpoint.getDeleteNotificationEndpoint(notificationOrNotificationId).pipe(\n map(response => {\n this.recentNotifications = this.recentNotifications.filter(n => n.id != notificationOrNotificationId);\n return Notification.Create(response);\n }));\n }\n else {\n return this.deleteNotification(notificationOrNotificationId.id);\n }\n }\n\n\n\n\n private processNewNotificationsFromResponse(response) {\n let notifications = this.getNotificationsFromResponse(response);\n\n for (let n of notifications) {\n if (n.date > this.lastNotificationDate)\n this.lastNotificationDate = n.date;\n }\n\n return notifications;\n }\n\n\n private getNotificationsFromResponse(response) {\n let notifications: Notification[] = [];\n\n for (let i in response) {\n notifications[i] = Notification.Create(response[i]);\n }\n\n notifications.sort((a, b) => b.date.valueOf() - a.date.valueOf());\n notifications.sort((a, b) => (a.isPinned === b.isPinned) ? 0 : a.isPinned ? -1 : 1);\n\n this.recentNotifications = notifications;\n\n return notifications;\n }\n\n\n\n get currentUser() {\n return this.authService.currentUser;\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\n\nimport { EndpointFactory } from './endpoint-factory.service';\nimport { ConfigurationService } from './configuration.service';\nimport { pipe } from '@angular/core/src/render3/pipe';\nimport { PaymentMethod } from '../models/payment-method.model';\nimport { PaymentProfile } from '../models/payment-profile.model';\n\n\n@Injectable()\nexport class PaymentServiceEndpoint extends EndpointFactory {\n private readonly baseUrlPayment: string = \"/api/payment\";\n private readonly _autopayUrl: string = \"/api/payment/auto\";\n\n get getPaymentUrl() { return this.configurations.baseUrl + this.baseUrlPayment; }\n get autopayUrl() { return this.configurations.baseUrl + this._autopayUrl; }\n\n constructor(http: HttpClient, configurations: ConfigurationService, injector: Injector) {\n super(http, configurations, injector);\n }\n\n\n getPaymentEndpoint(paymentMethodId: string): Observable {\n let endpointUrl = `${this.getPaymentUrl}/${paymentMethodId}`;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n getPaymentsEndpoint(): Observable {\n let endpointUrl = `${this.getPaymentUrl}/list`;\n\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n savePaymentMethod(paymentMethod: PaymentMethod): Observable {\n \n return this.http\n .put(this.autopayUrl, JSON.stringify(paymentMethod), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n savePaymentProfile(paymentProfile: PaymentProfile): Observable {\n return this.http\n .put(this.getPaymentUrl, JSON.stringify(paymentProfile), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n deletePaymentProfile(paymentMethodId: string): Observable {\n let endpointUrl = `${this.getPaymentUrl}/${paymentMethodId}`;\n\n return this.http\n .delete(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n submitPayment(paymentMethodId: string, invoiceNumbers: string[], PaymentAmount: number): Observable {\n let endpointUrl = `${this.getPaymentUrl}/pay/${paymentMethodId}`;\n\n return this.http\n .post(endpointUrl, JSON.stringify({ invoices: invoiceNumbers, PaymentAmount: PaymentAmount }), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras } from \"@angular/router\";\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject, forkJoin } from 'rxjs';\nimport { map, mergeMap, tap } from 'rxjs/operators';\n\nimport { PaymentServiceEndpoint } from './payment-service-endpoint.service';\nimport { AuthService } from './auth.service';\nimport { PaymentMethod } from '../models/payment-method.model';\nimport { PaymentProfile } from '../models/payment-profile.model';\nimport { Invoice } from '../models/invoice.model';\nimport { PaymentResult } from '../models/payment-result-model';\n\n\n@Injectable()\nexport class PaymentService {\n constructor(private router: Router, private http: HttpClient, private authService: AuthService,\n private paymentServiceEndpoint: PaymentServiceEndpoint) {\n }\n getPaymentMethod(id: string) {\n return this.paymentServiceEndpoint.getPaymentEndpoint(id);\n }\n\n getPaymentMethods() {\n return this.paymentServiceEndpoint.getPaymentsEndpoint();\n }\n savePaymentMethod(paymentMethod: PaymentMethod) {\n return this.paymentServiceEndpoint.savePaymentMethod(paymentMethod);\n }\n savePaymentProfile(paymentProfile: PaymentProfile) {\n return this.paymentServiceEndpoint.savePaymentProfile(paymentProfile);\n }\n deletePaymentProfile(id: string) {\n return this.paymentServiceEndpoint.deletePaymentProfile(id);\n }\n submitPayment(paymentMethodId: string, invoiceNumbers: string[], paymentAmount: number) {\n return this.paymentServiceEndpoint.submitPayment(paymentMethodId, invoiceNumbers, paymentAmount);\n }\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nimport { EndpointFactory } from './endpoint-factory.service';\nimport { ConfigurationService } from './configuration.service';\n\nimport { SFAccountSettings } from '../models/sf-account-settings.model';\nimport { SFContact } from '../models/sf-contact.model';\n\n\n@Injectable()\nexport class SFAccountSettingsEndpoint extends EndpointFactory {\n\n private readonly _sfAccountSettingsUrl: string = \"/api/sfaccount/sfaccountsettings\";\n private readonly _sfAccountSettingsSaveUrl: string = \"/api/sfaccount/savesfaccountsettings\"\n private readonly _sfContactsUrl: string = \"/api/sfaccount/sfcontacts\";\n private readonly _sfContactUrl: string = \"/api/sfaccount/sfcontact\";\n private readonly _sfContactSaveUrl: string = \"/api/sfaccount/savesfcontact\";\n\n get sfAccountSettingsUrl() {\n return this.configurations.baseUrl + this._sfAccountSettingsUrl;\n }\n\n get sfAccountSettingsSaveUrl() {\n return this.configurations.baseUrl + this._sfAccountSettingsSaveUrl;\n }\n\n get sfContactsUrl() {\n return this.configurations.baseUrl + this._sfContactsUrl;\n }\n\n get sfContactUrl() {\n return this.configurations.baseUrl + this._sfContactUrl;\n }\n\n get sfContactSaveUrl() {\n return this.configurations.baseUrl + this._sfContactSaveUrl;\n }\n\n\n\n constructor(http: HttpClient, configurations: ConfigurationService, injector: Injector) {\n super(http, configurations, injector);\n }\n\n\n // SFAccountSettings\n getSFAccountSettingsEndpoint(): Observable {\n var url = this.sfAccountSettingsUrl;\n var headers = this.getRequestHeaders();\n return this.http\n .get(url, headers)\n .pipe(\n catchError(error => this.handleError(error))\n );\n }\n\n getSaveSFAccountSettingsEndpoint(sfAccountSettings: SFAccountSettings): Observable {\n let endpointUrl = this.sfAccountSettingsSaveUrl;\n return this.http\n .put(endpointUrl, JSON.stringify(sfAccountSettings), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n\n // SFContacts\n getSFContactsEndpoint(page?: number, pageSize?: number): Observable {\n let endpointUrl = page && pageSize ? `${this.sfContactsUrl}/${page}/${pageSize}` : this.sfContactsUrl;\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getSFContactEndpoint(id: number): Observable {\n let endpointUrl = `${this.sfContactUrl}/${id}`;\n return this.http\n .get(endpointUrl, this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n getSaveSFContactEndpoint(sfContact: SFContact): Observable {\n let endpointUrl = this.sfContactSaveUrl;\n return this.http\n .post(endpointUrl, JSON.stringify(sfContact), this.getRequestHeaders())\n .pipe(catchError(error => this.handleError(error)));\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject, forkJoin, BehaviorSubject, Notification, combineLatest, concat, from, fromEvent, pipe } from 'rxjs';\nimport { map, mergeMap, tap, subscribeOn } from 'rxjs/operators';\n//import { TranslateService } from '@ngx-translate/core';\n\nimport { AuthService } from './auth.service';\nimport { validateConfig } from '@angular/router/src/config';\n\nimport { SFAccountSettings } from '../models/sf-account-settings.model';\nimport { SFContact } from '../models/sf-contact.model';\nimport { SFAccountSettingsEndpoint } from './sf-account-settings-endpoint.service';\nimport { SFCountry } from '../models/sf-country.model';\n\n@Injectable()\nexport class SFAccountSettingsService {\n\n // TODO: Implement country strings in language files.\n private sfCountries: SFCountry[] = [\n new SFCountry(\"Afghanistan\", \"AFG\"),\n new SFCountry(\"Åland Islands\", \"ALA\"),\n new SFCountry(\"Albania\", \"ALB\"),\n new SFCountry(\"Algeria\", \"DZA\"),\n new SFCountry(\"American Samoa\", \"ASM\"),\n new SFCountry(\"Andorra\", \"AND\"),\n new SFCountry(\"Angola\", \"AGO\"),\n new SFCountry(\"Anguilla\", \"AIA\"),\n new SFCountry(\"Antarctica\", \"ATA\"),\n new SFCountry(\"Antigua and Barbuda\", \"ATG\"),\n new SFCountry(\"Argentina\", \"ARG\"),\n new SFCountry(\"Armenia\", \"ARM\"),\n new SFCountry(\"Aruba\", \"ABW\"),\n new SFCountry(\"Australia\", \"AUS\"),\n new SFCountry(\"Austria\", \"AUT\"),\n new SFCountry(\"Azerbaijan\", \"AZE\"),\n new SFCountry(\"Bahamas\", \"BHS\"),\n new SFCountry(\"Bahrain\", \"BHR\"),\n new SFCountry(\"Bangladesh\", \"BGD\"),\n new SFCountry(\"Barbados\", \"BRB\"),\n new SFCountry(\"Belarus\", \"BLR\"),\n new SFCountry(\"Belgium\", \"BEL\"),\n new SFCountry(\"Belize\", \"BLZ\"),\n new SFCountry(\"Benin\", \"BEN\"),\n new SFCountry(\"Bermuda\", \"BMU\"),\n new SFCountry(\"Bhutan\", \"BTN\"),\n new SFCountry(\"Bolivia\", \"BOL\"),\n new SFCountry(\"Bonaire\", \"BES\"),\n new SFCountry(\"Bosnia and Herzegovina\", \"BIH\"),\n new SFCountry(\"Botswana\", \"BWA\"),\n new SFCountry(\"Bouvet Island\", \"BVT\"),\n new SFCountry(\"Brazil\", \"BRA\"),\n new SFCountry(\"British Indian Ocean Territory\", \"IOT\"),\n new SFCountry(\"Brunei Darussalam\", \"BRN\"),\n new SFCountry(\"Bulgaria\", \"BGR\"),\n new SFCountry(\"Burkina Faso\", \"BFA\"),\n new SFCountry(\"Burundi\", \"BDI\"),\n new SFCountry(\"Cambodia\", \"KHM\"),\n new SFCountry(\"Cameroon\", \"CMR\"),\n new SFCountry(\"Canada\", \"CAN\"),\n new SFCountry(\"Cape Verde\", \"CPV\"),\n new SFCountry(\"Cayman Islands\", \"CYM\"),\n new SFCountry(\"Central African Republic\", \"CAF\"),\n new SFCountry(\"Chad\", \"TCD\"),\n new SFCountry(\"Chile\", \"CHL\"),\n new SFCountry(\"China\", \"CHN\"),\n new SFCountry(\"Christmas Island\", \"CXR\"),\n new SFCountry(\"Cocos (keeling) Islands\", \"CCK\"),\n new SFCountry(\"Colombia\", \"COL\"),\n new SFCountry(\"Comoros\", \"COM\"),\n new SFCountry(\"Congo\", \"COG\"),\n new SFCountry(\"Congo, The Democratic Republic of The\", \"COD\"),\n new SFCountry(\"Cook Islands\", \"COK\"),\n new SFCountry(\"Costa Rica\", \"CRI\"),\n new SFCountry(\"Côte D'ivoire\", \"CIV\"),\n new SFCountry(\"Croatia\", \"HRV\"),\n new SFCountry(\"Cuba\", \"CUB\"),\n new SFCountry(\"Curaçao\", \"CUW\"),\n new SFCountry(\"Cyprus\", \"CYP\"),\n new SFCountry(\"Czech Republic\", \"CZE\"),\n new SFCountry(\"Denmark\", \"DNK\"),\n new SFCountry(\"Djibouti\", \"DJI\"),\n new SFCountry(\"Dominica\", \"DMA\"),\n new SFCountry(\"Dominican Republic\", \"DOM\"),\n new SFCountry(\"Ecuador\", \"ECU\"),\n new SFCountry(\"Egypt\", \"EGY\"),\n new SFCountry(\"El Salvador\", \"SLV\"),\n new SFCountry(\"Equatorial Guinea\", \"GNQ\"),\n new SFCountry(\"Eritrea\", \"ERI\"),\n new SFCountry(\"Estonia\", \"EST\"),\n new SFCountry(\"Ethiopia\", \"ETH\"),\n new SFCountry(\"Falkland Islands (malvinas)\", \"FLK\"),\n new SFCountry(\"Faroe Islands\", \"FRO\"),\n new SFCountry(\"Fiji\", \"FJI\"),\n new SFCountry(\"Finland\", \"FIN\"),\n new SFCountry(\"France\", \"FRA\"),\n new SFCountry(\"French Guiana\", \"GUF\"),\n new SFCountry(\"French Polynesia\", \"PYF\"),\n new SFCountry(\"French Southern Territories\", \"ATF\"),\n new SFCountry(\"Gabon\", \"GAB\"),\n new SFCountry(\"Gambia\", \"GMB\"),\n new SFCountry(\"Georgia\", \"GEO\"),\n new SFCountry(\"Germany\", \"DEU\"),\n new SFCountry(\"Ghana\", \"GHA\"),\n new SFCountry(\"Gibraltar\", \"GIB\"),\n new SFCountry(\"Greece\", \"GRC\"),\n new SFCountry(\"Greenland\", \"GRL\"),\n new SFCountry(\"Grenada\", \"GRD\"),\n new SFCountry(\"Guadeloupe\", \"GLP\"),\n new SFCountry(\"Guam\", \"GUM\"),\n new SFCountry(\"Guatemala\", \"GTM\"),\n new SFCountry(\"Guernsey\", \"GGY\"),\n new SFCountry(\"Guinea\", \"GIN\"),\n new SFCountry(\"Guinea-bissau\", \"GNB\"),\n new SFCountry(\"Guyana\", \"GUY\"),\n new SFCountry(\"Haiti\", \"HTI\"),\n new SFCountry(\"Heard Island and Mcdonald Islands\", \"HMD\"),\n new SFCountry(\"Holy See (vatican City State)\", \"VAT\"),\n new SFCountry(\"Honduras\", \"HND\"),\n new SFCountry(\"Hong Kong\", \"HKG\"),\n new SFCountry(\"Hungary\", \"HUN\"),\n new SFCountry(\"Iceland\", \"ISL\"),\n new SFCountry(\"India\", \"IND\"),\n new SFCountry(\"Indonesia\", \"IDN\"),\n new SFCountry(\"Iran, Islamic Republic of\", \"IRN\"),\n new SFCountry(\"Iraq\", \"IRQ\"),\n new SFCountry(\"Ireland\", \"IRL\"),\n new SFCountry(\"Isle of Man\", \"IMN\"),\n new SFCountry(\"Israel\", \"ISR\"),\n new SFCountry(\"Italy\", \"ITA\"),\n new SFCountry(\"Jamaica\", \"JAM\"),\n new SFCountry(\"Japan\", \"JPN\"),\n new SFCountry(\"Jersey\", \"JEY\"),\n new SFCountry(\"Jordan\", \"JOR\"),\n new SFCountry(\"Kazakhstan\", \"KAZ\"),\n new SFCountry(\"Kenya\", \"KEN\"),\n new SFCountry(\"Kiribati\", \"KIR\"),\n new SFCountry(\"Korea, Democratic People's Republic of\", \"PRK\"),\n new SFCountry(\"Korea, Republic of\", \"KOR\"),\n new SFCountry(\"Kosovo\", \"XKX\"),\n new SFCountry(\"Kuwait\", \"KWT\"),\n new SFCountry(\"Kyrgyzstan\", \"KGZ\"),\n new SFCountry(\"Lao People's Democratic Republic\", \"LAO\"),\n new SFCountry(\"Latvia\", \"LVA\"),\n new SFCountry(\"Lebanon\", \"LBN\"),\n new SFCountry(\"Lesotho\", \"LSO\"),\n new SFCountry(\"Liberia\", \"LBR\"),\n new SFCountry(\"Libya\", \"LBY\"),\n new SFCountry(\"Liechtenstein\", \"LIE\"),\n new SFCountry(\"Lithuania\", \"LTU\"),\n new SFCountry(\"Luxembourg\", \"LUX\"),\n new SFCountry(\"Macao\", \"MAC\"),\n new SFCountry(\"Macedonia, The Former Yugoslav Republic of\", \"MKD\"),\n new SFCountry(\"Madagascar\", \"MDG\"),\n new SFCountry(\"Malawi\", \"MWI\"),\n new SFCountry(\"Malaysia\", \"MYS\"),\n new SFCountry(\"Maldives\", \"MDV\"),\n new SFCountry(\"Mali\", \"MLI\"),\n new SFCountry(\"Malta\", \"MLT\"),\n new SFCountry(\"Marshall Islands\", \"MHL\"),\n new SFCountry(\"Martinique\", \"MTQ\"),\n new SFCountry(\"Mauritania\", \"MRT\"),\n new SFCountry(\"Mauritius\", \"MUS\"),\n new SFCountry(\"Mayotte\", \"MYT\"),\n new SFCountry(\"Mexico\", \"MEX\"),\n new SFCountry(\"Micronesia, Federated States of\", \"FSM\"),\n new SFCountry(\"Moldova, Republic of\", \"MDA\"),\n new SFCountry(\"Monaco\", \"MCO\"),\n new SFCountry(\"Mongolia\", \"MNG\"),\n new SFCountry(\"Montenegro\", \"MNE\"),\n new SFCountry(\"Montserrat\", \"MSR\"),\n new SFCountry(\"Morocco\", \"MAR\"),\n new SFCountry(\"Mozambique\", \"MOZ\"),\n new SFCountry(\"Myanmar\", \"MMR\"),\n new SFCountry(\"Namibia\", \"NAM\"),\n new SFCountry(\"Nauru\", \"NRU\"),\n new SFCountry(\"Nepal\", \"NPL\"),\n new SFCountry(\"Netherlands\", \"NLD\"),\n new SFCountry(\"Netherlands Antilles\", \"ANT\"),\n new SFCountry(\"New Caledonia\", \"NCL\"),\n new SFCountry(\"New Zealand\", \"NZL\"),\n new SFCountry(\"Nicaragua\", \"NIC\"),\n new SFCountry(\"Niger\", \"NER\"),\n new SFCountry(\"Nigeria\", \"NGA\"),\n new SFCountry(\"Niue\", \"NIU\"),\n new SFCountry(\"Norfolk Island\", \"NFK\"),\n new SFCountry(\"Northern Mariana Islands\", \"MNP\"),\n new SFCountry(\"Norway\", \"NOR\"),\n new SFCountry(\"Oman\", \"OMN\"),\n new SFCountry(\"Pakistan\", \"PAK\"),\n new SFCountry(\"Palau\", \"PLW\"),\n new SFCountry(\"Palestinian Territory, Occupied\", \"PSE\"),\n new SFCountry(\"Panama\", \"PAN\"),\n new SFCountry(\"Papua New Guinea\", \"PNG\"),\n new SFCountry(\"Paraguay\", \"PRY\"),\n new SFCountry(\"Peru\", \"PER\"),\n new SFCountry(\"Philippines\", \"PHL\"),\n new SFCountry(\"Pitcairn\", \"PCN\"),\n new SFCountry(\"Poland\", \"POL\"),\n new SFCountry(\"Portugal\", \"PRT\"),\n new SFCountry(\"Puerto Rico\", \"PRI\"),\n new SFCountry(\"Qatar\", \"QAT\"),\n new SFCountry(\"Réunion\", \"REU\"),\n new SFCountry(\"Romania\", \"ROU\"),\n new SFCountry(\"Russian Federation\", \"RUS\"),\n new SFCountry(\"Rwanda\", \"RWA\"),\n new SFCountry(\"Saint Barthélemy\", \"BLM\"),\n new SFCountry(\"Saint Helena\", \"SHN\"),\n new SFCountry(\"Saint Kitts and Nevis\", \"KNA\"),\n new SFCountry(\"Saint Lucia\", \"LCA\"),\n new SFCountry(\"Saint Martin (French Part)\", \"MAF\"),\n new SFCountry(\"Saint Pierre and Miquelon\", \"SPM\"),\n new SFCountry(\"Saint Vincent and The Grenadines\", \"VCT\"),\n new SFCountry(\"Samoa\", \"WSM\"),\n new SFCountry(\"San Marino\", \"SMR\"),\n new SFCountry(\"Sao Tome and Principe\", \"STP\"),\n new SFCountry(\"Saudi Arabia\", \"SAU\"),\n new SFCountry(\"Senegal\", \"SEN\"),\n new SFCountry(\"Serbia\", \"SRB\"),\n new SFCountry(\"Seychelles\", \"SYC\"),\n new SFCountry(\"Sierra Leone\", \"SLE\"),\n new SFCountry(\"Singapore\", \"SGP\"),\n new SFCountry(\"Sint Maartin (Dutch Part)\", \"SXM\"),\n new SFCountry(\"Slovakia\", \"SVK\"),\n new SFCountry(\"Slovenia\", \"SVN\"),\n new SFCountry(\"Solomon Islands\", \"SLB\"),\n new SFCountry(\"Somalia\", \"SOM\"),\n new SFCountry(\"South Africa\", \"ZAF\"),\n new SFCountry(\"South Georgia and The South Sandwich Islands\", \"SGS\"),\n new SFCountry(\"South Sudan\", \"SSD\"),\n new SFCountry(\"Spain\", \"ESP\"),\n new SFCountry(\"Sri Lanka\", \"LKA\"),\n new SFCountry(\"Sudan\", \"SDN\"),\n new SFCountry(\"Suriname\", \"SUR\"),\n new SFCountry(\"Svalbard and Jan Mayen\", \"SJM\"),\n new SFCountry(\"Swaziland\", \"SWZ\"),\n new SFCountry(\"Sweden\", \"SWE\"),\n new SFCountry(\"Switzerland\", \"CHE\"),\n new SFCountry(\"Syrian Arab Republic\", \"SYR\"),\n new SFCountry(\"Taiwan, Province of China\", \"TWN\"),\n new SFCountry(\"Tajikistan\", \"TJK\"),\n new SFCountry(\"Tanzania, United Republic of\", \"TZA\"),\n new SFCountry(\"Thailand\", \"THA\"),\n new SFCountry(\"Timor-Leste\", \"TLS\"),\n new SFCountry(\"Togo\", \"TGO\"),\n new SFCountry(\"Tokelau\", \"TKL\"),\n new SFCountry(\"Tonga\", \"TON\"),\n new SFCountry(\"Trinidad and Tobago\", \"TTO\"),\n new SFCountry(\"Tunisia\", \"TUN\"),\n new SFCountry(\"Turkey\", \"TUR\"),\n new SFCountry(\"Turkmenistan\", \"TKM\"),\n new SFCountry(\"Turks and Caicos Islands\", \"TCA\"),\n new SFCountry(\"Tuvalu\", \"TUV\"),\n new SFCountry(\"Uganda\", \"UGA\"),\n new SFCountry(\"Ukraine\", \"UKR\"),\n new SFCountry(\"United Arab Emirates\", \"ARE\"),\n new SFCountry(\"United Kingdom\", \"GBR\"),\n new SFCountry(\"United States\", \"USA\"),\n new SFCountry(\"United States Minor Outlying Islands\", \"UMI\"),\n new SFCountry(\"Uruguay\", \"URY\"),\n new SFCountry(\"Uzbekistan\", \"UZB\"),\n new SFCountry(\"Vanuatu\", \"VUT\"),\n new SFCountry(\"Venezuela, Bolivarian Republic of\", \"VEN\"),\n new SFCountry(\"Viet Nam\", \"VNM\"),\n new SFCountry(\"Virgin Islands, British\", \"VGB\"),\n new SFCountry(\"Virgin Islands, U.S.\", \"VIR\"),\n new SFCountry(\"Wallis and Futuna\", \"WLF\"),\n new SFCountry(\"Western Sahara\", \"ESH\"),\n new SFCountry(\"Yemen\", \"YEM\"),\n new SFCountry(\"Zambia\", \"ZMB\"),\n new SFCountry(\"Zimbabwe\", \"ZWE\")\n ];\n\n constructor(private router: Router, private http: HttpClient, private authService: AuthService,\n private sfAccountSettingsEndpoint: SFAccountSettingsEndpoint) { //, private translateService: TranslateService) {\n }\n\n\n // SFAccountSettings\n getSFAccountSettings() {\n return this.sfAccountSettingsEndpoint.getSFAccountSettingsEndpoint();\n }\n\n saveSFAccountSettings(sfAccountSettings: SFAccountSettings) {\n return this.sfAccountSettingsEndpoint.getSaveSFAccountSettingsEndpoint(sfAccountSettings);\n }\n\n\n // SFContacts\n getSFContacts(page?: number, pageSize?: number) {\n return this.sfAccountSettingsEndpoint.getSFContactsEndpoint(page, pageSize);\n }\n\n getSFContact(id?: number) {\n return this.sfAccountSettingsEndpoint.getSFContactEndpoint(id);\n }\n\n saveSFContact(sfContact: SFContact) {\n return this.sfAccountSettingsEndpoint.getSaveSFContactEndpoint(sfContact);\n }\n\n\n // SFCountries\n getSFCountries() {\n //return this.translateService.get('Countries');\n return this.sfCountries;\n }\n\n getSFCountry(code?: string) {\n if (!code) return new SFCountry(\"\", \"\");\n for (let sfCountry of this.sfCountries) {\n if (sfCountry.code == code) return sfCountry; //code.toUpperCase()\n }\n return new SFCountry(\"\", \"\");\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResponseBase, HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport { modelState } from '../models/ctp.interface';\nimport { ModelStateDirective } from '../directives/modelstate.directive';\n\n\n@Injectable()\nexport class Utilities {\n\n public static readonly captionAndMessageSeparator = ':';\n public static readonly noNetworkMessageCaption = 'No Network';\n public static readonly noNetworkMessageDetail = 'The server cannot be reached';\n public static readonly accessDeniedMessageCaption = 'Access Denied!';\n public static readonly accessDeniedMessageDetail = '';\n\n public static getHttpErrors(response: HttpResponseBase): string[] {\n\n const result: string[] = [];\n\n\n\n if (this.checkNoNetwork(response)) {\n result.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\n }\n else if (this.checkAccessDenied(response)) {\n result.push(`${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\n }\n\n\n const body = this.getResponseBody(response);\n\n if (body) {\n if ((typeof body === 'object' || body instanceof Object)) {\n for (const key in body) {\n if (key) {\n if (body[key] && (body[key] instanceof Array))\n result.push(body[key]);\n else\n result.push(`${body[key]}`);\n }\n }\n }\n else if ((typeof body === 'string' || body instanceof String)) {\n result.push(`${body}`);\n }\n }\n\n if (result.length == 0) {\n result.push(`${response.status}${this.captionAndMessageSeparator} ${response.statusText}`);\n }\n\n return result;\n }\n\n public static getHttpError(response: HttpResponseBase): modelState[] {\n\n const result: modelState[] = [];\n\n\n\n if (this.checkNoNetwork(response)) {\n result.push({ 'connection': [`${this.noNetworkMessageCaption}`, `${this.noNetworkMessageDetail}`] });\n }\n else if (this.checkAccessDenied(response)) {\n result.push({ 'connection': [`${this.accessDeniedMessageCaption}`, `${this.accessDeniedMessageDetail}`] });\n }\n\n const body = this.getResponseBody(response);\n\n if (body && (typeof body === 'object' || body instanceof Object)) {\n for (const key in body) {\n if (key) {\n if (body[key] && (body[key] instanceof Array))\n result.push({ [`${key}`]: body[key] });\n else\n result.push({ [`${key}`]: [`${body[key]}`] });\n }\n }\n }\n\n if (result.length == 0) {\n result.push({ 'responseCode': [`${response.status}`, `${response.statusText}`] });\n }\n\n return result;\n }\n public static getHttpResponseMessage(data: HttpResponseBase | any): string[] {\n\n const responses: string[] = [];\n\n if (data instanceof HttpResponseBase) {\n\n if (this.checkNoNetwork(data)) {\n responses.push(`${this.noNetworkMessageCaption}${this.captionAndMessageSeparator} ${this.noNetworkMessageDetail}`);\n } else {\n const responseObject = this.getResponseBody(data);\n\n if (responseObject && (typeof responseObject === 'object' || responseObject instanceof Object)) {\n\n for (const key in responseObject) {\n if (key) {\n responses.push(`${key}${this.captionAndMessageSeparator} ${responseObject[key]}`);\n } else if (responseObject[key]) {\n responses.push(responseObject[key].toString());\n }\n }\n }\n }\n\n if (!responses.length && this.getResponseBody(data)) {\n responses.push(`${data.statusText}: ${this.getResponseBody(data).toString()}`);\n }\n }\n\n if (!responses.length) {\n responses.push(data.toString());\n }\n\n if (this.checkAccessDenied(data)) {\n responses.splice(0, 0, `${this.accessDeniedMessageCaption}${this.captionAndMessageSeparator} ${this.accessDeniedMessageDetail}`);\n }\n\n\n return responses;\n }\n\n\n public static findHttpResponseMessage(messageToFind: string, data: HttpResponse | any, seachInCaptionOnly = true, includeCaptionInResult = false): string {\n\n const searchString = messageToFind.toLowerCase();\n const httpMessages = this.getHttpResponseMessage(data);\n\n for (const message of httpMessages) {\n const fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\n\n if (fullMessage.firstPart && fullMessage.firstPart.toLowerCase().indexOf(searchString) != -1) {\n return includeCaptionInResult ? message : fullMessage.secondPart || fullMessage.firstPart;\n }\n }\n\n if (!seachInCaptionOnly) {\n for (const message of httpMessages) {\n\n if (message.toLowerCase().indexOf(searchString) != -1) {\n if (includeCaptionInResult) {\n return message;\n } else {\n const fullMessage = Utilities.splitInTwo(message, this.captionAndMessageSeparator);\n return fullMessage.secondPart || fullMessage.firstPart;\n }\n }\n }\n }\n\n return null;\n }\n\n\n public static getResponseBody(response: HttpResponseBase) {\n if (response instanceof HttpResponse) {\n return response.body;\n }\n\n if (response instanceof HttpErrorResponse) {\n return response.error || response.message || response.statusText;\n }\n }\n\n\n public static checkNoNetwork(response: HttpResponseBase) {\n if (response instanceof HttpResponseBase) {\n return response.status == 0;\n }\n\n return false;\n }\n\n public static checkAccessDenied(response: HttpResponseBase) {\n if (response instanceof HttpResponseBase) {\n return response.status == 403;\n }\n\n return false;\n }\n\n public static checkNotFound(response: HttpResponseBase) {\n if (response instanceof HttpResponseBase) {\n return response.status == 404;\n }\n\n return false;\n }\n\n public static checkIsLocalHost(url: string, base?: string) {\n if (url) {\n const location = new URL(url, base);\n return location.hostname === 'localhost' || location.hostname === '127.0.0.1';\n }\n\n return false;\n }\n\n\n\n public static getQueryParamsFromString(paramString: string) {\n\n if (!paramString) {\n return null;\n }\n\n const params: { [key: string]: string } = {};\n\n for (const param of paramString.split('&')) {\n const keyValue = Utilities.splitInTwo(param, '=');\n params[keyValue.firstPart] = keyValue.secondPart;\n }\n\n return params;\n }\n\n\n public static splitInTwo(text: string, separator: string): { firstPart: string, secondPart: string } {\n const separatorIndex = text.indexOf(separator);\n\n if (separatorIndex == -1) {\n return { firstPart: text, secondPart: null };\n }\n\n const part1 = text.substr(0, separatorIndex).trim();\n const part2 = text.substr(separatorIndex + 1).trim();\n\n return { firstPart: part1, secondPart: part2 };\n }\n\n\n public static safeStringify(object) {\n\n let result: string;\n\n try {\n result = JSON.stringify(object);\n return result;\n } catch (error) {\n\n }\n\n const simpleObject = {};\n\n for (const prop in object) {\n if (!object.hasOwnProperty(prop)) {\n continue;\n }\n if (typeof (object[prop]) == 'object') {\n continue;\n }\n if (typeof (object[prop]) == 'function') {\n continue;\n }\n simpleObject[prop] = object[prop];\n }\n\n result = '[***Sanitized Object***]: ' + JSON.stringify(simpleObject);\n\n return result;\n }\n\n\n public static JSonTryParse(value: string) {\n try {\n return JSON.parse(value);\n } catch (e) {\n if (value === 'undefined') {\n return void 0;\n }\n\n return value;\n }\n }\n\n\n public static TestIsObjectEmpty(obj: any) {\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n\n return true;\n }\n\n\n public static TestIsUndefined(value: any) {\n return typeof value === 'undefined';\n //return value === undefined;\n }\n\n\n public static TestIsString(value: any) {\n return typeof value === 'string' || value instanceof String;\n }\n\n\n\n public static capitalizeFirstLetter(text: string) {\n if (text) {\n return text.charAt(0).toUpperCase() + text.slice(1);\n } else {\n return text;\n }\n }\n\n\n public static toTitleCase(text: string) {\n return text.replace(/\\w\\S*/g, (subString) => {\n return subString.charAt(0).toUpperCase() + subString.substr(1).toLowerCase();\n });\n }\n\n\n public static toLowerCase(items: string);\n public static toLowerCase(items: string[]);\n public static toLowerCase(items: any): string | string[] {\n\n if (items instanceof Array) {\n const loweredRoles: string[] = [];\n\n for (let i = 0; i < items.length; i++) {\n loweredRoles[i] = items[i].toLowerCase();\n }\n\n return loweredRoles;\n } else if (typeof items === 'string' || items instanceof String) {\n return items.toLowerCase();\n }\n }\n\n\n public static uniqueId() {\n return this.randomNumber(1000000, 9000000).toString();\n }\n\n\n public static randomNumber(min: number, max: number) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n\n\n public static baseUrl() {\n let base = '';\n\n if (window.location.origin) {\n base = window.location.origin;\n } else {\n base = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');\n }\n\n return base.replace(/\\/$/, '');\n }\n\n\n public static printDateOnly(date: Date) {\n\n date = new Date(date);\n\n const dayNames = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');\n const monthNames = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');\n\n const dayOfWeek = date.getDay();\n const dayOfMonth = date.getDate();\n let sup = '';\n const month = date.getMonth();\n const year = date.getFullYear();\n\n if (dayOfMonth == 1 || dayOfMonth == 21 || dayOfMonth == 31) {\n sup = 'st';\n } else if (dayOfMonth == 2 || dayOfMonth == 22) {\n sup = 'nd';\n } else if (dayOfMonth == 3 || dayOfMonth == 23) {\n sup = 'rd';\n } else {\n sup = 'th';\n }\n\n const dateString = dayNames[dayOfWeek] + ', ' + dayOfMonth + sup + ' ' + monthNames[month] + ' ' + year;\n\n return dateString;\n }\n\n public static printTimeOnly(date: Date) {\n\n date = new Date(date);\n\n let period = '';\n let minute = date.getMinutes().toString();\n let hour = date.getHours();\n\n period = hour < 12 ? 'AM' : 'PM';\n\n if (hour == 0) {\n hour = 12;\n }\n if (hour > 12) {\n hour = hour - 12;\n }\n\n if (minute.length == 1) {\n minute = '0' + minute;\n }\n\n const timeString = hour + ':' + minute + ' ' + period;\n\n\n return timeString;\n }\n\n public static printDate(date: Date, separator = 'at') {\n return `${Utilities.printDateOnly(date)} ${separator} ${Utilities.printTimeOnly(date)}`;\n }\n\n\n public static printFriendlyDate(date: Date, separator = '-') {\n const today = new Date(); today.setHours(0, 0, 0, 0);\n const yesterday = new Date(today); yesterday.setDate(yesterday.getDate() - 1);\n const test = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n\n if (test.toDateString() == today.toDateString()) {\n return `Today ${separator} ${Utilities.printTimeOnly(date)}`;\n }\n if (test.toDateString() == yesterday.toDateString()) {\n return `Yesterday ${separator} ${Utilities.printTimeOnly(date)}`;\n } else {\n return Utilities.printDate(date, separator);\n }\n }\n\n public static printShortDate(date: Date, separator = '/', dateTimeSeparator = '-') {\n\n let day = date.getDate().toString();\n let month = (date.getMonth() + 1).toString();\n const year = date.getFullYear();\n\n if (day.length == 1) {\n day = '0' + day;\n }\n\n if (month.length == 1) {\n month = '0' + month;\n }\n\n return `${month}${separator}${day}${separator}${year} ${dateTimeSeparator} ${Utilities.printTimeOnly(date)}`;\n }\n\n\n public static parseDate(date) {\n\n if (date) {\n\n if (date instanceof Date) {\n return date;\n }\n\n if (typeof date === 'string' || date instanceof String) {\n if (date.search(/[a-su-z+]/i) == -1) {\n date = date + 'Z';\n }\n\n return new Date(date);\n }\n\n if (typeof date === 'number' || date instanceof Number) {\n return new Date(date);\n }\n }\n }\n\n\n\n public static printDuration(start: Date, end: Date) {\n\n start = new Date(start);\n end = new Date(end);\n\n // get total seconds between the times\n let delta = Math.abs(start.valueOf() - end.valueOf()) / 1000;\n\n // calculate (and subtract) whole days\n const days = Math.floor(delta / 86400);\n delta -= days * 86400;\n\n // calculate (and subtract) whole hours\n const hours = Math.floor(delta / 3600) % 24;\n delta -= hours * 3600;\n\n // calculate (and subtract) whole minutes\n const minutes = Math.floor(delta / 60) % 60;\n delta -= minutes * 60;\n\n // what's left is seconds\n const seconds = delta % 60; // in theory the modulus is not required\n\n\n let printedDays = '';\n\n if (days) {\n printedDays = `${days} days`;\n }\n\n if (hours) {\n printedDays += printedDays ? `, ${hours} hours` : `${hours} hours`;\n }\n\n if (minutes) {\n printedDays += printedDays ? `, ${minutes} minutes` : `${minutes} minutes`;\n }\n\n if (seconds) {\n printedDays += printedDays ? ` and ${seconds} seconds` : `${seconds} seconds`;\n }\n\n\n if (!printedDays) {\n printedDays = '0';\n }\n\n return printedDays;\n }\n\n\n public static getAge(birthDate, otherDate) {\n birthDate = new Date(birthDate);\n otherDate = new Date(otherDate);\n\n let years = (otherDate.getFullYear() - birthDate.getFullYear());\n\n if (otherDate.getMonth() < birthDate.getMonth() ||\n otherDate.getMonth() == birthDate.getMonth() && otherDate.getDate() < birthDate.getDate()) {\n years--;\n }\n\n return years;\n }\n\n\n public static searchArray(searchTerm: string, caseSensitive: boolean, ...values: any[]) {\n\n if (!searchTerm) {\n return true;\n }\n\n\n if (!caseSensitive) {\n searchTerm = searchTerm.toLowerCase();\n }\n\n for (const value of values) {\n\n if (value != null) {\n let strValue = value.toString();\n\n if (!caseSensitive) {\n strValue = strValue.toLowerCase();\n }\n\n if (strValue.indexOf(searchTerm) !== -1) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n\n public static moveArrayItem(array: any[], oldIndex, newIndex) {\n try {\n while (oldIndex < 0) {\n oldIndex += array.length;\n }\n while (newIndex < 0) {\n newIndex += array.length;\n }\n if (newIndex >= array.length) {\n let k = newIndex - array.length;\n while ((k--) + 1) {\n array.push(undefined);\n }\n }\n array.splice(newIndex, 0, array.splice(oldIndex, 1)[0]);\n }\n catch (e) {\n throw Error(this.getErrorString(e, 'Utilities.moveArrayItem'));\n }\n }\n\n\n public static getErrorString(e: any, methodName: string = '') {\n let msg: string = '';\n if (methodName) msg = methodName + ': ';\n if (e instanceof Error) {\n msg += e.message;\n }\n else if (typeof e === 'string' || e instanceof String) {\n msg += e.toString();\n }\n else if (typeof e === 'number' || e instanceof Number) {\n msg += e.toString();\n }\n else if (typeof e === 'boolean' || e instanceof Boolean) {\n msg += e.toString();\n }\n else {\n msg += e.toString();\n }\n return msg;\n }\n\n\n public static expandCamelCase(text: string) {\n\n if (!text) {\n return text;\n }\n\n return text.replace(/([A-Z][a-z]+)/g, ' $1')\n .replace(/([A-Z][A-Z]+)/g, ' $1')\n .replace(/([^A-Za-z ]+)/g, ' $1');\n }\n\n\n public static testIsAbsoluteUrl(url: string) {\n\n const r = new RegExp('^(?:[a-z]+:)?//', 'i');\n return r.test(url);\n }\n\n\n public static convertToAbsoluteUrl(url: string) {\n\n return Utilities.testIsAbsoluteUrl(url) ? url : '//' + url;\n }\n\n\n\n public static removeNulls(obj) {\n const isArray = obj instanceof Array;\n\n for (const k in obj) {\n if (obj[k] === null) {\n isArray ? obj.splice(k, 1) : delete obj[k];\n } else if (typeof obj[k] == 'object') {\n Utilities.removeNulls(obj[k]);\n }\n\n if (isArray && obj.length == k) {\n Utilities.removeNulls(obj);\n }\n }\n\n return obj;\n }\n\n\n public static debounce(func: (...args) => any, wait: number, immediate?: boolean) {\n let timeout;\n\n return function () {\n const context = this;\n const args_ = arguments;\n\n const later = function () {\n timeout = null;\n if (!immediate) {\n func.apply(context, args_);\n }\n };\n\n const callNow = immediate && !timeout;\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n func.apply(context, args_);\n }\n };\n }\n\n\n\n public static cookies = {\n getItem: (sKey) => {\n return decodeURIComponent(document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n },\n setItem: (sKey, sValue, vEnd, sPath, sDomain, bSecure) => {\n if (!sKey || /^(?:expires|max\\-age|path|domain|secure)$/i.test(sKey)) {\n return false;\n }\n\n let sExpires = '';\n\n if (vEnd) {\n switch (vEnd.constructor) {\n case Number:\n sExpires = vEnd === Infinity ? '; expires=Fri, 31 Dec 9999 23:59:59 GMT' : '; max-age=' + vEnd;\n break;\n case String:\n sExpires = '; expires=' + vEnd;\n break;\n case Date:\n sExpires = '; expires=' + vEnd.toUTCString();\n break;\n }\n }\n\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue) + sExpires + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '') + (bSecure ? '; secure' : '');\n return true;\n },\n removeItem: (sKey, sPath, sDomain) => {\n if (!sKey) {\n return false;\n }\n document.cookie = encodeURIComponent(sKey) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT' + (sDomain ? '; domain=' + sDomain : '') + (sPath ? '; path=' + sPath : '');\n return true;\n },\n hasItem: (sKey) => {\n return (new RegExp('(?:^|;\\\\s*)' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=')).test(document.cookie);\n },\n keys: () => {\n const aKeys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, '').split(/\\s*(?:\\=[^;]*)?;\\s*/);\n for (let nIdx = 0; nIdx < aKeys.length; nIdx++) { aKeys[nIdx] = decodeURIComponent(aKeys[nIdx]); }\n return aKeys;\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 baseUrl: null, //Change this to the address of your backend API if different from frontend address\n loginUrl: \"/Login\"\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\n];\n\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"sourceRoot":""}