1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import BaseFoundation, { DefaultAdapter } from '../base/foundation';
- export interface BasicOptionProps {
- [x: string]: any;
- value?: string | number;
- label?: string | number | unknown;
- children?: unknown;
- disabled?: boolean;
- showTick?: boolean;
- className?: string;
- style?: Record<string, any>;
- }
- export interface OptionDefaultAdapter extends Partial<DefaultAdapter> {
- notifyClick(option: BasicOptionProps): void;
- }
- export default class OptionFoundation extends BaseFoundation<OptionDefaultAdapter> {
- constructor(adapter: OptionDefaultAdapter) {
- super({ ...adapter });
- }
- // eslint-disable-next-line @typescript-eslint/no-empty-function
- init() {}
- // eslint-disable-next-line @typescript-eslint/no-empty-function
- destroy() {}
- onOptionClick(option: BasicOptionProps) {
- const isDisabled = this._isDisabled();
- if (!isDisabled) {
- this._adapter.notifyClick(option);
- }
- }
- _isDisabled() {
- return this.getProp('disabled');
- }
- }
|