Windowmanagerjs
A framework to manage multiple dockable HTML windows.
Install / Use
/learn @EikosPartners/WindowmanagerjsREADME
windowmanager.js
<br>
A framework to manage multiple dockable HTML windows.<br>
This extension is designed to support multiple different different encapsulation runtimes.<br>
See API Documentation for more information.
Runtimes supported:
Future runtimes:
Examples
You can see a live demo at Eikos Partners Blotter Demonstration.<br> An open source example can be found at: https://github.com/aesalazar/windowmanagerjsdemo<br> 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.<br> <b>NOTE:</b> 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 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>
Related Skills
node-connect
334.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.3kCommit, push, and open a PR
