nakedobjects.spa
Version:
Single Page Application client for a Naked Objects application.
41 lines (40 loc) • 2.26 kB
TypeScript
/// <reference types="lodash" />
import { FieldViewModel } from './field-view-model';
import { ColorService } from '../color.service';
import { ErrorService } from '../error.service';
import { AttachmentViewModel } from './attachment-view-model';
import { ViewModelFactoryService } from '../view-model-factory.service';
import { ContextService } from '../context.service';
import { MaskService } from '../mask.service';
import { ClickHandlerService } from '../click-handler.service';
import { UrlManagerService } from '../url-manager.service';
import { IDraggableViewModel } from './idraggable-view-model';
import { Dictionary } from 'lodash';
import * as Models from '../models';
import * as Configservice from '../config.service';
import { Pane } from '../route-data';
export declare class PropertyViewModel extends FieldViewModel implements IDraggableViewModel {
readonly propertyRep: Models.PropertyMember;
private readonly viewModelfactory;
private readonly maskService;
private readonly urlManager;
private readonly clickHandler;
private readonly previousValue;
constructor(propertyRep: Models.PropertyMember, color: ColorService, error: ErrorService, viewModelfactory: ViewModelFactoryService, context: ContextService, maskService: MaskService, urlManager: UrlManagerService, clickHandler: ClickHandlerService, configService: Configservice.ConfigService, id: string, previousValue: Models.Value, onPaneId: Pane, parentValues: () => Dictionary<Models.Value>);
private getDigest(propertyRep);
private setupPropertyAutocomplete(parentValues);
private setupPropertyConditionalChoices();
private callIfChanged(newValue, doRefresh);
private setupChoice(newValue);
private setupReference(value, rep);
private setupReferencePropertyValue();
private setupScalarPropertyValue();
readonly isEditable: boolean;
readonly attachment: AttachmentViewModel | null;
refType: "null" | "navigable" | "notNavigable";
readonly draggableType: string;
readonly draggableTitle: () => string;
readonly canDropOn: (targetType: string) => Promise<boolean>;
readonly doClick: (right?: boolean | undefined) => void;
readonly isDirty: () => boolean;
}