ng-smart-on-fhir
Version:
[](https://srdc.com.tr/en)
31 lines • 6.51 kB
JavaScript
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
import * as i2 from "../../services/smart-auth.service";
export class CallbackComponent {
constructor(router, route, auth) {
this.router = router;
this.route = route;
this.auth = auth;
}
ngOnInit() {
// Subscribe to route data to decide redirection URL after successful authentication
this.route.data.subscribe(data => {
// Call authentication service to handle code/token exchange
this.auth.start().then(() => {
// redirect to specified page after the token is successfully retrieved
this.router.navigate([data['redirectTo']]);
}, (error) => {
// set error message if failed
this.error = error?.message || error?.toString() || 'Unknown error occurred.';
});
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.SmartAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CallbackComponent, selector: "sof-callback", ngImport: i0, template: "<div class=\"sof-width-100 sof-height-100 sof-light-background\" style=\"position: fixed; line-height: 100vh; text-align: center\">\r\n @if (!error) {\r\n <span class=\"sof-spinner\" style=\"vertical-align: middle\" aria-hidden=\"true\"></span> Processing Authorization...\r\n } @else {\r\n <div style=\"display: inline-block; line-height: 2em\">\r\n <i class=\"sof-text-danger sof-icon sof-icon-exclamation\" style=\"font-size: 2em\"></i>\r\n <p>{{error}}asdsadasdasd</p>\r\n </div>\r\n }\r\n</div>\r\n", styles: [""] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CallbackComponent, decorators: [{
type: Component,
args: [{ selector: 'sof-callback', template: "<div class=\"sof-width-100 sof-height-100 sof-light-background\" style=\"position: fixed; line-height: 100vh; text-align: center\">\r\n @if (!error) {\r\n <span class=\"sof-spinner\" style=\"vertical-align: middle\" aria-hidden=\"true\"></span> Processing Authorization...\r\n } @else {\r\n <div style=\"display: inline-block; line-height: 2em\">\r\n <i class=\"sof-text-danger sof-icon sof-icon-exclamation\" style=\"font-size: 2em\"></i>\r\n <p>{{error}}asdsadasdasd</p>\r\n </div>\r\n }\r\n</div>\r\n" }]
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.SmartAuthService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtb24tZmhpci9zcmMvbGliL2NvbXBvbmVudHMvY2FsbGJhY2svY2FsbGJhY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtb24tZmhpci9zcmMvbGliL2NvbXBvbmVudHMvY2FsbGJhY2svY2FsbGJhY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7OztBQVNoRCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQW9CLE1BQWMsRUFBVSxLQUFxQixFQUFVLElBQXNCO1FBQTdFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWtCO0lBQ2pHLENBQUM7SUFFRCxRQUFRO1FBQ04sb0ZBQW9GO1FBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQiw0REFBNEQ7WUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQix1RUFBdUU7Z0JBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM1QyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWCw4QkFBOEI7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUkseUJBQXlCLENBQUE7WUFDL0UsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBckJVLGlCQUFpQjttR0FBakIsaUJBQWlCLG9EQ1Q5QiwrZ0JBVUE7OzRGRERhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1NtYXJ0QXV0aFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zbWFydC1hdXRoLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLWNhbGxiYWNrJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FsbGJhY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jYWxsYmFjay5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsbGJhY2tDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKlxyXG4gICAqIEVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSBpZiBhdXRoZW50aWNhdGlvbiBmYWlsZWRcclxuICAgKi9cclxuICBlcnJvcj86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgYXV0aDogU21hcnRBdXRoU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvLyBTdWJzY3JpYmUgdG8gcm91dGUgZGF0YSB0byBkZWNpZGUgcmVkaXJlY3Rpb24gVVJMIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb25cclxuICAgIHRoaXMucm91dGUuZGF0YS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgIC8vIENhbGwgYXV0aGVudGljYXRpb24gc2VydmljZSB0byBoYW5kbGUgY29kZS90b2tlbiBleGNoYW5nZVxyXG4gICAgICB0aGlzLmF1dGguc3RhcnQoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAvLyByZWRpcmVjdCB0byBzcGVjaWZpZWQgcGFnZSBhZnRlciB0aGUgdG9rZW4gaXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZFxyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtkYXRhWydyZWRpcmVjdFRvJ11dKVxyXG4gICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAvLyBzZXQgZXJyb3IgbWVzc2FnZSBpZiBmYWlsZWRcclxuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I/Lm1lc3NhZ2UgfHwgZXJyb3I/LnRvU3RyaW5nKCkgfHwgJ1Vua25vd24gZXJyb3Igb2NjdXJyZWQuJ1xyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNvZi13aWR0aC0xMDAgc29mLWhlaWdodC0xMDAgc29mLWxpZ2h0LWJhY2tncm91bmRcIiBzdHlsZT1cInBvc2l0aW9uOiBmaXhlZDsgbGluZS1oZWlnaHQ6IDEwMHZoOyB0ZXh0LWFsaWduOiBjZW50ZXJcIj5cclxuICBAaWYgKCFlcnJvcikge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJzb2Ytc3Bpbm5lclwiIHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj4gUHJvY2Vzc2luZyBBdXRob3JpemF0aW9uLi4uXHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrOyBsaW5lLWhlaWdodDogMmVtXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwic29mLXRleHQtZGFuZ2VyIHNvZi1pY29uIHNvZi1pY29uLWV4Y2xhbWF0aW9uXCIgc3R5bGU9XCJmb250LXNpemU6IDJlbVwiPjwvaT5cclxuICAgICAgPHA+e3tlcnJvcn19YXNkc2FkYXNkYXNkPC9wPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19