flexacore-ui-dev
Version:
Universal UI Framework for CDN, React, Angular, Vue, Svelte with TypeScript support
47 lines (46 loc) • 1.52 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseComponent = exports.ComponentManagerPlugin = void 0;
class ComponentManagerPlugin {
constructor() {
this.name = 'component-manager';
this.version = '2.0.0';
this.components = new Map();
this.engine = null;
}
init(engine) {
this.engine = engine;
// Không auto DOM, chỉ cung cấp API universal
}
registerComponent(name, def) {
var _a, _b;
this.components.set(name, def);
(_b = (_a = this.engine) === null || _a === void 0 ? void 0 : _a.log) === null || _b === void 0 ? void 0 : _b.call(_a, `Component "${name}" registered`);
}
getComponent(name) {
return this.components.get(name);
}
getAllComponents() {
return Array.from(this.components.entries());
}
getAPI() {
return {
registerComponent: this.registerComponent.bind(this),
getComponent: this.getComponent.bind(this),
getAllComponents: this.getAllComponents.bind(this)
};
}
}
exports.ComponentManagerPlugin = ComponentManagerPlugin;
// BaseComponent universal (không phụ thuộc DOM)
class BaseComponent {
constructor(options, engine) {
this.initialized = false;
this.options = options;
this.engine = engine;
this.init();
}
init() { this.initialized = true; }
destroy() { this.initialized = false; }
}
exports.BaseComponent = BaseComponent;