bitfront-library
Version:
Angular CLI project with components and classes used by other Angular projects of the BIT foundation.
80 lines (79 loc) • 2.7 kB
TypeScript
import { PageStatus, FormType } from "../../shared/global.constants";
import { FactoryCreateNewObject, FactoryCrateToolbar } from "./types";
export interface BaseFormState<T> {
item: T;
toolbar: any;
status: PageStatus;
readOnly: boolean;
formType: FormType;
currentTab: number;
loaded: boolean;
updated: boolean;
}
export declare class BaseFormAdapter<T> {
protected fnCreateObject: FactoryCreateNewObject<T>;
protected fnGetToolbarObjectLoaded?: FactoryCrateToolbar<T>;
constructor(fnCreateObject: FactoryCreateNewObject<T>, fnGetToolbarObjectLoaded?: FactoryCrateToolbar<T>);
getInitialState<S extends BaseFormState<T>>(optional?: any): S;
handleCreateObject<S extends BaseFormState<T>>(state: S): S;
handleLoadObject<S extends BaseFormState<T>>(state: S): S;
handleLoadObjectSuccess<S extends BaseFormState<T>>(payload: T, state: S): S;
handleSaveObject<S extends BaseFormState<T>>(state: S): S;
handleSaveObjectSuccess<S extends BaseFormState<T>>(payload: T, state: S): S;
handleSaveObjectFail<S extends BaseFormState<T>>(state: S): S;
handleSetFormReadOnly<S extends BaseFormState<T>>(payload: boolean, state: S): S;
getSelectors(): BaseFormSelectors<T>;
initToolbar(): {
save: {
visible: boolean;
enable: boolean;
};
delete: {
visible: boolean;
enable: boolean;
};
print: {
visible: boolean;
enable: boolean;
};
};
}
export declare function createBaseFormAdapter<T>(fnCreateObject: FactoryCreateNewObject<T>, fnGetToolbarObjectLoaded?: FactoryCrateToolbar<T>): BaseFormAdapter<T>;
export declare function getInitToolbar(): {
save: {
visible: boolean;
enable: boolean;
};
delete: {
visible: boolean;
enable: boolean;
};
print: {
visible: boolean;
enable: boolean;
};
};
export declare function getToolbarObjectLoadedDefault(): {
save: {
visible: boolean;
enable: boolean;
};
delete: {
visible: boolean;
enable: boolean;
};
print: {
visible: boolean;
enable: boolean;
};
};
export declare type BaseFormSelectors<T> = {
getItem: (state: BaseFormState<T>) => T;
getToolbar: (state: BaseFormState<T>) => any;
getStatus: (state: BaseFormState<T>) => PageStatus;
getFormType: (state: BaseFormState<T>) => FormType;
getCurrentTab: (state: BaseFormState<T>) => number;
getReadOnly: (state: BaseFormState<T>) => boolean;
getLoaded: (state: BaseFormState<T>) => boolean;
getUpdated: (state: BaseFormState<T>) => boolean;
};