fix: resolve TypeScript narrowing errors and renamed lightweight-charts exports
This commit is contained in:
parent
efcf5c185f
commit
23131b2c33
2 changed files with 34 additions and 25 deletions
|
|
@ -763,13 +763,16 @@ const CandleChart = forwardRef<CandleChartHandle, CandleChartProps>(
|
|||
const timestamp = typeof time === 'string' ? Date.parse(time) / 1000 : (time as number);
|
||||
|
||||
// First, check for line hit using primitives' hitTest
|
||||
let deleteLineHit: { id: number; primitive: TrendLine } | null = null;
|
||||
linePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit) {
|
||||
deleteLineHit = { id, primitive };
|
||||
}
|
||||
});
|
||||
const deleteLineHit = (() => {
|
||||
let result: { id: number; primitive: TrendLine } | null = null;
|
||||
linePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit) {
|
||||
result = { id, primitive };
|
||||
}
|
||||
});
|
||||
return result as { id: number; primitive: TrendLine } | null;
|
||||
})();
|
||||
|
||||
if (deleteLineHit) {
|
||||
// Delete the clicked line
|
||||
|
|
@ -794,13 +797,16 @@ const CandleChart = forwardRef<CandleChartHandle, CandleChartProps>(
|
|||
}
|
||||
|
||||
// Next, check for rectangle hit using primitives' hitTest
|
||||
let rectangleHit: { id: number; primitive: RectangleDrawingPrimitive } | null = null;
|
||||
rectanglePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit) {
|
||||
rectangleHit = { id, primitive };
|
||||
}
|
||||
});
|
||||
const rectangleHit = (() => {
|
||||
let result: { id: number; primitive: RectangleDrawingPrimitive } | null = null;
|
||||
rectanglePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit) {
|
||||
result = { id, primitive };
|
||||
}
|
||||
});
|
||||
return result as { id: number; primitive: RectangleDrawingPrimitive } | null;
|
||||
})();
|
||||
|
||||
if (rectangleHit) {
|
||||
// Delete the clicked rectangle
|
||||
|
|
@ -853,13 +859,16 @@ const CandleChart = forwardRef<CandleChartHandle, CandleChartProps>(
|
|||
// Handle line selection when no tool is active or delete tool is active
|
||||
if (!activeTool || activeTool === 'delete') {
|
||||
// Check if a line was clicked
|
||||
let lineHit: { id: number; primitive: TrendLine } | null = null;
|
||||
linePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit && activeTool !== 'delete') {
|
||||
lineHit = { id, primitive };
|
||||
}
|
||||
});
|
||||
const lineHit = (() => {
|
||||
let result: { id: number; primitive: TrendLine } | null = null;
|
||||
linePrimitivesRef.current.forEach((primitive, id) => {
|
||||
const hit = primitive.hitTest(timeCoordinate, priceCoordinate);
|
||||
if (hit && activeTool !== 'delete') {
|
||||
result = { id, primitive };
|
||||
}
|
||||
});
|
||||
return result as { id: number; primitive: TrendLine } | null;
|
||||
})();
|
||||
|
||||
if (lineHit && activeTool !== 'delete') {
|
||||
// Toggle selection
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import {
|
|||
IChartApi,
|
||||
ISeriesApi,
|
||||
ISeriesPrimitive,
|
||||
IPrimitivePaneRenderer,
|
||||
IPrimitivePaneView,
|
||||
ISeriesPrimitivePaneRenderer,
|
||||
ISeriesPrimitivePaneView,
|
||||
Logical,
|
||||
SeriesOptionsMap,
|
||||
SeriesType,
|
||||
|
|
@ -15,7 +15,7 @@ import {
|
|||
PrimitiveHoveredItem,
|
||||
} from 'lightweight-charts';
|
||||
|
||||
class TrendLinePaneRenderer implements IPrimitivePaneRenderer {
|
||||
class TrendLinePaneRenderer implements ISeriesPrimitivePaneRenderer {
|
||||
_p1: ViewPoint;
|
||||
_p2: ViewPoint;
|
||||
_text1: string;
|
||||
|
|
@ -117,7 +117,7 @@ interface ViewPoint {
|
|||
y: Coordinate | null;
|
||||
}
|
||||
|
||||
class TrendLinePaneView implements IPrimitivePaneView {
|
||||
class TrendLinePaneView implements ISeriesPrimitivePaneView {
|
||||
_source: TrendLine;
|
||||
_p1: ViewPoint = { x: null, y: null };
|
||||
_p2: ViewPoint = { x: null, y: null };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue