OpenC3/cosmos

View on GitHub
openc3/templates/tool_angular/src/main.single-spa.ts

Summary

Maintainability
A
0 mins
Test Coverage
import 'zone.js/dist/zone'

import { enableProdMode, NgZone } from '@angular/core';

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { Router, NavigationStart } from '@angular/router';

import { singleSpaAngular, getSingleSpaExtraProviders } from 'single-spa-angular';


import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
import { singleSpaPropsSubject } from './single-spa/single-spa-props';

if (environment.production) {
  enableProdMode();
}

const lifecycles = singleSpaAngular({
  bootstrapFunction: singleSpaProps => {
    singleSpaPropsSubject.next(singleSpaProps);
    return platformBrowserDynamic(getSingleSpaExtraProviders()).bootstrapModule(AppModule);
  },
  template: '<openc3-tool-<%= tool_name %>-root />',
  Router,
  NavigationStart,
  NgZone,
  domElementGetter: function() {
    let elem = document.getElementById("openc3-tool")
    if (elem) {
      return elem
    } else {
      return new HTMLElement()
    }
  },
});

export const bootstrap = lifecycles.bootstrap;
export const mount = lifecycles.mount;
export const unmount = lifecycles.unmount;