UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

43 lines 5.61 kB
import { ThemeService } from '@alauda/ui'; import { Injectable, inject } from '@angular/core'; import { TranslateService } from '../translate/public-api'; import { BaseWindowChannel } from './base-window-channel'; import { MessageType } from './utils'; import * as i0 from "@angular/core"; export class PluginWindowChannelService extends BaseWindowChannel { constructor() { super(); this.theme = inject(ThemeService); this.translate = inject(TranslateService); if (window.parent !== window) { this.init(window.parent); } } init(window) { const removeListener = super.init(window); this.listen(MessageType.ThemeChange, theme => { if (['system', 'light', 'dark'].includes(theme)) { this.theme.setThemeMode(theme); } }); this.listen(MessageType.LangChange, hostLocale => { const locale = this.translate.locales.includes(hostLocale) ? hostLocale : this.translate.fallbackLocale; if (this.translate.locale !== locale) { this.translate.setLocale(locale); } }); this.send(MessageType.PluginInitialized); return removeListener; } static { this.ɵfac = function PluginWindowChannelService_Factory(t) { return new (t || PluginWindowChannelService)(); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: PluginWindowChannelService, factory: PluginWindowChannelService.ɵfac, providedIn: 'root' }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PluginWindowChannelService, [{ type: Injectable, args: [{ providedIn: 'root', }] }], () => [], null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXdpbmRvdy1jaGFubmVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvd2luZG93LWNoYW5uZWwvcGx1Z2luLXdpbmRvdy1jaGFubmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUt0QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQWlCO0lBSS9EO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFKTyxVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdCLGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUtwRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFa0IsSUFBSSxDQUFDLE1BQWM7UUFDcEMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQWtCLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLFVBQVU7Z0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO1lBRWxDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFekMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzsyRkFsQ1UsMEJBQTBCO3VFQUExQiwwQkFBMEIsV0FBMUIsMEJBQTBCLG1CQUZ6QixNQUFNOztpRkFFUCwwQkFBMEI7Y0FIdEMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGhlbWVNb2RlLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBCYXNlV2luZG93Q2hhbm5lbCB9IGZyb20gJy4vYmFzZS13aW5kb3ctY2hhbm5lbCc7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGx1Z2luV2luZG93Q2hhbm5lbFNlcnZpY2UgZXh0ZW5kcyBCYXNlV2luZG93Q2hhbm5lbCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWUgPSBpbmplY3QoVGhlbWVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh3aW5kb3cucGFyZW50ICE9PSB3aW5kb3cpIHtcbiAgICAgIHRoaXMuaW5pdCh3aW5kb3cucGFyZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5pdCh3aW5kb3c6IFdpbmRvdykge1xuICAgIGNvbnN0IHJlbW92ZUxpc3RlbmVyID0gc3VwZXIuaW5pdCh3aW5kb3cpO1xuXG4gICAgdGhpcy5saXN0ZW4oTWVzc2FnZVR5cGUuVGhlbWVDaGFuZ2UsIHRoZW1lID0+IHtcbiAgICAgIGlmIChbJ3N5c3RlbScsICdsaWdodCcsICdkYXJrJ10uaW5jbHVkZXModGhlbWUpKSB7XG4gICAgICAgIHRoaXMudGhlbWUuc2V0VGhlbWVNb2RlKHRoZW1lIGFzIFRoZW1lTW9kZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmxpc3RlbihNZXNzYWdlVHlwZS5MYW5nQ2hhbmdlLCBob3N0TG9jYWxlID0+IHtcbiAgICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMudHJhbnNsYXRlLmxvY2FsZXMuaW5jbHVkZXMoaG9zdExvY2FsZSlcbiAgICAgICAgPyBob3N0TG9jYWxlXG4gICAgICAgIDogdGhpcy50cmFuc2xhdGUuZmFsbGJhY2tMb2NhbGU7XG5cbiAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZS5sb2NhbGUgIT09IGxvY2FsZSkge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRMb2NhbGUobG9jYWxlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2VuZChNZXNzYWdlVHlwZS5QbHVnaW5Jbml0aWFsaXplZCk7XG5cbiAgICByZXR1cm4gcmVtb3ZlTGlzdGVuZXI7XG4gIH1cbn1cbiJdfQ==