{"version":3,"file":"app-login.min.js","sources":["app-login.min.js"],"sourcesContent":["/// \r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar zbuyer;\r\n(function (zbuyer) {\r\n var controllers;\r\n (function (controllers) {\r\n var TemplateUrl = 'staticpages/directives/greetingdirective.html';\r\n var GreetingDirectiveController = /** @class */ (function (_super) {\r\n __extends(GreetingDirectiveController, _super);\r\n function GreetingDirectiveController($scope, appConfiguration) {\r\n var _this = _super.call(this, $scope) || this;\r\n _this.$scope = $scope;\r\n _this.appConfiguration = appConfiguration;\r\n _this.initializeGreetingDirective();\r\n return _this;\r\n }\r\n GreetingDirectiveController.getDirective = function () {\r\n return {\r\n controller: GreetingDirectiveController,\r\n restrict: 'E',\r\n scope: {\r\n signup: '='\r\n },\r\n templateUrl: TemplateUrl\r\n };\r\n };\r\n GreetingDirectiveController.prototype.initializeGreetingDirective = function () {\r\n this.setGreeting();\r\n };\r\n GreetingDirectiveController.prototype.setGreeting = function () {\r\n var background = 'Login';\r\n var greeting = 'Good ';\r\n var morning = 'Morning';\r\n var afternoon = 'Afternoon';\r\n var evening = 'Evening';\r\n var hours = (new Date()).getHours();\r\n switch (true) {\r\n case (hours < 12):\r\n background += morning;\r\n greeting += morning;\r\n break;\r\n case (hours < 17):\r\n background += afternoon;\r\n greeting += afternoon;\r\n break;\r\n case (hours < 20):\r\n background += 'Early' + evening;\r\n greeting += evening;\r\n break;\r\n default:\r\n background += 'Late' + evening;\r\n greeting += evening;\r\n break;\r\n }\r\n angular.element('.greeting-holder').backstretch([this.appConfiguration.baseUrl + 'Content/Images/' + background + '.jpg']);\r\n this.$scope.greeting = this.$scope.signup ? 'Create an account' : greeting;\r\n };\r\n GreetingDirectiveController.$inject = [\r\n names.angular.Scope,\r\n names.zbuyer.AppConfiguration\r\n ];\r\n return GreetingDirectiveController;\r\n }(controllers.ControllerBase));\r\n angular.module(names.zbuyer.Application)\r\n .directive(names.zbuyer.directives.Greeting, GreetingDirectiveController.getDirective);\r\n })(controllers = zbuyer.controllers || (zbuyer.controllers = {}));\r\n})(zbuyer || (zbuyer = {}));\r\n\n/// \r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar zbuyer;\r\n(function (zbuyer) {\r\n var controllers;\r\n (function (controllers) {\r\n var TemplateUrl = 'staticpages/directives/hamburgermenudirective.html';\r\n var HamburgerMenuDirectiveController = /** @class */ (function (_super) {\r\n __extends(HamburgerMenuDirectiveController, _super);\r\n function HamburgerMenuDirectiveController($scope, $window, authenticationService) {\r\n var _this = _super.call(this, $scope) || this;\r\n _this.$scope = $scope;\r\n _this.$window = $window;\r\n _this.authenticationService = authenticationService;\r\n _this.initializeViewModel();\r\n return _this;\r\n }\r\n HamburgerMenuDirectiveController.getDirective = function () {\r\n return {\r\n controller: HamburgerMenuDirectiveController,\r\n restrict: 'E',\r\n scope: {\r\n canProspect: '=',\r\n canPreview: '=',\r\n showMoreMenuCallback: '&onShowMore',\r\n },\r\n templateUrl: TemplateUrl\r\n };\r\n };\r\n HamburgerMenuDirectiveController.prototype.checkLogin = function () {\r\n var authHeader = this.authenticationService.getAuthenticationHeader();\r\n if (authHeader !== '') {\r\n this.$scope.viewModel.loggedIntoAccount = true;\r\n this.$scope.viewModel.loginButtonText = 'Log Out';\r\n }\r\n else {\r\n this.$scope.viewModel.loggedIntoAccount = false;\r\n this.$scope.viewModel.loginButtonText = 'Log In';\r\n }\r\n };\r\n HamburgerMenuDirectiveController.prototype.initializeViewModel = function () {\r\n this.$scope.viewModel = {};\r\n this.checkLogin();\r\n };\r\n HamburgerMenuDirectiveController.prototype.logOut = function () {\r\n this.authenticationService.logout();\r\n };\r\n HamburgerMenuDirectiveController.prototype.logIn = function () {\r\n this.$window.location.href = 'account/login';\r\n };\r\n HamburgerMenuDirectiveController.$inject = [\r\n names.angular.Scope,\r\n names.angular.Window,\r\n names.zbuyer.services.AuthenticationService\r\n ];\r\n return HamburgerMenuDirectiveController;\r\n }(controllers.ControllerBase));\r\n angular.module(names.zbuyer.Application)\r\n .directive(names.zbuyer.directives.HamburgerMenu, HamburgerMenuDirectiveController.getDirective);\r\n })(controllers = zbuyer.controllers || (zbuyer.controllers = {}));\r\n})(zbuyer || (zbuyer = {}));\r\n\n/// \r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar zbuyer;\r\n(function (zbuyer) {\r\n var controllers;\r\n (function (controllers) {\r\n var EmailRegExp = /^([\\w-+\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,11}|[0-9]{1,3})(\\]?)$/;\r\n var LoginController = /** @class */ (function (_super) {\r\n __extends(LoginController, _super);\r\n function LoginController($scope, $cookies, $location, $timeout, $window, appConfiguration, accountService, appSettingsService, authenticationService, notificationService, spinWaitService) {\r\n var _this = _super.call(this, $scope) || this;\r\n _this.$scope = $scope;\r\n _this.$cookies = $cookies;\r\n _this.$location = $location;\r\n _this.$timeout = $timeout;\r\n _this.$window = $window;\r\n _this.appConfiguration = appConfiguration;\r\n _this.accountService = accountService;\r\n _this.appSettingsService = appSettingsService;\r\n _this.authenticationService = authenticationService;\r\n _this.notificationService = notificationService;\r\n _this.spinWaitService = spinWaitService;\r\n _this.$scope.emailRegExp = EmailRegExp;\r\n _this.loginKey = _this.$location.search()[names.zbuyer.queryparameters.LoginKey];\r\n if (_this.loginKey) {\r\n _this.loginWithKey();\r\n }\r\n else {\r\n _this.authenticationService.getInitialAuthPromise().then(function (alreadyAuthenticated) {\r\n if (alreadyAuthenticated) {\r\n // Already authorized: shouldn't be here\r\n _this.redirectOnAuthenticated();\r\n }\r\n else {\r\n _this.initializeLoginController();\r\n }\r\n });\r\n }\r\n return _this;\r\n }\r\n LoginController.prototype.initializeLoginController = function () {\r\n var _this = this;\r\n var result = this.$location.search()[names.zbuyer.queryparameters.Result];\r\n if (result == names.zbuyer.loginreasons.Unauthorized) {\r\n this.notificationService.info(zbuyer.messages.LoginRequired);\r\n }\r\n zbuyer.analytics.FacebookPixel.track(zbuyer.analytics.FacebookPixel.LoginPixelID, 'Login');\r\n var viewModel = this.$scope.viewModel = {};\r\n viewModel.username = this.$location.search()[names.zbuyer.queryparameters.Email];\r\n if (viewModel.username && viewModel.username.match(EmailRegExp)) {\r\n this.accountService.matchAccountEmail(viewModel.username).then(function (accountExists) {\r\n viewModel.emailConfirmed = accountExists;\r\n if (viewModel.emailConfirmed) {\r\n _this.$timeout(function () {\r\n angular.element('#password').focus();\r\n });\r\n }\r\n });\r\n }\r\n this.appSettingsService.getAppSettings().then(function (settings) {\r\n _this.$scope.viewModel.appSettings = settings;\r\n }).catch(function (err) {\r\n console.debug(err);\r\n _this.notificationService.error(zbuyer.messages.AppSettingsError, zbuyer.messages.ApplicationTitle);\r\n });\r\n };\r\n LoginController.prototype.continue = function () {\r\n var _this = this;\r\n var viewModel = this.$scope.viewModel;\r\n if (!viewModel.username) {\r\n // If the viewmodel does not contain a username, we should ensure that\r\n // the browser has not supplied them automatically and failed to update Angular\r\n var domUsername = $('[name=\"username\"]').val().toString();\r\n viewModel.username = domUsername;\r\n }\r\n if (!viewModel.username) {\r\n return;\r\n }\r\n if (!viewModel.username || this.$scope.loginSignupForm.$invalid) {\r\n this.$scope.validate = true;\r\n return;\r\n }\r\n this.$scope.validate = false;\r\n if (!viewModel.emailConfirmed) {\r\n this.accountService.matchAccountEmail(viewModel.username).then(function (accountExists) {\r\n if (accountExists) {\r\n viewModel.emailConfirmed = true;\r\n _this.$timeout(function () {\r\n angular.element('#password').focus();\r\n });\r\n }\r\n else {\r\n var signupUrl = new URL(\"signup\".concat(_this.$window.location.search), _this.appConfiguration.baseUrl);\r\n signupUrl.searchParams.set(names.zbuyer.queryparameters.Email, viewModel.username);\r\n _this.$window.location.href = signupUrl.href;\r\n }\r\n });\r\n }\r\n else {\r\n this.login();\r\n }\r\n };\r\n LoginController.prototype.emailChanged = function () {\r\n this.$scope.viewModel.emailConfirmed = null;\r\n };\r\n LoginController.prototype.login = function () {\r\n var _this = this;\r\n var viewModel = this.$scope.viewModel;\r\n if (!viewModel.username || !viewModel.password) {\r\n // If the viewmodel does not contain a username and password, we should ensure that\r\n // the browser has not supplied them automatically and failed to update Angular\r\n var domUsername = $('[name=\"username\"]').val().toString();\r\n var domPassword = $('[name=\"password\"]').val().toString();\r\n if (!domUsername || !domPassword) {\r\n this.notificationService.warning(zbuyer.messages.LoginCredentialsRequired, zbuyer.messages.LoginFailed);\r\n return;\r\n }\r\n else {\r\n viewModel.username = domUsername;\r\n viewModel.password = domPassword;\r\n }\r\n }\r\n this.spinWaitService.block(names.zbuyer.spinnermessages.LoginScreen);\r\n this.authenticationService.loginWithUserNameAndPassword(viewModel.username, viewModel.password).then(function (token) {\r\n _this.redirectOnAuthenticated();\r\n }).catch(function (reason) { return _this.notificationService.error(reason.data.error_description, zbuyer.messages.LoginFailed); })\r\n .finally(function () { return _this.spinWaitService.unblock(names.zbuyer.spinnermessages.LoginScreen); });\r\n };\r\n LoginController.prototype.loginWithKey = function () {\r\n var _this = this;\r\n var blockUiName = 'AutomaticLogin';\r\n this.spinWaitService.block(blockUiName);\r\n this.authenticationService.loginWithKey(this.loginKey).then(function (token) {\r\n // Set up auto-navigate to account home as long as a return URL was not provided along with login key\r\n if (!_this.$location.search().returnUrl && !_this.$location.search().ReturnUrl) {\r\n _this.$cookies.put(names.zbuyer.cookies.NavigateTo, names.zbuyer.navigation.AccountHome);\r\n }\r\n _this.redirectOnAuthenticated();\r\n }).catch(function (reason) {\r\n _this.notificationService.error(reason.data.error_description, zbuyer.messages.LoginFailed);\r\n _this.spinWaitService.unblock(blockUiName);\r\n });\r\n };\r\n LoginController.prototype.redirectOnAuthenticated = function () {\r\n var url = new URL('landing', this.appConfiguration.baseUrl);\r\n var returnUrl = this.$location.search().returnUrl || this.$location.search().ReturnUrl;\r\n if (returnUrl) {\r\n url.searchParams.set(names.zbuyer.queryparameters.ReturnUrl, returnUrl);\r\n }\r\n this.$window.location.replace(url.href);\r\n };\r\n LoginController.$inject = [\r\n names.angular.Scope,\r\n names.angular.Cookies,\r\n names.angular.Location,\r\n names.angular.Timeout,\r\n names.angular.Window,\r\n names.zbuyer.AppConfiguration,\r\n names.zbuyer.services.AccountService,\r\n names.zbuyer.services.AppSettingsService,\r\n names.zbuyer.services.AuthenticationService,\r\n names.zbuyer.services.NotificationService,\r\n names.zbuyer.services.SpinWaitService\r\n ];\r\n return LoginController;\r\n }(controllers.ControllerBase));\r\n angular.module(names.zbuyer.Application)\r\n .controller(names.zbuyer.controllers.LoginController, LoginController);\r\n })(controllers = zbuyer.controllers || (zbuyer.controllers = {}));\r\n})(zbuyer || (zbuyer = {}));\r\n\n/// \r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar zbuyer;\r\n(function (zbuyer) {\r\n var controllers;\r\n (function (controllers) {\r\n var NavigationController = /** @class */ (function (_super) {\r\n __extends(NavigationController, _super);\r\n function NavigationController($scope, appSettingsService, notificationService) {\r\n var _this = _super.call(this, $scope) || this;\r\n _this.$scope = $scope;\r\n _this.appSettingsService = appSettingsService;\r\n _this.notificationService = notificationService;\r\n _this.$scope.viewModel = {};\r\n _this.setAppSettings();\r\n return _this;\r\n }\r\n NavigationController.prototype.setAppSettings = function () {\r\n var _this = this;\r\n this.appSettingsService.getAppSettings().then(function (settings) {\r\n _this.$scope.viewModel.appSettings = settings;\r\n }).catch(function (err) {\r\n console.debug(err);\r\n _this.notificationService.error(zbuyer.messages.AppSettingsError, zbuyer.messages.ApplicationTitle);\r\n });\r\n };\r\n NavigationController.$inject = [\r\n names.angular.Scope,\r\n names.zbuyer.services.AppSettingsService,\r\n names.zbuyer.services.NotificationService\r\n ];\r\n return NavigationController;\r\n }(controllers.ControllerBase));\r\n angular.module(names.zbuyer.Application)\r\n .controller(names.zbuyer.controllers.NavigationController, NavigationController);\r\n })(controllers = zbuyer.controllers || (zbuyer.controllers = {}));\r\n})(zbuyer || (zbuyer = {}));\r\n\n/// \r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar zbuyer;\r\n(function (zbuyer) {\r\n var controllers;\r\n (function (controllers) {\r\n var TemplateUrl = 'staticpages/directives/sitefooterdirective.html';\r\n var SiteFooterDirectiveController = /** @class */ (function (_super) {\r\n __extends(SiteFooterDirectiveController, _super);\r\n function SiteFooterDirectiveController($scope, appSettingsService, notificationService) {\r\n var _this = _super.call(this, $scope) || this;\r\n _this.$scope = $scope;\r\n _this.appSettingsService = appSettingsService;\r\n _this.notificationService = notificationService;\r\n _this.initializeSiteFooterDirective();\r\n return _this;\r\n }\r\n SiteFooterDirectiveController.getDirective = function () {\r\n return {\r\n controller: SiteFooterDirectiveController,\r\n restrict: 'E',\r\n scope: {\r\n minimal: '='\r\n },\r\n templateUrl: TemplateUrl\r\n };\r\n };\r\n SiteFooterDirectiveController.prototype.initializeSiteFooterDirective = function () {\r\n var _this = this;\r\n this.$scope.viewModel = {};\r\n this.appSettingsService.getAppSettings().then(function (settings) {\r\n _this.$scope.viewModel = settings;\r\n }).catch(function (err) {\r\n console.debug(err);\r\n _this.notificationService.error(zbuyer.messages.AppSettingsError, zbuyer.messages.ApplicationTitle);\r\n });\r\n };\r\n SiteFooterDirectiveController.prototype.getCopyrightYear = function () {\r\n var date = new Date();\r\n return date.getFullYear().toString();\r\n };\r\n SiteFooterDirectiveController.$inject = [\r\n names.angular.Scope,\r\n names.zbuyer.services.AppSettingsService,\r\n names.zbuyer.services.NotificationService\r\n ];\r\n return SiteFooterDirectiveController;\r\n }(controllers.ControllerBase));\r\n angular.module(names.zbuyer.Application)\r\n .directive(names.zbuyer.directives.SiteFooter, SiteFooterDirectiveController.getDirective);\r\n })(controllers = zbuyer.controllers || (zbuyer.controllers = {}));\r\n})(zbuyer || (zbuyer = {}));\r\n\r\n//# sourceMappingURL=app-login.js.map\r\n"],"names":["__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","zbuyer","_super","GreetingDirectiveController","$scope","appConfiguration","_this","initializeGreetingDirective","controllers","ControllerBase","getDirective","controller","restrict","scope","signup","templateUrl","setGreeting","background","greeting","morning","afternoon","evening","hours","Date","getHours","angular","element","backstretch","baseUrl","$inject","names","Scope","AppConfiguration","module","Application","directive","directives","Greeting","HamburgerMenuDirectiveController","$window","authenticationService","initializeViewModel","canProspect","canPreview","showMoreMenuCallback","checkLogin","getAuthenticationHeader","viewModel","loggedIntoAccount","loginButtonText","logOut","logout","logIn","location","href","Window","services","AuthenticationService","HamburgerMenu","EmailRegExp","LoginController","$cookies","$location","$timeout","accountService","appSettingsService","notificationService","spinWaitService","emailRegExp","loginKey","search","queryparameters","LoginKey","loginWithKey","getInitialAuthPromise","then","alreadyAuthenticated","redirectOnAuthenticated","initializeLoginController","Result","loginreasons","Unauthorized","info","messages","LoginRequired","analytics","FacebookPixel","track","LoginPixelID","username","Email","match","matchAccountEmail","accountExists","emailConfirmed","focus","getAppSettings","settings","appSettings","catch","err","console","debug","error","AppSettingsError","ApplicationTitle","continue","domUsername","$","val","toString","loginSignupForm","$invalid","validate","login","signupUrl","URL","concat","searchParams","set","emailChanged","password","domPassword","warning","LoginCredentialsRequired","LoginFailed","block","spinnermessages","LoginScreen","loginWithUserNameAndPassword","token","reason","data","error_description","finally","unblock","blockUiName","returnUrl","ReturnUrl","put","cookies","NavigateTo","navigation","AccountHome","url","replace","Cookies","Location","Timeout","AccountService","AppSettingsService","NotificationService","SpinWaitService","NavigationController","setAppSettings","SiteFooterDirectiveController","initializeSiteFooterDirective","minimal","getCopyrightYear","getFullYear","SiteFooter"],"mappings":"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"}