1.0.12 • Published 6 years ago

@spectra/window-day-care v1.0.12

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

npm version Build Status

window-day-care

window-day-care is an npm package for easily creating pop-up windows and iframe-elements and communicating between parent and child window.

Getting started

  1. Install the npm-package.

    > npm install @spectra/window-day-care

  2. Try out this snippet

        import { injectIntoBody, openPopUp, openTab, isChildWindow, getChildWindowHost } from "@spectra/window-day-care";
    
        // make sure our document is loaded
        window.addEventListener('load', () => {
            // check if we're in a child window
            if (!isChildWindow()) { // if not...
                // lets inject an iframe into the body
                const iframe = injectIntoBody();
                // subscribe to the messages of the newly created iframe
                iframe.message$.subscribe(x => console.log(x));
                // set the iframe's location to our current application
                iframe.setLocation(window.location.href);
            } else { // if we're in a child window
                const childWindowHost = getChildWindowHost();
                // use the child window host to send a message to the parent
                childWindowHost.sendMessage('message from iframe');
            }
        });

Opening different types of windows

This library lets you open pop-ups, tabs and you can easily add iframes. They can all be added with helper-methods.

  • injectIntoBody(): ChildWindow // injects an iframe into the body
  • inject(target: HTMLElement): ChildWindow // injects an iframe into the past element
  • openTab(): ChildWindow // opens a new tab
  • openPopUp(name: string, options: PopUpOptions): ChildWindow // opens a pop-up window

After opening a child window, you can set it's location with the setLocation(url: string): Promise<void> method. This method returns a Promise-object that is resolved when the page is loaded.

1.0.12

6 years ago

1.0.11

6 years ago

1.0.10

6 years ago

1.0.9

6 years ago

1.0.8

6 years ago

1.0.7

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.0

6 years ago

1.0.1

6 years ago

0.0.2-0

6 years ago

0.2.0-0

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago

0.0.0

6 years ago