@tradecanvas/chart 1.71.0 → 1.72.1
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/LayoutSession-DO4bYkUi.cjs +2 -0
- package/dist/LayoutSession-DO4bYkUi.cjs.map +1 -0
- package/dist/{LayoutSession-BOQCN6yY.js → LayoutSession-qRYG8GTD.js} +539 -552
- package/dist/LayoutSession-qRYG8GTD.js.map +1 -0
- package/dist/WidgetCommandPalette-CeCLHPy1.js +177 -0
- package/dist/WidgetCommandPalette-CeCLHPy1.js.map +1 -0
- package/dist/WidgetCommandPalette-ZZNbWwCZ.cjs +2 -0
- package/dist/WidgetCommandPalette-ZZNbWwCZ.cjs.map +1 -0
- package/dist/WidgetDrawingSettings-BeW8fX7r.js +474 -0
- package/dist/WidgetDrawingSettings-BeW8fX7r.js.map +1 -0
- package/dist/WidgetDrawingSettings-Cyl2u_u8.cjs +2 -0
- package/dist/WidgetDrawingSettings-Cyl2u_u8.cjs.map +1 -0
- package/dist/WidgetGoToDate-BNdngHlg.cjs +2 -0
- package/dist/WidgetGoToDate-BNdngHlg.cjs.map +1 -0
- package/dist/WidgetGoToDate-hcDtezRm.js +191 -0
- package/dist/WidgetGoToDate-hcDtezRm.js.map +1 -0
- package/dist/WidgetHotkeySheet-1lRFSdvt.js +416 -0
- package/dist/WidgetHotkeySheet-1lRFSdvt.js.map +1 -0
- package/dist/WidgetHotkeySheet-y5LWKSG6.cjs +2 -0
- package/dist/WidgetHotkeySheet-y5LWKSG6.cjs.map +1 -0
- package/dist/WidgetIndicatorPicker-CGvZ5kYd.js +245 -0
- package/dist/WidgetIndicatorPicker-CGvZ5kYd.js.map +1 -0
- package/dist/WidgetIndicatorPicker-DuKJFPRC.cjs +2 -0
- package/dist/WidgetIndicatorPicker-DuKJFPRC.cjs.map +1 -0
- package/dist/WidgetIndicatorSettings-C7vpco6e.cjs +2 -0
- package/dist/WidgetIndicatorSettings-C7vpco6e.cjs.map +1 -0
- package/dist/WidgetIndicatorSettings-dDkqzzYo.js +326 -0
- package/dist/WidgetIndicatorSettings-dDkqzzYo.js.map +1 -0
- package/dist/WidgetSettings-D7Pq42zW.cjs +2 -0
- package/dist/WidgetSettings-D7Pq42zW.cjs.map +1 -0
- package/dist/WidgetSettings-eOo93L7Z.js +546 -0
- package/dist/WidgetSettings-eOo93L7Z.js.map +1 -0
- package/dist/WidgetSymbolSearch-C4OR42nZ.cjs +2 -0
- package/dist/WidgetSymbolSearch-C4OR42nZ.cjs.map +1 -0
- package/dist/WidgetSymbolSearch-CvPpjIwa.js +580 -0
- package/dist/WidgetSymbolSearch-CvPpjIwa.js.map +1 -0
- package/dist/focusTrap-Br9Zfje0.js +27 -0
- package/dist/focusTrap-Br9Zfje0.js.map +1 -0
- package/dist/focusTrap-DrhhmG0V.cjs +2 -0
- package/dist/focusTrap-DrhhmG0V.cjs.map +1 -0
- package/dist/i18n-C2nQBZTY.cjs +2 -0
- package/dist/i18n-C2nQBZTY.cjs.map +1 -0
- package/dist/{i18n-DUmd4Z_r.js → i18n-C5v6Tzp1.js} +3 -1
- package/dist/i18n-C5v6Tzp1.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/indicatorInputWords-Bd9Pt6qp.js +25 -0
- package/dist/indicatorInputWords-Bd9Pt6qp.js.map +1 -0
- package/dist/indicatorInputWords-CTA4IcJR.cjs +2 -0
- package/dist/indicatorInputWords-CTA4IcJR.cjs.map +1 -0
- package/dist/indicatorLabel-BNZvaOcl.cjs +2 -0
- package/dist/indicatorLabel-BNZvaOcl.cjs.map +1 -0
- package/dist/indicatorLabel-Sbegyhp2.js +17 -0
- package/dist/indicatorLabel-Sbegyhp2.js.map +1 -0
- package/dist/indicatorSettingsTabs-B0liE3ST.cjs +2 -0
- package/dist/indicatorSettingsTabs-B0liE3ST.cjs.map +1 -0
- package/dist/indicatorSettingsTabs-XcgMdbLp.js +161 -0
- package/dist/indicatorSettingsTabs-XcgMdbLp.js.map +1 -0
- package/dist/monthView-B-CieFDJ.cjs +2 -0
- package/dist/monthView-B-CieFDJ.cjs.map +1 -0
- package/dist/monthView-N8yDaTqZ.js +198 -0
- package/dist/monthView-N8yDaTqZ.js.map +1 -0
- package/dist/platformKeys-B82-j1Fs.cjs +2 -0
- package/dist/platformKeys-B82-j1Fs.cjs.map +1 -0
- package/dist/platformKeys-Dd1qOCjF.js +5 -0
- package/dist/platformKeys-Dd1qOCjF.js.map +1 -0
- package/dist/settingsControls-DIjzCFHI.js +379 -0
- package/dist/settingsControls-DIjzCFHI.js.map +1 -0
- package/dist/settingsControls-Tn8_vJJv.cjs +2 -0
- package/dist/settingsControls-Tn8_vJJv.cjs.map +1 -0
- package/dist/symbolCatalog-CA1fpz3s.js +90 -0
- package/dist/symbolCatalog-CA1fpz3s.js.map +1 -0
- package/dist/symbolCatalog-Dx1YnZgm.cjs +2 -0
- package/dist/symbolCatalog-Dx1YnZgm.cjs.map +1 -0
- package/dist/widget/ChartWidget.d.ts +102 -582
- package/dist/widget/ChartWidget.d.ts.map +1 -1
- package/dist/widget/WidgetAlerts.d.ts +35 -0
- package/dist/widget/WidgetAlerts.d.ts.map +1 -0
- package/dist/widget/WidgetChartSettings.d.ts +194 -0
- package/dist/widget/WidgetChartSettings.d.ts.map +1 -0
- package/dist/widget/WidgetCommands.d.ts +54 -0
- package/dist/widget/WidgetCommands.d.ts.map +1 -0
- package/dist/widget/WidgetCompares.d.ts +140 -0
- package/dist/widget/WidgetCompares.d.ts.map +1 -0
- package/dist/widget/WidgetDockArea.d.ts +89 -0
- package/dist/widget/WidgetDockArea.d.ts.map +1 -0
- package/dist/widget/WidgetDrawingEdit.d.ts +73 -0
- package/dist/widget/WidgetDrawingEdit.d.ts.map +1 -0
- package/dist/widget/WidgetGoToDate.d.ts +1 -14
- package/dist/widget/WidgetGoToDate.d.ts.map +1 -1
- package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
- package/dist/widget/WidgetIntervals.d.ts +66 -0
- package/dist/widget/WidgetIntervals.d.ts.map +1 -0
- package/dist/widget/WidgetLayouts.d.ts +85 -0
- package/dist/widget/WidgetLayouts.d.ts.map +1 -0
- package/dist/widget/WidgetLegendView.d.ts +54 -0
- package/dist/widget/WidgetLegendView.d.ts.map +1 -0
- package/dist/widget/WidgetMenus.d.ts +79 -0
- package/dist/widget/WidgetMenus.d.ts.map +1 -0
- package/dist/widget/WidgetReplay.d.ts +199 -0
- package/dist/widget/WidgetReplay.d.ts.map +1 -0
- package/dist/widget/WidgetTrading.d.ts +48 -0
- package/dist/widget/WidgetTrading.d.ts.map +1 -0
- package/dist/widget/WidgetWatchlists.d.ts +77 -0
- package/dist/widget/WidgetWatchlists.d.ts.map +1 -0
- package/dist/widget/drawingSettingsTabs.d.ts +2 -19
- package/dist/widget/drawingSettingsTabs.d.ts.map +1 -1
- package/dist/widget/drawingText.d.ts +24 -0
- package/dist/widget/drawingText.d.ts.map +1 -0
- package/dist/widget/index.cjs +22 -23
- package/dist/widget/index.cjs.map +1 -1
- package/dist/widget/index.js +6193 -9868
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/keyTarget.d.ts +4 -0
- package/dist/widget/keyTarget.d.ts.map +1 -1
- package/dist/widget/lazyPart.d.ts +47 -0
- package/dist/widget/lazyPart.d.ts.map +1 -0
- package/dist/widget/locales/ar.d.ts.map +1 -1
- package/dist/widget/locales/cs.d.ts.map +1 -1
- package/dist/widget/locales/da.d.ts.map +1 -1
- package/dist/widget/locales/de.d.ts.map +1 -1
- package/dist/widget/locales/el.d.ts.map +1 -1
- package/dist/widget/locales/en.d.ts +1 -0
- package/dist/widget/locales/en.d.ts.map +1 -1
- package/dist/widget/locales/es.d.ts.map +1 -1
- package/dist/widget/locales/et.d.ts.map +1 -1
- package/dist/widget/locales/fa.d.ts.map +1 -1
- package/dist/widget/locales/fr.d.ts.map +1 -1
- package/dist/widget/locales/he.d.ts.map +1 -1
- package/dist/widget/locales/hu.d.ts.map +1 -1
- package/dist/widget/locales/id.d.ts.map +1 -1
- package/dist/widget/locales/index.cjs +1 -1
- package/dist/widget/locales/index.cjs.map +1 -1
- package/dist/widget/locales/index.js +29 -1
- package/dist/widget/locales/index.js.map +1 -1
- package/dist/widget/locales/it.d.ts.map +1 -1
- package/dist/widget/locales/ja.d.ts.map +1 -1
- package/dist/widget/locales/ko.d.ts.map +1 -1
- package/dist/widget/locales/ms.d.ts.map +1 -1
- package/dist/widget/locales/nb.d.ts.map +1 -1
- package/dist/widget/locales/nl.d.ts.map +1 -1
- package/dist/widget/locales/pl.d.ts.map +1 -1
- package/dist/widget/locales/pt.d.ts.map +1 -1
- package/dist/widget/locales/ro.d.ts.map +1 -1
- package/dist/widget/locales/ru.d.ts.map +1 -1
- package/dist/widget/locales/sk.d.ts.map +1 -1
- package/dist/widget/locales/sv.d.ts.map +1 -1
- package/dist/widget/locales/th.d.ts.map +1 -1
- package/dist/widget/locales/tr.d.ts.map +1 -1
- package/dist/widget/locales/vi.d.ts.map +1 -1
- package/dist/widget/locales/zh.d.ts.map +1 -1
- package/dist/widget/locales/zhHant.d.ts.map +1 -1
- package/dist/widget/pageEnv.d.ts +5 -0
- package/dist/widget/pageEnv.d.ts.map +1 -0
- package/dist/widget/signals.d.ts +41 -0
- package/dist/widget/signals.d.ts.map +1 -0
- package/dist/widget/wallTime.d.ts +15 -0
- package/dist/widget/wallTime.d.ts.map +1 -0
- package/dist/widget/widgetDialogs.d.ts +17 -0
- package/dist/widget/widgetDialogs.d.ts.map +1 -0
- package/dist/widgetFeatures-BM6u0u74.js +186 -0
- package/dist/widgetFeatures-BM6u0u74.js.map +1 -0
- package/dist/widgetFeatures-BZ8OVPN2.cjs +3 -0
- package/dist/widgetFeatures-BZ8OVPN2.cjs.map +1 -0
- package/dist/widgetLocales-BPK5i0Ok.cjs +2 -0
- package/dist/widgetLocales-BPK5i0Ok.cjs.map +1 -0
- package/dist/widgetLocales-DgTR8JSu.js +838 -0
- package/dist/widgetLocales-DgTR8JSu.js.map +1 -0
- package/package.json +3 -3
- package/dist/LayoutSession-BOQCN6yY.js.map +0 -1
- package/dist/LayoutSession-RF8OqOXy.cjs +0 -2
- package/dist/LayoutSession-RF8OqOXy.cjs.map +0 -1
- package/dist/i18n-BsstZ9md.cjs +0 -2
- package/dist/i18n-BsstZ9md.cjs.map +0 -1
- package/dist/i18n-DUmd4Z_r.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetReplay.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetReplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { WidgetAccountPanel } from './WidgetAccountPanel.js';
|
|
2
|
+
import { WidgetOrderTicket } from './WidgetOrderTicket.js';
|
|
3
|
+
import { WidgetBracketBar } from './WidgetBracketBar.js';
|
|
4
|
+
import { WidgetDepthLadder } from './WidgetDepthLadder.js';
|
|
5
|
+
import { DepthData } from '@tradecanvas/commons';
|
|
6
|
+
import { ChartWidget } from './ChartWidget.js';
|
|
7
|
+
/** What trading reads of the widget around it, and asks of it. */
|
|
8
|
+
export interface TradingHost {
|
|
9
|
+
readonly chart: ChartWidget['chart'];
|
|
10
|
+
readonly destroyed: ChartWidget['destroyed'];
|
|
11
|
+
readonly dock: ChartWidget['docking']['dock'];
|
|
12
|
+
readonly featureState: ChartWidget['featureState'];
|
|
13
|
+
formatAlertPrice: ChartWidget['formatAlertPrice'];
|
|
14
|
+
say: ChartWidget['say'];
|
|
15
|
+
readonly state: ChartWidget['state'];
|
|
16
|
+
readonly t: ChartWidget['t'];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Trading in the widget: the account panel, the order ticket and its rules, orders placed at
|
|
20
|
+
* a price on the chart, the depth ladder and the bracket bar.
|
|
21
|
+
*/
|
|
22
|
+
export declare class WidgetTrading {
|
|
23
|
+
private readonly host;
|
|
24
|
+
constructor(host: TradingHost);
|
|
25
|
+
accountPanel: WidgetAccountPanel | null;
|
|
26
|
+
orderTicket: WidgetOrderTicket | null;
|
|
27
|
+
accountFrame: number;
|
|
28
|
+
bracketBar: WidgetBracketBar | null;
|
|
29
|
+
depthLadder: WidgetDepthLadder | null;
|
|
30
|
+
/** Open or close the account panel (no argument: the other way from now). */
|
|
31
|
+
toggleAccountPanel(open?: boolean): void;
|
|
32
|
+
/** The order ticket, at a price from the chart (or the market). */
|
|
33
|
+
openOrderTicket(price?: number): void;
|
|
34
|
+
/** A market's rules for the order ticket (`setMarket`): its step, the day's limits, its lot. */
|
|
35
|
+
private orderRules;
|
|
36
|
+
/** Redraw the account panel once a frame at most (ticks, fills and order changes come in bursts). */
|
|
37
|
+
refreshAccountSoon(): void;
|
|
38
|
+
refreshAccount(): void;
|
|
39
|
+
/** Ask for a limit or stop order at `price` (one unit), and say so. */
|
|
40
|
+
placeOrderAt(kind: 'buyLimit' | 'sellLimit' | 'buyStop' | 'sellStop', price: number): void;
|
|
41
|
+
/** The depth ladder, a page of the dock: open or shut it (the Trade menu's entry). */
|
|
42
|
+
toggleLadder(): void;
|
|
43
|
+
/** Feed order-book depth to the chart overlay, depth ladder, and heatmap. */
|
|
44
|
+
setDepth(depth: DepthData | null): void;
|
|
45
|
+
/** Begin a draggable bracket order at the latest price and show the action bar. */
|
|
46
|
+
startBracket(side: 'buy' | 'sell'): void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=WidgetTrading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetTrading.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetTrading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,kEAAkE;AAClE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACnD,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAClD,GAAG,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAE9C,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAE/C,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7C,YAAY,SAAK;IAEjB,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE3C,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7C,6EAA6E;IAC7E,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAQxC,mEAAmE;IACnE,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAcrC,gGAAgG;IAChG,OAAO,CAAC,UAAU;IAYlB,qGAAqG;IACrG,kBAAkB,IAAI,IAAI;IAQ1B,cAAc,IAAI,IAAI;IActB,uEAAuE;IACvE,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO1F,sFAAsF;IACtF,YAAY,IAAI,IAAI;IAKpB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAMvC,mFAAmF;IACnF,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;CAKzC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Quote } from '@tradecanvas/commons';
|
|
2
|
+
import { WidgetWatchlist, WatchlistEntry } from './WidgetWatchlist.js';
|
|
3
|
+
import { WatchlistStore, WatchlistList } from './WatchlistStore.js';
|
|
4
|
+
import { ChartWidget } from './ChartWidget.js';
|
|
5
|
+
/** What the watchlists read of the widget around them, and ask of it. */
|
|
6
|
+
export interface WatchlistsHost {
|
|
7
|
+
readonly chart: ChartWidget['chart'];
|
|
8
|
+
chartSymbolInfo: ChartWidget['chartSymbolInfo'];
|
|
9
|
+
closePanelByHand: ChartWidget['docking']['closePanelByHand'];
|
|
10
|
+
readonly destroyed: ChartWidget['destroyed'];
|
|
11
|
+
readonly options: ChartWidget['options'];
|
|
12
|
+
refreshSymbolInfo: ChartWidget['refreshSymbolInfo'];
|
|
13
|
+
sessionRefPrice: ChartWidget['sessionRefPrice'];
|
|
14
|
+
setSymbol: ChartWidget['setSymbol'];
|
|
15
|
+
readonly settingsState: ChartWidget['chartSettings']['settingsState'];
|
|
16
|
+
readonly state: ChartWidget['state'];
|
|
17
|
+
symbolEntries: ChartWidget['symbolEntries'];
|
|
18
|
+
symbolSearchFn: ChartWidget['symbolSearchFn'];
|
|
19
|
+
readonly symbols: ChartWidget['symbols'];
|
|
20
|
+
readonly t: ChartWidget['t'];
|
|
21
|
+
withSymbolSearch: ChartWidget['withSymbolSearch'];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The watchlists in the dock: the lists and their store, the quotes they show (from the host
|
|
25
|
+
* or a quote source), the sparklines and the reference prices the change is read against.
|
|
26
|
+
*/
|
|
27
|
+
export declare class WidgetWatchlists {
|
|
28
|
+
private readonly host;
|
|
29
|
+
constructor(host: WatchlistsHost);
|
|
30
|
+
watchlist: WidgetWatchlist | null;
|
|
31
|
+
private watchlistSparkBuffer;
|
|
32
|
+
/** Per-symbol refPrice explicitly pushed by the host via `setWatchlistEntry` — takes precedence over `sessionRefPrice`. */
|
|
33
|
+
private hostWatchlistRefPrice;
|
|
34
|
+
watchlistInterval: ReturnType<typeof setInterval> | null;
|
|
35
|
+
watchlistStore: WatchlistStore | null;
|
|
36
|
+
/** The list follows `setSymbols` (no lists given, none kept). */
|
|
37
|
+
watchlistFromSymbols: boolean;
|
|
38
|
+
private quoteSource;
|
|
39
|
+
stopQuotes: (() => void) | null;
|
|
40
|
+
/** The symbols quotes are coming for, joined. */
|
|
41
|
+
private quotedKey;
|
|
42
|
+
/** The latest quote of each symbol. */
|
|
43
|
+
quotes: Map<string, Quote>;
|
|
44
|
+
/** Every watchlist, in order. */
|
|
45
|
+
getWatchlists(): WatchlistList[];
|
|
46
|
+
/** The shown watchlist's id, or null without a watchlist. */
|
|
47
|
+
getActiveWatchlist(): string | null;
|
|
48
|
+
/** Replace every watchlist (and which one shows). */
|
|
49
|
+
setWatchlists(lists: WatchlistList[], activeList?: string): void;
|
|
50
|
+
setActiveWatchlist(id: string): void;
|
|
51
|
+
/** Add a symbol to a watchlist (the shown one by default). */
|
|
52
|
+
addToWatchlist(symbol: string, listId?: string): void;
|
|
53
|
+
removeFromWatchlist(symbol: string, listId?: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Quotes for the watchlist's rows (and `getQuote`), from your own feed.
|
|
56
|
+
* What isn't a quote (no symbol, no finite last price) is left out.
|
|
57
|
+
*/
|
|
58
|
+
setQuotes(quotes: readonly Quote[]): void;
|
|
59
|
+
/** The latest quote of a symbol, from the quote source or `setQuotes`. */
|
|
60
|
+
getQuote(symbol: string): Quote | null;
|
|
61
|
+
createWatchlist(body: HTMLElement, opts: import('./types.js').WatchlistOptions): void;
|
|
62
|
+
/** Quotes for the shown list's symbols: a new subscription when they change. */
|
|
63
|
+
private followQuotes;
|
|
64
|
+
private takeQuotes;
|
|
65
|
+
/**
|
|
66
|
+
* Push an entry into the watchlist (e.g., from your own WebSocket).
|
|
67
|
+
* Call with the symbols you care about; the active symbol is updated
|
|
68
|
+
* automatically from the chart's live data.
|
|
69
|
+
*
|
|
70
|
+
* A host-supplied `refPrice` takes precedence over the widget's own
|
|
71
|
+
* session-open guess for that symbol — including the active one, so the
|
|
72
|
+
* auto-tick loop stops clobbering it (see `tickWatchlist`).
|
|
73
|
+
*/
|
|
74
|
+
setWatchlistEntry(symbol: string, entry: Partial<WatchlistEntry>): void;
|
|
75
|
+
tickWatchlist(): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=WidgetWatchlists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetWatchlists.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetWatchlists.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AnchorPoint, DrawingOptionDefs, DrawingOptions, DrawingStyle } from '@tradecanvas/commons';
|
|
2
2
|
import { Translator } from './i18n.js';
|
|
3
|
+
import { TextLayout } from './drawingText.js';
|
|
4
|
+
export type { TextLayout };
|
|
3
5
|
/** What the Style tab shows. */
|
|
4
6
|
export interface StyleTabModel {
|
|
5
7
|
/** The style and the options as they are now (a row edits what the last edit left). */
|
|
@@ -21,25 +23,6 @@ export interface StyleTabActions {
|
|
|
21
23
|
* the tool's own switches and choices, and its levels last.
|
|
22
24
|
*/
|
|
23
25
|
export declare function renderStyleTab(body: HTMLElement, model: StyleTabModel, actions: StyleTabActions, t: Translator): void;
|
|
24
|
-
/**
|
|
25
|
-
* How a tool lays its text out in a box (a text, a note, a callout): whether
|
|
26
|
-
* it draws a background and a border unless the style says, and where it
|
|
27
|
-
* wraps (0: only where the text breaks). Tools without one (a price label)
|
|
28
|
-
* get the font rows only.
|
|
29
|
-
*/
|
|
30
|
-
export interface TextLayout {
|
|
31
|
-
box: boolean;
|
|
32
|
-
border: boolean;
|
|
33
|
-
wrap: number;
|
|
34
|
-
/** The size it draws at without one of its own. */
|
|
35
|
-
fontSize: number;
|
|
36
|
-
}
|
|
37
|
-
/** The tools that write in a box, and how: a text has no box and runs on; a note and a callout have one and wrap at 240 px. */
|
|
38
|
-
export declare const TEXT_LAYOUTS: Readonly<Partial<Record<string, TextLayout>>>;
|
|
39
|
-
/** The tools that write their text along a line or in a box, at a place the Text tab picks. */
|
|
40
|
-
export declare const TEXT_PLACES: ReadonlySet<string>;
|
|
41
|
-
/** The colour a tool writes in without one of its own, when it isn't its line's (a price label writes white on its box). */
|
|
42
|
-
export declare const TEXT_COLORS: Readonly<Partial<Record<string, string>>>;
|
|
43
26
|
/**
|
|
44
27
|
* The Text tab: what the drawing writes, its size, bold and italics, and its
|
|
45
28
|
* colour; for a text box (`layout`), its alignment, background, border and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawingSettingsTabs.d.ts","sourceRoot":"","sources":["../../src/widget/drawingSettingsTabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkC,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzI,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"drawingSettingsTabs.d.ts","sourceRoot":"","sources":["../../src/widget/drawingSettingsTabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkC,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzI,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,YAAY,EAAE,UAAU,EAAE,CAAC;AAgB3B,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,OAAO,EAAE,MAAM,cAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,qDAAqD;IACrD,IAAI,EAAE,OAAO,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,oGAAoG;IACpG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACzC;AAqCD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAyBrH;AAqLD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,EAC/C,CAAC,EAAE,UAAU,EACb,MAAM,CAAC,EAAE,UAAU,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,UAAQ,GACZ,IAAI,CA4BN;AA6DD,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,oCAAoC;IACpC,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,sEAAsE;IACtE,SAAS,CAAC,IAAI,MAAM,CAAC;IACrB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CACxD;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CA4B5I"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How each drawing tool writes its text. The chart's text editing reads it as soon as the
|
|
3
|
+
* widget is up; the drawing settings, loaded when first opened, read it too.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* How a tool lays its text out in a box (a text, a note, a callout): whether
|
|
7
|
+
* it draws a background and a border unless the style says, and where it
|
|
8
|
+
* wraps (0: only where the text breaks). Tools without one (a price label)
|
|
9
|
+
* get the font rows only.
|
|
10
|
+
*/
|
|
11
|
+
export interface TextLayout {
|
|
12
|
+
box: boolean;
|
|
13
|
+
border: boolean;
|
|
14
|
+
wrap: number;
|
|
15
|
+
/** The size it draws at without one of its own. */
|
|
16
|
+
fontSize: number;
|
|
17
|
+
}
|
|
18
|
+
/** The tools that write in a box, and how: a text has no box and runs on; a note and a callout have one and wrap at 240 px. */
|
|
19
|
+
export declare const TEXT_LAYOUTS: Readonly<Partial<Record<string, TextLayout>>>;
|
|
20
|
+
/** The tools that write their text along a line or in a box, at a place the Text tab picks. */
|
|
21
|
+
export declare const TEXT_PLACES: ReadonlySet<string>;
|
|
22
|
+
/** The colour a tool writes in without one of its own, when it isn't its line's (a price label writes white on its box). */
|
|
23
|
+
export declare const TEXT_COLORS: Readonly<Partial<Record<string, string>>>;
|
|
24
|
+
//# sourceMappingURL=drawingText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawingText.d.ts","sourceRoot":"","sources":["../../src/widget/drawingText.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+HAA+H;AAC/H,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAQtE,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAG1C,CAAC;AAEH,4HAA4H;AAC5H,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEjE,CAAC"}
|