logout.component.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. var LogoutComponent = /** @class */ (function () {
  11. function LogoutComponent(service, langService, options, router) {
  12. if (options === void 0) { options = {}; }
  13. this.service = service;
  14. this.langService = langService;
  15. this.options = options;
  16. this.router = router;
  17. this.redirectDelay = 0;
  18. this.strategy = '';
  19. this.redirectDelay = this.getConfigValue('forms.logout.redirectDelay');
  20. this.strategy = this.getConfigValue('forms.logout.strategy');
  21. }
  22. /**
  23. * @return {?}
  24. */
  25. LogoutComponent.prototype.ngOnInit = /**
  26. * @return {?}
  27. */
  28. function () {
  29. this.logout(this.strategy);
  30. };
  31. /**
  32. * @param {?} strategy
  33. * @return {?}
  34. */
  35. LogoutComponent.prototype.logout = /**
  36. * @param {?} strategy
  37. * @return {?}
  38. */
  39. function (strategy) {
  40. var _this = this;
  41. this.service.logout(strategy).subscribe(function (result) {
  42. /** @type {?} */
  43. var redirect = result.getRedirect();
  44. if (redirect) {
  45. setTimeout(function () {
  46. return _this.router.navigateByUrl(redirect);
  47. }, _this.redirectDelay);
  48. }
  49. });
  50. };
  51. /**
  52. * @param {?} key
  53. * @return {?}
  54. */
  55. LogoutComponent.prototype.getConfigValue = /**
  56. * @param {?} key
  57. * @return {?}
  58. */
  59. function (key) {
  60. return getDeepFromObject(this.options, key, null);
  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 = function () { return [
  71. { type: NbAuthService },
  72. { type: LoginLangService },
  73. { type: undefined, decorators: [{ type: Inject, args: [NB_AUTH_OPTIONS,] }] },
  74. { type: Router }
  75. ]; };
  76. return LogoutComponent;
  77. }());
  78. export { LogoutComponent };
  79. if (false) {
  80. /** @type {?} */
  81. LogoutComponent.prototype.redirectDelay;
  82. /** @type {?} */
  83. LogoutComponent.prototype.strategy;
  84. /**
  85. * @type {?}
  86. * @protected
  87. */
  88. LogoutComponent.prototype.service;
  89. /**
  90. * @type {?}
  91. * @protected
  92. */
  93. LogoutComponent.prototype.langService;
  94. /**
  95. * @type {?}
  96. * @protected
  97. */
  98. LogoutComponent.prototype.options;
  99. /**
  100. * @type {?}
  101. * @protected
  102. */
  103. LogoutComponent.prototype.router;
  104. }
  105. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2dlLWFkbWluLWF1dGgvIiwic291cmNlcyI6WyJsaWIvbG9nb3V0L2xvZ291dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWdCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQ7SUFXRSx5QkFBc0IsT0FBc0IsRUFBWSxXQUE2QixFQUNoRCxPQUFZLEVBQ3JDLE1BQWM7UUFEVyx3QkFBQSxFQUFBLFlBQVk7UUFEM0IsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUFZLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUNoRCxZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQ3JDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFMMUIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUtaLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Ozs7SUFFRCxrQ0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7OztJQUVELGdDQUFNOzs7O0lBQU4sVUFBTyxRQUFnQjtRQUF2QixpQkFVQztRQVRDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFDLE1BQW9COztnQkFFckQsUUFBUSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDckMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osVUFBVSxDQUFDO29CQUNULE9BQU8sS0FBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzdDLENBQUMsRUFBRSxLQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsd0NBQWM7Ozs7SUFBZCxVQUFlLEdBQVc7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOztnQkFwQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixrRUFBc0M7O2lCQUV2Qzs7OztnQkFUdUMsYUFBYTtnQkFHNUMsZ0JBQWdCO2dEQWNwQixNQUFNLFNBQUMsZUFBZTtnQkFoQmxCLE1BQU07O0lBeUNmLHNCQUFDO0NBQUEsQUFyQ0QsSUFxQ0M7U0FoQ1ksZUFBZTs7O0lBRzFCLHdDQUFrQjs7SUFDbEIsbUNBQWM7Ozs7O0lBRUYsa0NBQWdDOzs7OztJQUFFLHNDQUF1Qzs7Ozs7SUFDbkYsa0NBQStDOzs7OztJQUMvQyxpQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5CX0FVVEhfT1BUSU9OUywgTmJBdXRoUmVzdWx0LCBOYkF1dGhTZXJ2aWNlIH0gZnJvbSAnQG5lYnVsYXIvYXV0aCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IGdldERlZXBGcm9tT2JqZWN0IH0gZnJvbSAnQG5lYnVsYXIvYXV0aC9oZWxwZXJzJztcclxuaW1wb3J0IHsgTG9naW5MYW5nU2VydmljZSB9IGZyb20gJy4uL2xvZ2luLWxhbmcuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F1dGgtbG9nb3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9nb3V0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9sb2dvdXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nb3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblxyXG4gIHJlZGlyZWN0RGVsYXkgPSAwO1xyXG4gIHN0cmF0ZWd5ID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzZXJ2aWNlOiBOYkF1dGhTZXJ2aWNlLCBwcm90ZWN0ZWQgbGFuZ1NlcnZpY2U6IExvZ2luTGFuZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KE5CX0FVVEhfT1BUSU9OUykgcHJvdGVjdGVkIG9wdGlvbnMgPSB7fSxcclxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgdGhpcy5yZWRpcmVjdERlbGF5ID0gdGhpcy5nZXRDb25maWdWYWx1ZSgnZm9ybXMubG9nb3V0LnJlZGlyZWN0RGVsYXknKTtcclxuICAgIHRoaXMuc3RyYXRlZ3kgPSB0aGlzLmdldENvbmZpZ1ZhbHVlKCdmb3Jtcy5sb2dvdXQuc3RyYXRlZ3knKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dvdXQodGhpcy5zdHJhdGVneSk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoc3RyYXRlZ3k6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmxvZ291dChzdHJhdGVneSkuc3Vic2NyaWJlKChyZXN1bHQ6IE5iQXV0aFJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgY29uc3QgcmVkaXJlY3QgPSByZXN1bHQuZ2V0UmVkaXJlY3QoKTtcclxuICAgICAgaWYgKHJlZGlyZWN0KSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyZWRpcmVjdCk7XHJcbiAgICAgICAgfSwgdGhpcy5yZWRpcmVjdERlbGF5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb25maWdWYWx1ZShrZXk6IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gZ2V0RGVlcEZyb21PYmplY3QodGhpcy5vcHRpb25zLCBrZXksIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=