logout.component.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * @fileoverview added by tsickle
  3. * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
  4. */
  5. import { Component, Inject } from '@angular/core';
  6. import { NB_AUTH_OPTIONS, NbAuthService } from '@nebular/auth';
  7. import { Router } from '@angular/router';
  8. import { getDeepFromObject } from '@nebular/auth/helpers';
  9. import { LoginLangService } from '../login-lang.service';
  10. export class LogoutComponent {
  11. /**
  12. * @param {?} service
  13. * @param {?} langService
  14. * @param {?=} options
  15. * @param {?=} router
  16. */
  17. constructor(service, langService, options = {}, router) {
  18. this.service = service;
  19. this.langService = langService;
  20. this.options = options;
  21. this.router = router;
  22. this.redirectDelay = 0;
  23. this.strategy = '';
  24. this.redirectDelay = this.getConfigValue('forms.logout.redirectDelay');
  25. this.strategy = this.getConfigValue('forms.logout.strategy');
  26. }
  27. /**
  28. * @return {?}
  29. */
  30. ngOnInit() {
  31. this.logout(this.strategy);
  32. }
  33. /**
  34. * @param {?} strategy
  35. * @return {?}
  36. */
  37. logout(strategy) {
  38. this.service.logout(strategy).subscribe((result) => {
  39. /** @type {?} */
  40. const redirect = result.getRedirect();
  41. if (redirect) {
  42. setTimeout(() => {
  43. return this.router.navigateByUrl(redirect);
  44. }, this.redirectDelay);
  45. }
  46. });
  47. }
  48. /**
  49. * @param {?} key
  50. * @return {?}
  51. */
  52. getConfigValue(key) {
  53. return getDeepFromObject(this.options, key, null);
  54. }
  55. }
  56. LogoutComponent.decorators = [
  57. { type: Component, args: [{
  58. selector: 'auth-logout',
  59. template: "<div translate=\"\u767B\u51FA\u63D0\u793A\"></div>\r\n",
  60. styles: ["div{text-align:center}"]
  61. }] }
  62. ];
  63. /** @nocollapse */
  64. LogoutComponent.ctorParameters = () => [
  65. { type: NbAuthService },
  66. { type: LoginLangService },
  67. { type: undefined, decorators: [{ type: Inject, args: [NB_AUTH_OPTIONS,] }] },
  68. { type: Router }
  69. ];
  70. if (false) {
  71. /** @type {?} */
  72. LogoutComponent.prototype.redirectDelay;
  73. /** @type {?} */
  74. LogoutComponent.prototype.strategy;
  75. /**
  76. * @type {?}
  77. * @protected
  78. */
  79. LogoutComponent.prototype.service;
  80. /**
  81. * @type {?}
  82. * @protected
  83. */
  84. LogoutComponent.prototype.langService;
  85. /**
  86. * @type {?}
  87. * @protected
  88. */
  89. LogoutComponent.prototype.options;
  90. /**
  91. * @type {?}
  92. * @protected
  93. */
  94. LogoutComponent.prototype.router;
  95. }
  96. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2dlLWFkbWluLWF1dGgvIiwic291cmNlcyI6WyJsaWIvbG9nb3V0L2xvZ291dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWdCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPekQsTUFBTSxPQUFPLGVBQWU7Ozs7Ozs7SUFNMUIsWUFBc0IsT0FBc0IsRUFBWSxXQUE2QixFQUNoRCxVQUFVLEVBQUUsRUFDckMsTUFBYztRQUZKLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFBWSxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDaEQsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTDFCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFLWixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7O0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLFFBQWdCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTs7a0JBRXpELFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3JDLElBQUksUUFBUSxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0MsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7OztZQXBDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLGtFQUFzQzs7YUFFdkM7Ozs7WUFUdUMsYUFBYTtZQUc1QyxnQkFBZ0I7NENBY3BCLE1BQU0sU0FBQyxlQUFlO1lBaEJsQixNQUFNOzs7O0lBWWIsd0NBQWtCOztJQUNsQixtQ0FBYzs7Ozs7SUFFRixrQ0FBZ0M7Ozs7O0lBQUUsc0NBQXVDOzs7OztJQUNuRixrQ0FBK0M7Ozs7O0lBQy9DLGlDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkJfQVVUSF9PUFRJT05TLCBOYkF1dGhSZXN1bHQsIE5iQXV0aFNlcnZpY2UgfSBmcm9tICdAbmVidWxhci9hdXRoJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZ2V0RGVlcEZyb21PYmplY3QgfSBmcm9tICdAbmVidWxhci9hdXRoL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBMb2dpbkxhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9naW4tbGFuZy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXV0aC1sb2dvdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dvdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ291dC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuXHJcbiAgcmVkaXJlY3REZWxheSA9IDA7XHJcbiAgc3RyYXRlZ3kgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlcnZpY2U6IE5iQXV0aFNlcnZpY2UsIHByb3RlY3RlZCBsYW5nU2VydmljZTogTG9naW5MYW5nU2VydmljZSxcclxuICAgIEBJbmplY3QoTkJfQVVUSF9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9ucyA9IHt9LFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICB0aGlzLnJlZGlyZWN0RGVsYXkgPSB0aGlzLmdldENvbmZpZ1ZhbHVlKCdmb3Jtcy5sb2dvdXQucmVkaXJlY3REZWxheScpO1xyXG4gICAgdGhpcy5zdHJhdGVneSA9IHRoaXMuZ2V0Q29uZmlnVmFsdWUoJ2Zvcm1zLmxvZ291dC5zdHJhdGVneScpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvZ291dCh0aGlzLnN0cmF0ZWd5KTtcclxuICB9XHJcblxyXG4gIGxvZ291dChzdHJhdGVneTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UubG9nb3V0KHN0cmF0ZWd5KS5zdWJzY3JpYmUoKHJlc3VsdDogTmJBdXRoUmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBjb25zdCByZWRpcmVjdCA9IHJlc3VsdC5nZXRSZWRpcmVjdCgpO1xyXG4gICAgICBpZiAocmVkaXJlY3QpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHJlZGlyZWN0KTtcclxuICAgICAgICB9LCB0aGlzLnJlZGlyZWN0RGVsYXkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldENvbmZpZ1ZhbHVlKGtleTogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBnZXREZWVwRnJvbU9iamVjdCh0aGlzLm9wdGlvbnMsIGtleSwgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==