Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
public static handleMouseMove(point: PointProps): void {
const oldPt = CursorInformation.cursorPosition;
const direction = this._determineMostFrequentDirection(this._cursorDirections, this._cursorPosition, Point.create(point));
this.cursorPosition = point;
this._cursorDirection = direction;
this.onCursorUpdatedEvent.emit({ oldPt, newPt: point, direction });
}
public handleWidgetTabDrag(dragged: PointProps, props: ZonesManagerProps): ZonesManagerProps {
const draggedWidget = props.draggedWidget;
if (!draggedWidget)
return props;
const draggedZone = this.findZoneWithWidget(draggedWidget.id, props);
if (!draggedZone || !draggedZone.floating)
return props;
const floatingBounds = Rectangle.create(draggedZone.floating.bounds).offset(dragged).toProps();
const lastPosition = Point.create(draggedWidget.lastPosition).offset(dragged).toProps();
props = this.setZoneFloatingBounds(draggedZone.id, floatingBounds, props);
return this.setDraggedWidgetLastPosition(lastPosition, props);
}
public static fromPosition(props: PointProps): React.CSSProperties {
const point = Point.create(props);
return {
left: point.x,
top: point.y,
};
}
}
private adjustOffset(offset: Point, relativePosition: RelativePosition, dimension: number): Point {
let outOffset = Point.create(offset.toProps());
switch (relativePosition) {
case RelativePosition.Top:
case RelativePosition.Bottom:
case RelativePosition.TopLeft:
case RelativePosition.TopRight:
case RelativePosition.BottomLeft:
case RelativePosition.BottomRight:
outOffset = Point.create({ x: offset.x, y: offset.y + dimension });
break;
case RelativePosition.Left:
case RelativePosition.Right:
outOffset = Point.create({ x: offset.x + dimension, y: offset.y });
break;
}
public static open(id: string, content: React.ReactNode, pt: PointProps, offset: PointProps, relativePosition: RelativePosition, priority: number = 0, options?: CursorPopupOptions) {
const popupInfo = CursorPopupManager._popups.find((info: CursorPopupInfo) => id === info.id);
if (popupInfo) {
popupInfo.content = content;
popupInfo.offset = Point.create(offset);
popupInfo.relativePosition = relativePosition;
popupInfo.renderRelativePosition = relativePosition;
popupInfo.priority = priority;
popupInfo.options = options;
} else {
const newPopupInfo: CursorPopupInfo = { id, content, offset: Point.create(offset), relativePosition, options, renderRelativePosition: relativePosition, priority };
CursorPopupManager.pushPopup(newPopupInfo);
}
CursorPopupManager.updatePosition(pt);
}
private adjustOffset(offset: Point, relativePosition: RelativePosition, dimension: number): Point {
let outOffset = Point.create(offset.toProps());
switch (relativePosition) {
case RelativePosition.Top:
case RelativePosition.Bottom:
case RelativePosition.TopLeft:
case RelativePosition.TopRight:
case RelativePosition.BottomLeft:
case RelativePosition.BottomRight:
outOffset = Point.create({ x: offset.x, y: offset.y + dimension });
break;
case RelativePosition.Left:
case RelativePosition.Right:
outOffset = Point.create({ x: offset.x + dimension, y: offset.y });
break;
}
return outOffset;
}
public static update(id: string, content: React.ReactNode, pt: PointProps, offset: PointProps, relativePosition: RelativePosition, priority: number = 0) {
const popupInfo = CursorPopupManager._popups.find((info: CursorPopupInfo) => id === info.id);
if (popupInfo) {
popupInfo.content = content;
popupInfo.offset = Point.create(offset);
popupInfo.relativePosition = relativePosition;
popupInfo.renderRelativePosition = relativePosition;
popupInfo.priority = priority;
} else {
Logger.logError(UiFramework.loggerCategory(this), `update: Could not find popup with id of '${id}'`);
}
CursorPopupManager.updatePosition(pt);
}
private _handleCursorPopupUpdatePositionEvent = (args: CursorPopupUpdatePositionEventArgs) => {
this.setState({ pt: Point.create(args.pt) });
}
}
private _handleResizeStart = (args: ResizeGripResizeArgs) => {
const bounds = Rectangle.create(args.bounds);
this._relativePosition = bounds.topLeft().getOffsetTo(args.position);
this._lastPosition = Point.create(args.position);
}
}
public setLastPosition(lastPosition: PointProps, props: DraggedWidgetManagerProps): DraggedWidgetManagerProps {
if (Point.create(lastPosition).equals(props.lastPosition))
return props;
return {
...props,
lastPosition,
};
}
}