nakedobjects.spa
Version:
Single Page Application client for a Naked Objects application.
28 lines (27 loc) • 1.42 kB
TypeScript
/// <reference types="lodash" />
import { Renderer, ElementRef } from '@angular/core';
import { ISubscription } from 'rxjs/Subscription';
import { Dictionary } from 'lodash';
import { FormBuilder, AbstractControl, FormGroup } from '@angular/forms';
import { DialogViewModel } from './view-models/dialog-view-model';
import { ParameterViewModel } from './view-models/parameter-view-model';
import { FieldViewModel } from './view-models/field-view-model';
import { IDraggableViewModel } from './view-models/idraggable-view-model';
export declare function safeUnsubscribe(sub: ISubscription): void;
export declare function focus(renderer: Renderer, 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;