@forgecharts/sdk 1.5.22 → 1.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +53 -36
- package/dist/index.js.map +1 -1
- package/dist/internal.js +53 -36
- package/dist/internal.js.map +1 -1
- package/dist/pixi/PixiChart.d.ts +15 -0
- package/dist/pixi/PixiChart.d.ts.map +1 -1
- package/dist/pixi/PixiTradingRenderer.d.ts +15 -0
- package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -1
- package/dist/react/index.js +53 -36
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +53 -36
- package/dist/react/internal.js.map +1 -1
- package/package.json +1 -1
package/dist/pixi/PixiChart.d.ts
CHANGED
|
@@ -164,6 +164,21 @@ export declare class PixiChart implements ChartBackend {
|
|
|
164
164
|
}[]): void;
|
|
165
165
|
setTradingOrders(orders: ChartOrder[]): void;
|
|
166
166
|
setTradingPositions(positions: ChartPosition[]): void;
|
|
167
|
+
/**
|
|
168
|
+
* (Re)register the trading hit tests against current orders AND positions.
|
|
169
|
+
*
|
|
170
|
+
* Was inline in setTradingOrders and keyed on hardcoded roles, which left
|
|
171
|
+
* both interactions half-wired:
|
|
172
|
+
*
|
|
173
|
+
* - the drag hit test required a 'stop_loss'/'take_profit' order, so
|
|
174
|
+
* working limit and stop lines rendered a drag handle they could not
|
|
175
|
+
* actually be grabbed by
|
|
176
|
+
* - the pill hit test required an ORDER with role 'entry' and no groupId,
|
|
177
|
+
* but the pills are drawn on POSITIONS, so they were never grabbable
|
|
178
|
+
*
|
|
179
|
+
* Both now derive from the same predicates the renderer draws with.
|
|
180
|
+
*/
|
|
181
|
+
private _refreshTradingHitTests;
|
|
167
182
|
setContractSwitches(switches: import('@forgecharts/types').ContractSwitch[]): void;
|
|
168
183
|
setPaneLayout(panes: readonly PaneDescriptor[], priceFraction: number): void;
|
|
169
184
|
setIndicatorResults(results: ReadonlyMap<string, DAGResult>, indicators: readonly IndicatorInstance[], bars: readonly OHLCV[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixiChart.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiChart.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PixiChart.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type { Container } from 'pixi.js';
|
|
2
2
|
import type { ChartOrder, ChartPosition } from '../trading/tradingTypes';
|
|
3
3
|
import type { CoordTransform } from '../core/CoordTransform';
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the order role can be dragged to a new price.
|
|
6
|
+
*
|
|
7
|
+
* Working entry orders (limit / stop) are included alongside bracket legs: a
|
|
8
|
+
* resting order's price is exactly the thing a trader expects to be able to
|
|
9
|
+
* drag, and ChartCanvas already routes the drop through
|
|
10
|
+
* `onModifyOrderIntent({ limitPrice | stopPrice })`. Previously only SL/TP were
|
|
11
|
+
* draggable, so an unfilled limit order rendered a line with no drag handle and
|
|
12
|
+
* no hit zone — including orders placed directly at the broker and reconciled
|
|
13
|
+
* back into the chart.
|
|
14
|
+
*
|
|
15
|
+
* 'entry' is deliberately excluded: it represents an already-filled entry, and
|
|
16
|
+
* a fill price is history, not something that can be modified.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isDraggableRole(role: ChartOrder['role']): boolean;
|
|
4
19
|
/**
|
|
5
20
|
* Describes a TP or SL pill that can be dragged off the entry line to create
|
|
6
21
|
* a bracket order. Once the user drags it away and releases, the renderer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixiTradingRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiTradingRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"PixiTradingRenderer.d.ts","sourceRoot":"","sources":["../../src/pixi/PixiTradingRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAsB7D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAKjE;AA6CD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,8CAA8C;IAC9C,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1B,gEAAgE;IAChE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,oCAAoC;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,OAAO,CAAc;IAC7B,wEAAwE;IACxE,OAAO,CAAC,iBAAiB,CAAyE;IAClG,yEAAyE;IACzE,OAAO,CAAC,cAAc,CAAmG;IACzH,yEAAyE;IACzE,OAAO,CAAC,aAAa,CAAkB;IAEvC,qDAAqD;IACrD,OAAO,CAAC,aAAa,CAAgD;IAErE,8DAA8D;IAC9D,eAAe,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D,sFAAsF;IACtF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;gBAEjF,KAAK,EAAE,SAAS;IAQ5B,OAAO,IAAI,IAAI;IAOf;;;OAGG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASpD;;;;OAIG;IACH,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAW1D;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IASlD,4EAA4E;IAC5E,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAInC,mEAAmE;IACnE,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAM7B,kFAAkF;IAClF,WAAW,IAAI,CAAC,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IAMrD,iDAAiD;IACjD,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,IAAI,CACF,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,SAAS,EAAE,cAAc,EACzB,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,GACnC,IAAI;IAuRP;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB,sFAAsF;IACtF,OAAO,CAAC,UAAU;CAsBnB"}
|
package/dist/react/index.js
CHANGED
|
@@ -7711,6 +7711,9 @@ function orderRoleLabel(role) {
|
|
|
7711
7711
|
function isDraggableRole(role) {
|
|
7712
7712
|
return role === "stop_loss" || role === "take_profit" || role === "limit" || role === "stop";
|
|
7713
7713
|
}
|
|
7714
|
+
function isTerminal(status) {
|
|
7715
|
+
return status === "cancelled" || status === "rejected" || status === "expired" || status === "filled";
|
|
7716
|
+
}
|
|
7714
7717
|
var LINE_H = 15;
|
|
7715
7718
|
var LABEL_GAP = 6;
|
|
7716
7719
|
var LABEL_PAD = 6;
|
|
@@ -7975,33 +7978,37 @@ var PixiTradingRenderer = class {
|
|
|
7975
7978
|
labelIdx = this._drawLabel(String(pos.entryPrice), plotWidth + 4, y, labelIdx, labelStyle);
|
|
7976
7979
|
this._positionHitZones.push({ id: pos.id, x: pillX, y: boxY, w: pillW, h: LINE_H });
|
|
7977
7980
|
const linked = pos.linkedOrderIds ?? [];
|
|
7978
|
-
const hasTp = linked.some((id) => id.endsWith("-tp"));
|
|
7979
|
-
const hasSl = linked.some((id) => id.endsWith("-sl"));
|
|
7981
|
+
const hasTp = linked.some((id) => id.endsWith("-tp")) || orders.some((o) => (o.role === "take_profit" || o.role === "limit") && !isTerminal(o.status));
|
|
7982
|
+
const hasSl = linked.some((id) => id.endsWith("-sl")) || orders.some((o) => (o.role === "stop_loss" || o.role === "stop") && !isTerminal(o.status));
|
|
7980
7983
|
const entrySide = pos.side === "long" ? "buy" : "sell";
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7984
|
+
let pillCursor = pillX - 4;
|
|
7985
|
+
if (!hasSl) {
|
|
7986
|
+
const slX = pillCursor - PILL_W;
|
|
7987
|
+
const slY = y - PILL_H / 2;
|
|
7988
|
+
this._boxGfx.roundRect(slX, slY, PILL_W, PILL_H, PILL_R).fill({ color: SL_PILL_COLOR, alpha: 0.85 });
|
|
7989
|
+
labelIdx = this._drawLabel("SL", slX + PILL_W / 2, y, labelIdx, pillLabelStyle, true);
|
|
7985
7990
|
this._pillHitZones.push({
|
|
7986
|
-
kind: "
|
|
7991
|
+
kind: "sl",
|
|
7987
7992
|
entryOrderId: pos.id,
|
|
7988
7993
|
entrySide,
|
|
7989
|
-
x:
|
|
7990
|
-
y:
|
|
7994
|
+
x: slX,
|
|
7995
|
+
y: slY,
|
|
7991
7996
|
w: PILL_W,
|
|
7992
7997
|
h: PILL_H
|
|
7993
7998
|
});
|
|
7999
|
+
pillCursor = slX - 4;
|
|
7994
8000
|
}
|
|
7995
|
-
if (!
|
|
7996
|
-
const
|
|
7997
|
-
|
|
7998
|
-
|
|
8001
|
+
if (!hasTp) {
|
|
8002
|
+
const tpX = pillCursor - PILL_W;
|
|
8003
|
+
const tpY = y - PILL_H / 2;
|
|
8004
|
+
this._boxGfx.roundRect(tpX, tpY, PILL_W, PILL_H, PILL_R).fill({ color: TP_PILL_COLOR, alpha: 0.85 });
|
|
8005
|
+
labelIdx = this._drawLabel("TP", tpX + PILL_W / 2, y, labelIdx, pillLabelStyle, true);
|
|
7999
8006
|
this._pillHitZones.push({
|
|
8000
|
-
kind: "
|
|
8007
|
+
kind: "tp",
|
|
8001
8008
|
entryOrderId: pos.id,
|
|
8002
8009
|
entrySide,
|
|
8003
|
-
x:
|
|
8004
|
-
y:
|
|
8010
|
+
x: tpX,
|
|
8011
|
+
y: tpY,
|
|
8005
8012
|
w: PILL_W,
|
|
8006
8013
|
h: PILL_H
|
|
8007
8014
|
});
|
|
@@ -9294,30 +9301,40 @@ var PixiChart = class {
|
|
|
9294
9301
|
setTradingOrders(orders) {
|
|
9295
9302
|
this._tradingOrders = orders;
|
|
9296
9303
|
this._layers.dirty.mark(4 /* TradingOverlay */);
|
|
9297
|
-
|
|
9298
|
-
(o) => (o.role === "stop_loss" || o.role === "take_profit") && o.status !== "cancelled" && o.status !== "filled"
|
|
9299
|
-
);
|
|
9300
|
-
if (hasDraggable) {
|
|
9301
|
-
this._interaction.setOrderLineHitTest(
|
|
9302
|
-
(x, y) => this._tradingRenderer.hitTestDraggableOrder(x, y)
|
|
9303
|
-
);
|
|
9304
|
-
} else {
|
|
9305
|
-
this._interaction.setOrderLineHitTest(null);
|
|
9306
|
-
}
|
|
9307
|
-
const hasEntryWithoutBracket = orders.some(
|
|
9308
|
-
(o) => o.role === "entry" && !o.groupId && o.status !== "cancelled" && o.status !== "filled" && o.status !== "rejected"
|
|
9309
|
-
);
|
|
9310
|
-
if (hasEntryWithoutBracket) {
|
|
9311
|
-
this._interaction.setPillHitTest(
|
|
9312
|
-
(x, y) => this._tradingRenderer.hitTestPill(x, y)
|
|
9313
|
-
);
|
|
9314
|
-
} else {
|
|
9315
|
-
this._interaction.setPillHitTest(null);
|
|
9316
|
-
}
|
|
9304
|
+
this._refreshTradingHitTests();
|
|
9317
9305
|
}
|
|
9318
9306
|
setTradingPositions(positions) {
|
|
9319
9307
|
this._tradingPositions = positions;
|
|
9320
9308
|
this._layers.dirty.mark(4 /* TradingOverlay */);
|
|
9309
|
+
this._refreshTradingHitTests();
|
|
9310
|
+
}
|
|
9311
|
+
/**
|
|
9312
|
+
* (Re)register the trading hit tests against current orders AND positions.
|
|
9313
|
+
*
|
|
9314
|
+
* Was inline in setTradingOrders and keyed on hardcoded roles, which left
|
|
9315
|
+
* both interactions half-wired:
|
|
9316
|
+
*
|
|
9317
|
+
* - the drag hit test required a 'stop_loss'/'take_profit' order, so
|
|
9318
|
+
* working limit and stop lines rendered a drag handle they could not
|
|
9319
|
+
* actually be grabbed by
|
|
9320
|
+
* - the pill hit test required an ORDER with role 'entry' and no groupId,
|
|
9321
|
+
* but the pills are drawn on POSITIONS, so they were never grabbable
|
|
9322
|
+
*
|
|
9323
|
+
* Both now derive from the same predicates the renderer draws with.
|
|
9324
|
+
*/
|
|
9325
|
+
_refreshTradingHitTests() {
|
|
9326
|
+
const hasDraggable = this._tradingOrders.some(
|
|
9327
|
+
(o) => isDraggableRole(o.role) && o.status !== "cancelled" && o.status !== "filled"
|
|
9328
|
+
);
|
|
9329
|
+
this._interaction.setOrderLineHitTest(
|
|
9330
|
+
hasDraggable ? (x, y) => this._tradingRenderer.hitTestDraggableOrder(x, y) : null
|
|
9331
|
+
);
|
|
9332
|
+
const hasPillSource = this._tradingPositions.some((p) => p.status === "open") || this._tradingOrders.some(
|
|
9333
|
+
(o) => o.role === "entry" && !o.groupId && o.status !== "cancelled" && o.status !== "filled" && o.status !== "rejected"
|
|
9334
|
+
);
|
|
9335
|
+
this._interaction.setPillHitTest(
|
|
9336
|
+
hasPillSource ? (x, y) => this._tradingRenderer.hitTestPill(x, y) : null
|
|
9337
|
+
);
|
|
9321
9338
|
}
|
|
9322
9339
|
setContractSwitches(switches) {
|
|
9323
9340
|
this._timeScale.contractSwitches = switches;
|