52 lines
1.6 KiB
JavaScript
52 lines
1.6 KiB
JavaScript
|
// Namespace container for toolkit classes
|
||
|
class Toolkit {
|
||
|
|
||
|
// Next numeric ID
|
||
|
static nextId = 0;
|
||
|
|
||
|
|
||
|
|
||
|
///////////////////////////// Static Methods //////////////////////////////
|
||
|
|
||
|
// Produce a synthetic Event object
|
||
|
static event(type, properties, bubbles = true) {
|
||
|
return Object.assign(
|
||
|
new Event(type, { bubbles: bubbles }),
|
||
|
properties
|
||
|
);
|
||
|
}
|
||
|
|
||
|
// Finalize an event
|
||
|
static handle(event) {
|
||
|
event.stopPropagation();
|
||
|
event.preventDefault();
|
||
|
}
|
||
|
|
||
|
// Generate a unique DOM element ID
|
||
|
static id() {
|
||
|
return "tk" + this.nextId++;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
// Register component classes
|
||
|
(await import(/**/"./Component.js" )).register(Toolkit);
|
||
|
(await import(/**/"./App.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Button.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Checkbox.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Desktop.js" )).register(Toolkit);
|
||
|
(await import(/**/"./DropDown.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Label.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Menu.js" )).register(Toolkit);
|
||
|
(await import(/**/"./MenuBar.js" )).register(Toolkit);
|
||
|
(await import(/**/"./MenuItem.js" )).register(Toolkit);
|
||
|
(await import(/**/"./ScrollBar.js" )).register(Toolkit);
|
||
|
(await import(/**/"./ScrollPane.js")).register(Toolkit);
|
||
|
(await import(/**/"./Radio.js" )).register(Toolkit);
|
||
|
(await import(/**/"./RadioGroup.js")).register(Toolkit);
|
||
|
(await import(/**/"./SplitPane.js" )).register(Toolkit);
|
||
|
(await import(/**/"./TextBox.js" )).register(Toolkit);
|
||
|
(await import(/**/"./Window.js" )).register(Toolkit);
|
||
|
|
||
|
export { Toolkit };
|