Nascent Plasticine Materialist

    windowmanager

    0.14.8 • Public • Published

    windowmanager.js

    NPM Status Build Status devDependencies Status
    A framework to manage multiple dockable HTML windows.
    This extension is designed to support multiple different different encapsulation runtimes.
    See API Documentation for more information.

    Runtimes supported:

    Future runtimes:

    Examples

    You can see a live demo at Eikos Partners Blotter Demonstration.
    An open source example can be found at: https://github.com/aesalazar/windowmanagerjsdemo
    A basic example to get started:

    // Create a new window:
    let childWindow = new windowmanager.Window({
        url: "child.html", // Loads "child.html" based on the current window's url.
        width: 500,
        height: 500
    });
     
    // Execute code when window is ready for commands:
    childWindow.onReady(() => {
        childWindow.focus(); // Set focus to childWindow.
    });
     
    // Use the layout manager.
    let state = {
        width: 400, 
        height: 400,
        url: 'child.html',
        title: 'Child Window',
        frame: false 
    };
     
    let configs = [state, state, state];
     
    let layout = new windowmanager.Layout('tabbed', 'layout-div', configs);

    Installation - NPM package / express server

    npm install --save windowmanager

    Loading the package via require in node only gives you access to the script paths to make it easier to serve up the script:

    const windowmanager = require('windowmanager');
    ...
    // Start windowmanager in this node instance:
    windowmanager.start({
        // Optionally override the windowmanager package.json options for Electron's runtime:
        endpoint: "http://localhost:5000/",      // The starting window's page location
        config: "http://localhost:5000/app.json" // Where the OpenFin/Electron app.json startup file is
    });
    ...
    // Set up to access windowmanager debug, minified and map scripts via root url:
    // Will give access to windowmanager through: example.com/windowmanager.js
    app.use('/', express.static(windowmanager.distPath, { index: false }));
     
    // Set up access to windowmanager.js via get:
    app.get('/js/windowmanager.js', function (req, res) {
        res.sendFile(windowmanager.debug.scriptPath);
    });
    app.get('/js/windowmanager.min.js', function (req, res) {
        res.sendFile(windowmanager.min.scriptPath);
    });

    Installation - dist script

    Manually download either one of the following scripts from the dist folder (which contains the latest nightly version), and add it to your application.
    NOTE: Bundling or compiling with babelify will break the script.

    Example installation with dist script and webpack

    • Download dist script
    • Put in its own folder in root directory
    • in webpack config, under your module: rules: test: /\.js$/, make sure to exclude:/folderName/
    • npm install copy-webpack-plugin and
    • in webpack config, import const CopyWebpackPlugin = require('copy-webpack-plugin')
    • under plugins include
        new CopyWebpackPlugin([
          {from:'folderName',to:'folderName'} 
        ]),    
    
    • in your entry point html page, include <script src="./folderName/windowmanager.js></script>

    Install

    npm i windowmanager

    DownloadsWeekly Downloads

    7

    Version

    0.14.8

    License

    MIT

    Unpacked Size

    3.93 MB

    Total Files

    88

    Last publish

    Collaborators

    • zdonato
    • lshapz
    • dillonu