ngx-gem-spaas
Version:
This library contains services, components, images and styles to provide a unified look and way-of-working throughout GEM SPaaS.
31 lines (30 loc) • 1.54 kB
TypeScript
import { Observable } from 'rxjs';
import { PostMessageModel } from "../_models/post-message.model";
import { ThemeService } from "./theme.service";
import { SettingsService } from "./settings.service";
import { EmbedModeService } from "./embed-mode.service";
import * as i0 from "@angular/core";
export declare class PostMessageService {
private embedModeService;
private settingsService;
private themeService;
constructor(embedModeService: EmbedModeService, settingsService: SettingsService, themeService: ThemeService);
private onEmbedMode;
private startListening;
/**
* When you've embedded a SPaaS app using an iframe, you can use this method to listen to
* the messages it will post. Some messages are automatically processed, check the doc.
*/
listenToPostMessages(): Observable<PostMessageModel>;
/**
* When you've embedded a SPaaS app in an iframe and want to reply to some messages it will post,
* you can use this method to do so.
*
* @param source the MessageEventSource of the iframe. You can retrieve its source by using
* '@ViewChild('your_iframe_div') iframeDiv: ElementRef;' and then get 'this.iframeDiv.nativeElement.contentWindow'
* @param msg the actual message to send to the child app in the iframe
*/
postMessage(source: MessageEventSource | Window | null, msg: PostMessageModel): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PostMessageService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<PostMessageService>;
}