maction.d.ts 1.3 KB

123456789101112131415161718192021222324252627282930
  1. import { AnyWrapper, WrapperConstructor, Constructor, AnyWrapperClass } from '../Wrapper.js';
  2. export declare type ActionData = {
  3. [name: string]: any;
  4. };
  5. export declare type ActionHandler<W extends AnyWrapper> = (node: W, data?: ActionData) => void;
  6. export declare type ActionPair<W extends AnyWrapper> = [ActionHandler<W>, ActionData];
  7. export declare type ActionMap<W extends AnyWrapper> = Map<string, ActionPair<W>>;
  8. export declare type ActionDef<W extends AnyWrapper> = [string, [ActionHandler<W>, ActionData]];
  9. export declare type EventHandler = (event: Event) => void;
  10. export declare const TooltipData: {
  11. dx: string;
  12. dy: string;
  13. postDelay: number;
  14. clearDelay: number;
  15. hoverTimer: Map<any, number>;
  16. clearTimer: Map<any, number>;
  17. stopTimers: (node: any, data: ActionData) => void;
  18. };
  19. export interface CommonMaction<W extends AnyWrapper> extends AnyWrapper {
  20. action: ActionHandler<W>;
  21. data: ActionData;
  22. dx: number;
  23. dy: number;
  24. readonly selected: W;
  25. }
  26. export interface CommonMactionClass<W extends AnyWrapper> extends AnyWrapperClass {
  27. actions: ActionMap<W>;
  28. }
  29. export declare type MactionConstructor<W extends AnyWrapper> = Constructor<CommonMaction<W>>;
  30. export declare function CommonMactionMixin<W extends AnyWrapper, T extends WrapperConstructor>(Base: T): MactionConstructor<W> & T;