UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

91 lines (90 loc) 4.62 kB
import { DialogService } from "aurelia-dialog"; import { CommonDialogs } from "../dialog-service"; import { IFormSchema, IFormSchemaService } from "./form-schema-service"; import { IFormSchemaCrudService } from "./form-schema-crud-service"; import { NotificationService } from "../notification-service/notification-service"; import { ISortColumnService } from "../sort-column-service"; import { IFormSchemaRulesProvider } from "./form-schema-rules-provider"; import { IValidationService } from "../validation/validation-service"; import { IEventAggregator } from "../../interfaces/IEventAggregator"; import { ValidateResult } from "aurelia-validation"; import { I18N } from 'aurelia-i18n'; export declare class FormSchemaCollectionController<TInstance> implements IFormSchemaCollectionController<TInstance> { private commonDialogs; sortColumnService: ISortColumnService; private dialogService; private notificationService; formSchemaService: IFormSchemaService; formSchemaCrudService: IFormSchemaCrudService<TInstance>; private i18n; constructor(commonDialogs: CommonDialogs, sortColumnService: ISortColumnService, dialogService: DialogService, notificationService: NotificationService, formSchemaService: IFormSchemaService, formSchemaCrudService: IFormSchemaCrudService<TInstance>, i18n: I18N, webServiceName: string); validationService?: IValidationService; rulesGenerator?: IFormSchemaRulesProvider; instances: Array<any>; formSchema: IFormSchema; showing: boolean; disableNew: boolean; disableDelete: boolean; showKeyColumn: boolean; private promiseToBeLoaded; private _makingLocalChanges; private _loaded; insertOnNew: boolean; makingLocalChanges: boolean; protected clearMakingLocalChanges(delay?: number): Promise<void>; refreshDatumOnUpdate: boolean; private className; private key; load(andFetch?: boolean): Promise<any>; private getInstances(); private getFormSchema(); preValidate(instance: any, propertyName: string, newValue: any, oldValue: any): void; private _preValidate(instance, propertyName, newValue, oldValue); validate(instance: any, propertyName: string, newValue: any, oldValue: any): Promise<boolean>; registerInstances(instances: Array<any>): void; unRegisterInstances(instances: Array<any>): void; revalidateAll(): Promise<Array<ValidateResult>>; handleUpdate(instance: any, propertyName: string, newValue: any, oldValue: any): Promise<boolean>; executeUpdate(instance: any, propertyName: string, newValue: any, oldValue: any): Promise<boolean>; handleCreate(): Promise<any>; handleNew(instance: any): Promise<boolean>; handleDelete(instance: any): Promise<boolean>; fetchInstance(instance: any): Promise<any>; private recordIdentication(instance); } export interface IUpdateHandleParams { instance: any; propertyName?: string; newValue?: any; oldValue?: any; } export interface IFormSchemaCollectionController<TInstance> { instances: Array<any>; formSchema: IFormSchema; validationService?: IValidationService; sortColumnService: ISortColumnService; formSchemaService: IFormSchemaService; formSchemaCrudService: IFormSchemaCrudService<TInstance>; rulesGenerator?: IFormSchemaRulesProvider; disableNew?: boolean; disableDelete?: boolean; showKeyColumn?: boolean; refreshDatumOnUpdate?: boolean; load(andFetch?: boolean): Promise<any>; insertOnNew: boolean; makingLocalChanges: boolean; } export interface IFormSchemaCollectionInstanceApi<TInstance> extends IFormSchemaCollectionControllerEventAggregator<TInstance> { preValidate(instance: any, propertyName: string, newValue: any, oldValue: any): void; revalidateAll(): Promise<Array<ValidateResult>>; validate(instance: any, propertyName: string, newValue: any, oldValue: any): Promise<boolean>; registerInstances(instances: Array<any>): void; unRegisterInstances(instances: Array<any>): void; handleDelete: (instance: any) => Promise<boolean>; handleNew: (instance: any) => Promise<boolean>; handleCreate: () => Promise<any>; handleUpdate: (instance: any, propertyName: string, newValue: any, oldValue: any) => Promise<boolean>; fetchInstance: (instance: any) => Promise<any>; } export declare type IFormSchemaCollectionControllerEventAggregator<TInstance> = IFormSchemaCollectionController<TInstance> & IEventAggregator; export { ValidateResult } from "aurelia-validation";