@nakedobjects/gemini
Version:
Single Page Application client for a Naked Objects application.
24 lines (23 loc) • 1.17 kB
TypeScript
import { ElementRef } from '@angular/core';
import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
import { DialogViewModel, FieldViewModel, IDraggableViewModel, ParameterViewModel } from '@nakedobjects/view-models';
import { Dictionary } from 'lodash';
import { SubscriptionLike as ISubscription } from 'rxjs';
export declare function safeUnsubscribe(sub?: ISubscription): void;
export declare function focus(element?: ElementRef): boolean;
export declare function createForm(dialog: DialogViewModel, formBuilder: FormBuilder): {
form: FormGroup;
dialog: DialogViewModel;
parms: Dictionary<ParameterViewModel>;
sub: ISubscription;
};
export declare function accept(droppableVm: FieldViewModel, component: {
canDrop: boolean;
}, draggableVm: IDraggableViewModel): boolean;
export declare function dropOn(draggableVm: IDraggableViewModel, droppable: FieldViewModel, component: {
canDrop: boolean;
control: AbstractControl;
}): void;
export declare function paste(event: KeyboardEvent, droppable: FieldViewModel, component: {
control: AbstractControl;
}, get: () => IDraggableViewModel | null, clear: () => void): void;