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
JavaScript
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=