UNPKG

nakedobjects.spa

Version:

Single Page Application client for a Naked Objects application.

70 lines (69 loc) 3.29 kB
/// <reference types="lodash" /> import { AutoCompleteComponent } from '../auto-complete/auto-complete.component'; import * as Models from '../models'; import { AbstractControl } from '@angular/forms'; import { FormGroup } from '@angular/forms'; import { ElementRef, QueryList, Renderer, OnDestroy } from '@angular/core'; import { ContextService } from '../context.service'; import { ChoiceViewModel } from '../view-models/choice-view-model'; import { IDraggableViewModel } from '../view-models/idraggable-view-model'; import { FieldViewModel } from '../view-models/field-view-model'; import { ParameterViewModel } from '../view-models/parameter-view-model'; import { DialogViewModel } from '../view-models/dialog-view-model'; import { PropertyViewModel } from '../view-models/property-view-model'; import { DomainObjectViewModel } from '../view-models/domain-object-view-model'; import { ConfigService } from '../config.service'; import { LoggerService } from '../logger.service'; import { Pane } from '../route-data'; import { Dictionary } from 'lodash'; import { BehaviorSubject } from 'rxjs'; import { DatePickerFacadeComponent } from '../date-picker-facade/date-picker-facade.component'; import { TimePickerFacadeComponent } from '../time-picker-facade/time-picker-facade.component'; export declare abstract class FieldComponent implements OnDestroy { private readonly context; private readonly configService; private readonly loggerService; private readonly renderer; protected constructor(context: ContextService, configService: ConfigService, loggerService: LoggerService, renderer: Renderer); formGroup: FormGroup; readonly message: string; readonly isBoolean: boolean; readonly subject: BehaviorSubject<any>; private formGrp; private vmParent; private model; private isConditionalChoices; private isAutoComplete; private bSubject; private sub; control: AbstractControl; currentOptions: ChoiceViewModel[]; pArgs: Dictionary<Models.Value>; paneId: Pane; canDrop: boolean; protected init(vmParent: DialogViewModel | DomainObjectViewModel, vm: ParameterViewModel | PropertyViewModel, control: AbstractControl): void; accept(droppableVm: FieldViewModel): (draggableVm: IDraggableViewModel) => boolean; drop(draggableVm: IDraggableViewModel): void; private isDomainObjectViewModel(object); private mapValues(args, parmsOrProps); private populateArguments(); private lastArgs; private argsChanged(newArgs); private populateDropdown(); private onChange(); private onValueChanged(); private populateAutoComplete(); protected populateBoolean(): void; private select(item); fileUpload(evt: Event): void; paste(event: KeyboardEvent): void; clear(): void; private filterEnter(event); protected handleKeyEvents(event: KeyboardEvent, isMultiline: boolean): void; private triStateClick; protected handleClick(event: Event): void; abstract checkboxList: QueryList<ElementRef>; abstract focusList: QueryList<ElementRef | DatePickerFacadeComponent | TimePickerFacadeComponent | AutoCompleteComponent>; focus(): boolean; ngOnDestroy(): void; }