LANCommander/LANCommander.UI/Components/SplitPane/SplitPane.ts
2025-09-06 13:09:47 -05:00

29 lines
No EOL
761 B
TypeScript

import Split from 'split.js'
export class SplitPane {
SplitPanes: HTMLElement[] = [];
Init(paneId: string) {
let splitPane = document.querySelector<HTMLElement>(`#split-pane-${paneId}`);
if (splitPane != null) {
let panes = Array.from(splitPane.querySelectorAll<HTMLElement>('.pane'));
let opts = new SplitPaneOptions();
for (let pane of panes) {
let size = parseInt(pane.getAttribute('data-size'));
if (isNaN(size))
opts.sizes.push(0);
else
opts.sizes.push(size);
}
Split(panes, opts);
}
}
}
class SplitPaneOptions implements Split.Options {
sizes: number[] = [];
}