UNPKG

@velis/dynamicforms

Version:

Data entry boilerplate components and a RESTful API consumer

47 lines 1.78 kB
import type TableColumn from './column'; import OrderingDirection from './column-ordering-direction'; type OrderingValue = { name: string; direction: OrderingDirection; }; type TransformationFunctionVerbose = (columns: OrderingValue[]) => string[]; export type TransformationFunctionBase = (columns: OrderingValue[]) => { name: any; direction: OrderingDirection; }[]; export default class ColumnOrdering { direction: OrderingDirection; changeCounter: number; column: any; orderingArray: ColumnOrdering[]; isOrderable: boolean; isOrdered: boolean; segment: number; /** * Column ordering management utility * * @param orderingString: e.g. ordering asc seg-1 * @param orderingArray: a common array (created in columns.js) containing all order segments * @param column: TableColumn reference to the column itself. Needed for error messages below */ constructor(orderingString: string, orderingArray: ColumnOrdering[], column: TableColumn); /** * cycles field ordering 'asc' -> 'desc' -> 'unsorted' */ cycleOrdering(): void; /** * sets column sort sequence and direction * @param direction: one of "asc", "desc" or "unsorted" * @param sequence: integer. if none is provided, existing sequence # will be used * or 1 if column was unsorted */ setSorted(direction: number, sequence?: number): void; handleColumnHeaderClick(event: MouseEvent): void; calculateOrderingValue(transformationFunction?: TransformationFunctionVerbose): string[]; calculateOrderingFunction(transformationFunction?: TransformationFunctionBase): { name: any; direction: OrderingDirection; }[]; } export {}; //# sourceMappingURL=column-ordering.d.ts.map