switchBuffer()

in src/lib/api/event.replayer.ts [130:157]


  switchBuffer(appData: PrebootAppData) {
    appData = <PrebootAppData>(appData || {});

    const root = <ServerClientRoot>(appData.root || {});
    const serverView = root.serverNode;
    const clientView = root.clientNode;

    // if no client view or the server view is the body or client
    // and server view are the same, then don't do anything and return
    if (!clientView || !serverView || serverView === clientView || serverView.nodeName === 'BODY') {
      return;
    }

    // do a try-catch just in case something messed up
    try {
      // get the server view display mode
      const gcs = this.getWindow().getComputedStyle;
      const display = gcs(serverView).getPropertyValue('display') || 'block';

      // first remove the server view
      serverView.remove ? serverView.remove() : (serverView.style.display = 'none');

      // now add the client view
      clientView.style.display = display;
    } catch (ex) {
      console.error(ex);
    }
  }