@velis/dynamicforms
Version:
Data entry boilerplate components and a RESTful API consumer
71 lines • 2.91 kB
TypeScript
import FilteredActions from '../actions/filtered-actions';
import type { ActionsNS } from '../actions/namespace';
import FormPayload from '../form/definitions/form-payload';
import FormLayout from '../form/definitions/layout';
import TableColumns from '../table/definitions/columns';
import TableFilterRow from '../table/definitions/filterrow';
import TableRows from '../table/definitions/rows';
import { DfTable } from '../table/namespace';
import { APIConsumer } from './namespace';
type IHandlers = ActionsNS.IHandlers;
declare abstract class ConsumerLogicBase implements APIConsumer.ConsumerLogicBaseInterface {
pkName: string;
protected fields: {
[key: string]: DfTable.ColumnJSON;
};
protected tableColumns: TableColumns;
protected loading: boolean;
protected responsiveTableLayouts?: DfTable.ResponsiveTableLayoutsDefinition;
protected formFields: {
[key: string]: unknown;
};
protected formLayout: FormLayout | null;
protected formComponent: string;
protected errors: {
[key: string]: unknown;
};
protected actions: FilteredActions;
protected ux_def: APIConsumer.TableUXDefinition;
protected rows: TableRows;
protected formData: FormPayload;
protected requestedPKValue: null;
protected ordering: {
parameter: string;
style: string | undefined;
counter: number;
};
protected filterDefinition: TableFilterRow | null;
filterData: Object;
protected titles: APIConsumer.Titles;
protected dialogHandlers?: IHandlers;
protected rowSelect: boolean;
protected constructor();
get tableDefinition(): {
title: string;
pkName: string;
columns: TableColumns;
responsiveTableLayouts: DfTable.ResponsiveTableLayoutsDefinition | undefined;
columnDefs: {
[key: string]: DfTable.ColumnJSON;
};
rows: TableRows;
loading: boolean;
actions: FilteredActions;
filterDefinition: TableFilterRow | null;
rowSelect: boolean;
};
get pkValue(): any;
setDialogHandlers: (handlers?: IHandlers) => void;
/** @virtual */
processUXDefinition(UXDefinition: APIConsumer.TableUXDefinition): void;
abstract getFormDefinition(pkValue?: APIConsumer.PKValueType): Promise<APIConsumer.FormDefinition>;
get formDefinition(): APIConsumer.FormDefinition;
title(which: 'table' | 'new' | 'edit'): string;
setOrdering(parameter: string, style: any | null, counter: number): void;
filter(filterData?: Object | null): Promise<void>;
abstract reload(filter?: boolean): Promise<void>;
abstract dialogForm(pk: APIConsumer.PKValueType, formData?: any, refresh?: boolean, return_raw_data?: boolean): Promise<any>;
abstract deleteRow(tableRow: FormPayload): Promise<void>;
}
export default ConsumerLogicBase;
//# sourceMappingURL=consumer-logic-base.d.ts.map