108 lines
3.3 KiB
TypeScript
108 lines
3.3 KiB
TypeScript
|
import { GridsterComponentInterface } from './gridster.interface';
|
||
|
import { compactTypes, dirTypes, displayGrids, gridTypes } from './gridsterConfig.interface';
|
||
|
import { GridsterItem, GridsterItemComponentInterface } from './gridsterItem.interface';
|
||
|
export interface GridsterConfigS {
|
||
|
gridType: gridTypes;
|
||
|
scale?: number;
|
||
|
fixedColWidth: number;
|
||
|
fixedRowHeight: number;
|
||
|
keepFixedHeightInMobile: boolean;
|
||
|
keepFixedWidthInMobile: boolean;
|
||
|
setGridSize: boolean;
|
||
|
compactType: compactTypes;
|
||
|
mobileBreakpoint: number;
|
||
|
useBodyForBreakpoint: boolean;
|
||
|
allowMultiLayer: boolean;
|
||
|
defaultLayerIndex: number;
|
||
|
maxLayerIndex: number;
|
||
|
baseLayerIndex: number;
|
||
|
minCols: number;
|
||
|
maxCols: number;
|
||
|
minRows: number;
|
||
|
maxRows: number;
|
||
|
defaultItemCols: number;
|
||
|
defaultItemRows: number;
|
||
|
maxItemCols: number;
|
||
|
maxItemRows: number;
|
||
|
minItemCols: number;
|
||
|
minItemRows: number;
|
||
|
minItemArea: number;
|
||
|
maxItemArea: number;
|
||
|
addEmptyRowsCount: number;
|
||
|
rowHeightRatio: number;
|
||
|
margin: number;
|
||
|
outerMargin: boolean;
|
||
|
outerMarginTop: number | null;
|
||
|
outerMarginRight: number | null;
|
||
|
outerMarginBottom: number | null;
|
||
|
outerMarginLeft: number | null;
|
||
|
useTransformPositioning: boolean;
|
||
|
scrollSensitivity: number;
|
||
|
scrollSpeed: number;
|
||
|
draggable: Draggable;
|
||
|
resizable: Resizable;
|
||
|
swap: boolean;
|
||
|
swapWhileDragging: boolean;
|
||
|
pushItems: boolean;
|
||
|
disablePushOnDrag: boolean;
|
||
|
disablePushOnResize: boolean;
|
||
|
disableAutoPositionOnConflict: boolean;
|
||
|
pushDirections: PushDirections;
|
||
|
pushResizeItems: boolean;
|
||
|
displayGrid: displayGrids;
|
||
|
disableWindowResize: boolean;
|
||
|
disableWarnings: boolean;
|
||
|
scrollToNewItems: boolean;
|
||
|
disableScrollHorizontal?: boolean;
|
||
|
disableScrollVertical?: boolean;
|
||
|
enableBoundaryControl?: boolean;
|
||
|
enableEmptyCellClick: boolean;
|
||
|
enableEmptyCellContextMenu: boolean;
|
||
|
enableEmptyCellDrop: boolean;
|
||
|
enableEmptyCellDrag: boolean;
|
||
|
enableOccupiedCellDrop: boolean;
|
||
|
emptyCellDragMaxCols: number;
|
||
|
emptyCellDragMaxRows: number;
|
||
|
ignoreMarginInRow: boolean;
|
||
|
dirType: dirTypes;
|
||
|
api: {
|
||
|
resize: () => void;
|
||
|
optionsChanged: () => void;
|
||
|
getNextPossiblePosition: (newItem: GridsterItem) => boolean;
|
||
|
getFirstPossiblePosition: (item: GridsterItem) => GridsterItem;
|
||
|
getLastPossiblePosition: (item: GridsterItem) => GridsterItem;
|
||
|
getItemComponent: (item: GridsterItem) => GridsterItemComponentInterface | undefined;
|
||
|
};
|
||
|
[propName: string]: any;
|
||
|
}
|
||
|
export interface DragBase {
|
||
|
enabled: boolean;
|
||
|
delayStart: number;
|
||
|
[propName: string]: any;
|
||
|
}
|
||
|
export interface Draggable extends DragBase {
|
||
|
ignoreContentClass: string;
|
||
|
ignoreContent: boolean;
|
||
|
dragHandleClass: string;
|
||
|
dropOverItems: boolean;
|
||
|
dropOverItemsCallback: (source: GridsterItem, target: GridsterItem, grid?: GridsterComponentInterface) => void;
|
||
|
}
|
||
|
export interface Resizable extends DragBase {
|
||
|
handles: {
|
||
|
s: boolean;
|
||
|
e: boolean;
|
||
|
n: boolean;
|
||
|
w: boolean;
|
||
|
se: boolean;
|
||
|
ne: boolean;
|
||
|
sw: boolean;
|
||
|
nw: boolean;
|
||
|
};
|
||
|
}
|
||
|
export interface PushDirections {
|
||
|
north: boolean;
|
||
|
east: boolean;
|
||
|
south: boolean;
|
||
|
west: boolean;
|
||
|
}
|