@velis/dynamicforms
Version:
Data entry boilerplate components and a RESTful API consumer
47 lines • 1.78 kB
TypeScript
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