bitfront-library
Version:
Angular CLI project with components and classes used by other Angular projects of the BIT foundation.
43 lines (42 loc) • 1.89 kB
TypeScript
import { EntityState, EntityAdapter } from "@ngrx/entity";
import { FormType } from "../../shared/global.constants";
import { FactoryCreateNewObject } from "./types";
export interface BaseSubListState<T> extends EntityState<T> {
toolbar: any;
modeInnerForm: FormType;
itemSelected: T;
displayInnerForm: boolean;
itemsSelected: number[];
}
export declare class BaseSubListAdapter<T> {
private adapter;
constructor(args?: any);
getInitialState<S extends BaseSubListState<T>>(makeItem: FactoryCreateNewObject<T>, optional?: any): S;
handleLoadSucces<S extends BaseSubListState<T>>(payload: T[], state: S): S;
handleCloseForm<S extends BaseSubListState<T>>(state: S): S;
handleShowForm<S extends BaseSubListState<T>>(payload: T, formType: FormType, state: S): S;
handleItemsSelected<S extends BaseSubListState<T>>(payload: number[], state: S): S;
handleSaveItem<S extends BaseSubListState<T>>(payload: T, state: S): S;
handleDeleteItems<S extends BaseSubListState<T>>(payload: number[], state: S): S;
getEntityAdapter(): EntityAdapter<T>;
getEntityAdapterSelectors(): import("@ngrx/entity/src/models").EntitySelectors<T, EntityState<T>>;
getSelectors(): BaseSubListSelectors<T>;
}
export declare function createBaseSubListAdapter<T>(): BaseSubListAdapter<T>;
export declare function makeToolbarSubList(enableDelete: boolean): {
new: {
enable: boolean;
visible: boolean;
};
delete: {
enable: boolean;
visible: boolean;
};
};
export declare type BaseSubListSelectors<T> = {
getToolbar: (state: BaseSubListState<T>) => any;
getModelInnerForm: (state: BaseSubListState<T>) => FormType;
getItemSelected: (state: BaseSubListState<T>) => T;
getDisplayInnerForm: (state: BaseSubListState<T>) => boolean;
getItemsSelected: (state: BaseSubListState<T>) => number[];
};