ngx-gem-spaas
Version:
This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.
38 lines • 4.61 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../_services/embed-mode.service";
import * as i2 from "@angular/router";
export class EmbeddedOnlyGuard {
constructor(embedModeService, router) {
this.embedModeService = embedModeService;
this.router = router;
}
isIframe() {
const isIframe = this.embedModeService.getEmbedMode().isIframe();
if (!isIframe) {
// set default url to "home". If "home" does not exist, router will fall back to redirect config
return this.router.parseUrl('/home');
}
return isIframe;
}
// CAN LOAD: FOR FEATURE MODULES SECURITY
canLoad(route) {
return this.isIframe();
}
// CAN ACTIVATE: FOR ROUTES SECURITY
canActivate(route, state) {
return this.isIframe();
}
canActivateChild(route, state) {
return this.canActivate(route, state);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbeddedOnlyGuard, deps: [{ token: i1.EmbedModeService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbeddedOnlyGuard, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbeddedOnlyGuard, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.EmbedModeService }, { type: i2.Router }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWQtb25seS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1nZW0tc3BhYXMvc3JjL19ndWFyZHMvZW1iZWRkZWQtb25seS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBTXpDLE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDVSxnQkFBa0MsRUFDbEMsTUFBYztRQURkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4QixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxnR0FBZ0c7WUFDaEcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxPQUFPLENBQUMsS0FBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0E3QlUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlLCBSb3V0ZXIsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0VtYmVkTW9kZVNlcnZpY2V9IGZyb20gXCIuLi9fc2VydmljZXMvZW1iZWQtbW9kZS5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbWJlZGRlZE9ubHlHdWFyZCAge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZW1iZWRNb2RlU2VydmljZTogRW1iZWRNb2RlU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSWZyYW1lKCk6IGJvb2xlYW4gfCBVcmxUcmVlIHtcclxuICAgIGNvbnN0IGlzSWZyYW1lID0gdGhpcy5lbWJlZE1vZGVTZXJ2aWNlLmdldEVtYmVkTW9kZSgpLmlzSWZyYW1lKCk7XHJcbiAgICBpZiAoIWlzSWZyYW1lKSB7XHJcbiAgICAgIC8vIHNldCBkZWZhdWx0IHVybCB0byBcImhvbWVcIi4gSWYgXCJob21lXCIgZG9lcyBub3QgZXhpc3QsIHJvdXRlciB3aWxsIGZhbGwgYmFjayB0byByZWRpcmVjdCBjb25maWdcclxuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLnBhcnNlVXJsKCcvaG9tZScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSWZyYW1lO1xyXG4gIH1cclxuXHJcbiAgLy8gQ0FOIExPQUQ6IEZPUiBGRUFUVVJFIE1PRFVMRVMgU0VDVVJJVFlcclxuICBjYW5Mb2FkKHJvdXRlOiBSb3V0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNJZnJhbWUoKTtcclxuICB9XHJcblxyXG4gIC8vIENBTiBBQ1RJVkFURTogRk9SIFJPVVRFUyBTRUNVUklUWVxyXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNJZnJhbWUoKTtcclxuICB9XHJcblxyXG4gIGNhbkFjdGl2YXRlQ2hpbGQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XHJcbiAgICByZXR1cm4gdGhpcy5jYW5BY3RpdmF0ZShyb3V0ZSwgc3RhdGUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19