ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
72 lines (71 loc) • 3.55 kB
TypeScript
import { IFormSchema, IFormPropertySchema } from "../../../services/formSchema/form-schema-service";
import { DisposableCollection } from "../../../services/disposable-collection";
import { AureliaHelperService } from "../../../services/aurelia-helper-service";
import { ISortColumnService } from "../../../services/sort-column-service";
import { IFormSchemaCollectionInstanceApi, ValidateResult } from "../../../services/formSchema/form-schema-collection-controller";
import { ValidationController } from "aurelia-validation";
import { IValidationService, IValidationRenderer } from "../../../services/validation/validation-service";
import "./form-schema-collection.css";
import { JavaScriptService } from "../../../services/javascript-service";
export declare class FormSchemaCollection {
private aureliaHelperService;
private javaScriptService;
onNewInstances?: (instances: Array<any>) => void;
externalInsertButton: Element | null;
tableClass: string | null;
controller: IFormSchemaCollectionInstanceApi<any>;
theTable: Element;
formSchema: IFormSchema;
handleDelete: ((instance: any) => Promise<boolean>) | undefined;
handleNew: ((instance: any) => Promise<boolean>) | undefined;
handleCreate: (() => Promise<any>) | undefined;
handleUpdate: ((instance: any, propertyName: string, newValue: any, oldValue: any) => Promise<boolean>) | undefined;
sortColumnService: ISortColumnService;
properties: Array<IFormPropertySchema>;
renderers: Array<IValidationRenderer>;
validationService?: IValidationService;
validationController?: ValidationController;
insertOnNew: boolean;
readonly disableNew: boolean;
readonly disableDelete: boolean;
readonly showKeyColumn: boolean;
private binding;
subscriptions: DisposableCollection;
disableSorting(): void;
enableSorting(): void;
constructor(aureliaHelperService: AureliaHelperService, javaScriptService: JavaScriptService);
private instances;
private setInstances(value);
private clearInstances();
bind(): void;
unbind(): void;
private initializeOnLoad();
initInstance(instance: IWatchedInstance): void;
unInitInstance(instance: IWatchedInstance): void;
unwatchPropertyValues(instance: IWatchedInstance): void;
watchPropertyValues(instance: IWatchedInstance): void;
deleteInstance(instance: IWatchedInstance): void;
createInstance(): void;
saveNewInstance(instance: IWatchedInstance): void;
cancelNewInstance(instance: IWatchedInstance): void;
updateInstance(instance: IWatchedInstance, propertyName: string, newValue: any, oldValue: any): void;
deleteRow(instance: IWatchedInstance): void;
newRow(instance: any): void;
replaceRow(oldInstance: any, newInstance: any): void;
handleValidationChanged(instance: IWatchedInstance, errors: Array<ValidateResult>): void;
animationDuration: number;
animateRowChanged(instance: IWatchedInstance): void;
private normalizeOrdinalPositions();
revert(ndx: number): void;
private getValidationMessageHtml(instance, errors);
private dropdownTextFromValue(items, value);
private computeSelectedItemsString(items, selectedItems);
}
export interface IWatchedInstance {
_propertyChangeSubscriptions: DisposableCollection;
_pendingInsert: boolean;
_newlyInserted: boolean;
_ordinalPosition: number | undefined;
_validationHtml: string | undefined;
[number: string]: any;
}