Files
lms-frontend/src/components/Widget.ts
2025-04-08 00:05:15 +08:00

26 lines
671 B
TypeScript

// components/Widget.ts
import { createElement } from '../utils/utils';
export abstract class Widget {
protected container: HTMLElement;
protected sizeType: 'default' | 'icon';
constructor(sizeType: 'default' | 'icon' = 'default') {
this.container = createElement('div');
this.container.classList.add('widget');
this.sizeType = sizeType;
if (sizeType === 'icon') {
this.container.classList.add('icon-widget');
}
}
abstract render(): HTMLElement;
getSizeType(): 'default' | 'icon' {
return this.sizeType;
}
getContainer(): HTMLElement {
return this.container;
}
}