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:
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);npm install --save windowmanagerLoading 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);
});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.
- Download dist script
 - Put in its own folder in root directory
 - in webpack config, under your 
module:rules:test: /\.js$/,make sure toexclude:/folderName/ - npm install 
copy-webpack-pluginand - 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>