@stocksharp/trading-controls 0.1.0 → 1.1.0
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/README.md +92 -6
- package/dist/esm/active-orders-widget.js +9 -0
- package/dist/esm/active-orders-widget.js.map +1 -1
- package/dist/esm/control-types.js +3 -0
- package/dist/esm/control-types.js.map +1 -1
- package/dist/esm/grid-menu.js +54 -0
- package/dist/esm/grid-menu.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/order-entry-widget.js +654 -0
- package/dist/esm/order-entry-widget.js.map +1 -0
- package/dist/esm/orderbook-depth.js +51 -0
- package/dist/esm/orderbook-depth.js.map +1 -0
- package/dist/esm/orderbook-widget.js +792 -0
- package/dist/esm/orderbook-widget.js.map +1 -0
- package/dist/esm/positions-widget.js +9 -0
- package/dist/esm/positions-widget.js.map +1 -1
- package/dist/esm/trade-history-widget.js +8 -0
- package/dist/esm/trade-history-widget.js.map +1 -1
- package/dist/esm/tradefeed-aggregator.js +58 -0
- package/dist/esm/tradefeed-aggregator.js.map +1 -0
- package/dist/esm/tradefeed-bubbles.js +131 -0
- package/dist/esm/tradefeed-bubbles.js.map +1 -0
- package/dist/esm/tradefeed-widget.js +692 -0
- package/dist/esm/tradefeed-widget.js.map +1 -0
- package/dist/esm/trading-host.js +2 -0
- package/dist/esm/trading-host.js.map +1 -1
- package/dist/esm/watchlist-widget.js +2 -0
- package/dist/esm/watchlist-widget.js.map +1 -1
- package/dist/sstradingcontrols.js +3346 -25
- package/dist/sstradingcontrols.js.map +3 -3
- package/dist/types/active-orders-widget.d.ts.map +1 -1
- package/dist/types/control-types.d.ts +3 -0
- package/dist/types/control-types.d.ts.map +1 -1
- package/dist/types/grid-menu.d.ts +4 -0
- package/dist/types/grid-menu.d.ts.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/order-entry-widget.d.ts +86 -0
- package/dist/types/order-entry-widget.d.ts.map +1 -0
- package/dist/types/orderbook-depth.d.ts +19 -0
- package/dist/types/orderbook-depth.d.ts.map +1 -0
- package/dist/types/orderbook-widget.d.ts +105 -0
- package/dist/types/orderbook-widget.d.ts.map +1 -0
- package/dist/types/positions-widget.d.ts.map +1 -1
- package/dist/types/trade-history-widget.d.ts.map +1 -1
- package/dist/types/tradefeed-aggregator.d.ts +15 -0
- package/dist/types/tradefeed-aggregator.d.ts.map +1 -0
- package/dist/types/tradefeed-bubbles.d.ts +39 -0
- package/dist/types/tradefeed-bubbles.d.ts.map +1 -0
- package/dist/types/tradefeed-widget.d.ts +78 -0
- package/dist/types/tradefeed-widget.d.ts.map +1 -0
- package/dist/types/trading-data.d.ts +22 -0
- package/dist/types/trading-data.d.ts.map +1 -1
- package/dist/types/trading-host.d.ts +8 -0
- package/dist/types/trading-host.d.ts.map +1 -1
- package/dist/types/watchlist-widget.d.ts.map +1 -1
- package/package.json +21 -2
- package/screenshots/panels.jpg +0 -0
- package/src/active-orders-widget.ts +9 -0
- package/src/control-types.ts +3 -0
- package/src/grid-menu.ts +67 -0
- package/src/index.ts +31 -0
- package/src/order-entry-widget.ts +733 -0
- package/src/orderbook-depth.ts +99 -0
- package/src/orderbook-widget.ts +896 -0
- package/src/positions-widget.ts +9 -0
- package/src/trade-history-widget.ts +8 -0
- package/src/tradefeed-aggregator.ts +95 -0
- package/src/tradefeed-bubbles.ts +194 -0
- package/src/tradefeed-widget.ts +744 -0
- package/src/trading-data.ts +168 -121
- package/src/trading-host.ts +326 -300
- package/src/watchlist-widget.ts +2 -0
- package/styles/theme.css +23 -0
- package/styles/trading-controls.css +911 -0
- package/translation-keys.json +103 -2
package/src/watchlist-widget.ts
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
// repaint would restart the flash animation it just triggered.
|
|
14
14
|
import { makeElement, makeIconButton, makePanelId, makePanelRoot } from './dom.js';
|
|
15
15
|
import { ControlTypes } from './control-types.js';
|
|
16
|
+
import { makeGridMenu } from './grid-menu.js';
|
|
16
17
|
import { MarketDataClient, MarketDataLevels, TradingApi, TradingHost, assertHost } from './trading-host.js';
|
|
17
18
|
import type { InstrumentRow, QuoteStats } from './trading-data.js';
|
|
18
19
|
import { DataGrid, GridColumn } from '@stocksharp/grids/source/data-grid';
|
|
@@ -164,6 +165,7 @@ export class WatchlistWidget {
|
|
|
164
165
|
this._syncSubs();
|
|
165
166
|
this._publishVisible();
|
|
166
167
|
},
|
|
168
|
+
contextMenu: makeGridMenu(this._host),
|
|
167
169
|
})
|
|
168
170
|
: null;
|
|
169
171
|
|
package/styles/theme.css
CHANGED
|
@@ -40,6 +40,13 @@
|
|
|
40
40
|
--t-red: #f6465d;
|
|
41
41
|
--t-green-flash: rgba(14, 203, 129, 0.25);
|
|
42
42
|
--t-red-flash: rgba(246, 70, 93, 0.25);
|
|
43
|
+
/* Pressed/hovered shades of the two directions, for a control that fills a
|
|
44
|
+
whole button with one of them rather than tinting text. */
|
|
45
|
+
--t-green-hover: #0bb974;
|
|
46
|
+
--t-red-hover: #e03e53;
|
|
47
|
+
/* Text ON a direction-filled surface. Not --t-text-bright: that one follows
|
|
48
|
+
the scheme, and both fills stay dark enough for white in either. */
|
|
49
|
+
--t-on-direction: #ffffff;
|
|
43
50
|
|
|
44
51
|
/* Warnings. Two shades on purpose: --t-orange marks an action that is
|
|
45
52
|
destructive but not a cancel (reverse a position), --t-warning marks
|
|
@@ -47,6 +54,20 @@
|
|
|
47
54
|
--t-orange: #f0b90b;
|
|
48
55
|
--t-warning: #e0a800;
|
|
49
56
|
|
|
57
|
+
/* Measured slots, not palette knobs.
|
|
58
|
+
*
|
|
59
|
+
* A ladder's volume bar is a share of the largest level beside it and its
|
|
60
|
+
* tint is a share of the direction colour — both measured per level, per
|
|
61
|
+
* frame, from the data. A class name cannot carry a number, so the control
|
|
62
|
+
* writes these three onto the element it just built and the rules read them
|
|
63
|
+
* back. The values below are the "nothing measured yet" defaults, so a
|
|
64
|
+
* panel renders before its first frame; a host declaring its own palette
|
|
65
|
+
* does not have to repeat them, because every painted element carries its
|
|
66
|
+
* own. */
|
|
67
|
+
--t-ob-bar: 0%;
|
|
68
|
+
--t-ob-heat: 0%;
|
|
69
|
+
--t-ob-sent: 50%;
|
|
70
|
+
|
|
50
71
|
/* Type and shape */
|
|
51
72
|
--t-font: 'DM Sans', -apple-system, sans-serif;
|
|
52
73
|
/* A monospace stack that covers Cyrillic: the blotters render localized
|
|
@@ -80,6 +101,8 @@
|
|
|
80
101
|
--t-red: #dc2626;
|
|
81
102
|
--t-green-flash: rgba(22, 163, 74, 0.22);
|
|
82
103
|
--t-red-flash: rgba(220, 38, 38, 0.22);
|
|
104
|
+
--t-green-hover: #15803d;
|
|
105
|
+
--t-red-hover: #b91c1c;
|
|
83
106
|
|
|
84
107
|
--t-orange: #b45309;
|
|
85
108
|
--t-warning: #b45309;
|