logout.component.js 6.5 KB

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