UNPKG

ngx-gem-spaas

Version:

This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.

65 lines 8 kB
import { Injectable } from '@angular/core'; import { ReplaySubject } from 'rxjs'; import { EmbedModeEnum, EmbedModeModel } from '../_models/embed-mode.model'; import * as i0 from "@angular/core"; export class EmbedModeService { constructor() { this.POST_MESSAGE_GETTHEME = 'getTheme'; this.embedMode = new EmbedModeModel(); this.embedMode$ = new ReplaySubject(1); this.embeddedWindow = null; } static getIframeParent() { const ref = document.referrer || ''; if (ref) { const url = new URL(ref); if (url.pathname !== '/') { return url.pathname.replace(/\//g, ''); } else { const subdomain = url.hostname.split('.')[0] || ''; if (!subdomain.includes('cylon')) { return subdomain; } } } return ''; } // setEmbedMode is called from the app-init.service setEmbedMode() { if (window.location !== window.parent.location) { // iframe mode this.embedMode.type = EmbedModeEnum.iframe; this.embedMode.parent = EmbedModeService.getIframeParent(); } this.newEmbedMode(); } // ******************************************************************************************************** // LOAD DATA // ******************************************************************************************************** // ******************************************************************************************************** // BROADCAST DATA // ******************************************************************************************************** newEmbedMode() { // console.log('embed mode set: ' + (this.embedMode.type || 'none')); this.embedMode$.next(this.embedMode); } onNewEmbedMode() { return this.embedMode$.asObservable(); } getEmbedMode() { return this.embedMode; } getEmbeddedWindow() { return this.embeddedWindow; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbedModeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbedModeService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmbedModeService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWQtbW9kZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdlbS1zcGFhcy9zcmMvX3NlcnZpY2VzL2VtYmVkLW1vZGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFLMUUsTUFBTSxPQUFPLGdCQUFnQjtJQUg3QjtRQUtXLDBCQUFxQixHQUFHLFVBQVUsQ0FBQztRQUVwQyxjQUFTLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNqQyxlQUFVLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBRTFELG1CQUFjLEdBQWtCLElBQUksQ0FBQztLQXFEdEM7SUFuRFMsTUFBTSxDQUFDLGVBQWU7UUFDNUIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pCLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDakMsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxZQUFZO1FBQ1YsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0MsY0FBYztZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsMkdBQTJHO0lBQzNHLFlBQVk7SUFDWiwyR0FBMkc7SUFFM0csMkdBQTJHO0lBQzNHLGlCQUFpQjtJQUNqQiwyR0FBMkc7SUFFbkcsWUFBWTtRQUNsQixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzsrR0ExRFUsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtFbWJlZE1vZGVFbnVtLCBFbWJlZE1vZGVNb2RlbH0gZnJvbSAnLi4vX21vZGVscy9lbWJlZC1tb2RlLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYmVkTW9kZVNlcnZpY2Uge1xyXG5cclxuICByZWFkb25seSBQT1NUX01FU1NBR0VfR0VUVEhFTUUgPSAnZ2V0VGhlbWUnO1xyXG5cclxuICBwcml2YXRlIGVtYmVkTW9kZSA9IG5ldyBFbWJlZE1vZGVNb2RlbCgpO1xyXG4gIHByaXZhdGUgZW1iZWRNb2RlJCA9IG5ldyBSZXBsYXlTdWJqZWN0PEVtYmVkTW9kZU1vZGVsPigxKTtcclxuXHJcbiAgZW1iZWRkZWRXaW5kb3c6IFdpbmRvdyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRJZnJhbWVQYXJlbnQoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHJlZiA9IGRvY3VtZW50LnJlZmVycmVyIHx8ICcnO1xyXG4gICAgaWYgKHJlZikge1xyXG4gICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHJlZik7XHJcbiAgICAgIGlmICh1cmwucGF0aG5hbWUgIT09ICcvJykge1xyXG4gICAgICAgIHJldHVybiB1cmwucGF0aG5hbWUucmVwbGFjZSgvXFwvL2csICcnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBzdWJkb21haW4gPSB1cmwuaG9zdG5hbWUuc3BsaXQoJy4nKVswXSB8fCAnJztcclxuICAgICAgICBpZiAoIXN1YmRvbWFpbi5pbmNsdWRlcygnY3lsb24nKSkge1xyXG4gICAgICAgICAgcmV0dXJuIHN1YmRvbWFpbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIC8vIHNldEVtYmVkTW9kZSBpcyBjYWxsZWQgZnJvbSB0aGUgYXBwLWluaXQuc2VydmljZVxyXG4gIHNldEVtYmVkTW9kZSgpOiB2b2lkIHtcclxuICAgIGlmICh3aW5kb3cubG9jYXRpb24gIT09IHdpbmRvdy5wYXJlbnQubG9jYXRpb24pIHtcclxuICAgICAgLy8gaWZyYW1lIG1vZGVcclxuICAgICAgdGhpcy5lbWJlZE1vZGUudHlwZSA9IEVtYmVkTW9kZUVudW0uaWZyYW1lO1xyXG4gICAgICB0aGlzLmVtYmVkTW9kZS5wYXJlbnQgPSBFbWJlZE1vZGVTZXJ2aWNlLmdldElmcmFtZVBhcmVudCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5uZXdFbWJlZE1vZGUoKTtcclxuICB9XHJcblxyXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgLy8gTE9BRCBEQVRBXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAvLyBCUk9BRENBU1QgREFUQVxyXG4gIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG4gIHByaXZhdGUgbmV3RW1iZWRNb2RlKCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ2VtYmVkIG1vZGUgc2V0OiAnICsgKHRoaXMuZW1iZWRNb2RlLnR5cGUgfHwgJ25vbmUnKSk7XHJcbiAgICB0aGlzLmVtYmVkTW9kZSQubmV4dCh0aGlzLmVtYmVkTW9kZSk7XHJcbiAgfVxyXG5cclxuICBvbk5ld0VtYmVkTW9kZSgpOiBPYnNlcnZhYmxlPEVtYmVkTW9kZU1vZGVsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbWJlZE1vZGUkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW1iZWRNb2RlKCk6IEVtYmVkTW9kZU1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLmVtYmVkTW9kZTtcclxuICB9XHJcblxyXG4gIGdldEVtYmVkZGVkV2luZG93KCk6IFdpbmRvdyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZW1iZWRkZWRXaW5kb3c7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=