| 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');    }}
 |