koui
Version:
Knockout UI widgets to help Knockout app development
36 lines (35 loc) • 1.18 kB
TypeScript
import * as ko from "knockout";
export interface DraggableOptions {
container?: ko.MaybeSubscribable<string>;
isEnabled?: ko.MaybeSubscribable<boolean>;
left: ko.Observable<number>;
top: ko.Observable<number>;
dragStart?: (vm: any) => any;
dragEnd?: (vm: any) => any;
}
export declare class Draggable {
viewModel: any;
private isInitialized;
private $element;
private container;
isEnabled: ko.MaybeSubscribable<boolean>;
left: ko.Observable<number>;
top: ko.Observable<number>;
dragStart: (vm: any) => any;
dragEnd: (vm: any) => any;
constructor(options: DraggableOptions, element: HTMLElement, viewModel: any);
enable(): void;
disable(): void;
private isEnabledChanged(enabled);
private onMouseDown(e);
private onMouseUp();
private onMouseMove(e);
}
declare module "knockout" {
interface BindingHandlers {
draggable: {
init(element: HTMLElement, valueAccessor: () => any, allBindingsAccessor: AllBindingsAccessor, viewModel: any): void;
update(element: HTMLElement, valueAccessor: () => any): void;
};
}
}