binbot-charts 0.1.0 → 0.1.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.
@@ -5,7 +5,7 @@ require("core-js/modules/web.dom-collections.iterator.js");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = TVChartContainer;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
@@ -19,73 +19,45 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
21
 
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
24
- class TVChartContainer extends _react.PureComponent {
25
- constructor(props) {
26
- super(props);
27
-
28
- _defineProperty(this, "tvWidget", null);
29
-
30
- this.ref = /*#__PURE__*/_react.default.createRef();
31
- }
32
-
33
- componentDidMount() {
22
+ function TVChartContainer(_ref) {
23
+ let {
24
+ symbol = "AAPL",
25
+ interval = "D",
26
+ libraryPath = "/charting_library/",
27
+ timescaleMarks = [],
28
+ orderLines = []
29
+ } = _ref;
30
+ const containerRef = (0, _react.useRef)(null);
31
+ (0, _react.useEffect)(() => {
34
32
  const widgetOptions = {
35
- symbol: this.props.symbol,
36
- // BEWARE: no trailing slash is expected in feed URL
37
- datafeed: new _datafeed.default(this.props.timescaleMarks),
38
- interval: this.props.interval,
39
- container: this.ref.current,
40
- library_path: this.props.libraryPath,
33
+ symbol: symbol,
34
+ datafeed: new _datafeed.default(timescaleMarks),
35
+ interval: interval,
36
+ container: containerRef.current,
37
+ library_path: libraryPath,
41
38
  locale: "en",
42
- fullscreen: this.props.fullscreen,
43
- autosize: this.props.autosize,
44
- studies_overrides: this.props.studiesOverrides
39
+ fullscreen: false,
40
+ autosize: true,
41
+ studies_overrides: {}
45
42
  };
46
43
  const tvWidget = new _charting_library.widget(widgetOptions);
47
- this.tvWidget = tvWidget;
48
44
  tvWidget.onChartReady(() => {
49
- this.props.orderLines.forEach(element => {
50
- tvWidget.chart().createPositionLine().setText(element.text).setTooltip(element.tooltip) // .setProtectTooltip("Protect position")
51
- // .setCloseTooltip("Close position")
52
- // .setReverseTooltip("Reverse position")
53
- .setQuantity(element.quantity).setQuantityBackgroundColor(element.color).setQuantityBorderColor(element.color) // .setExtendLeft(false)
54
- .setLineStyle(0).setLineLength(25).setLineColor(element.color).setBodyBackgroundColor(element.color).setBodyBorderColor(element.color).setBodyTextColor(element.color).setPrice(element.price);
45
+ orderLines.forEach(element => {
46
+ tvWidget.chart().createPositionLine().setText(element.text).setTooltip(element.tooltip).setQuantity(element.quantity).setQuantityBackgroundColor(element.color).setQuantityBorderColor(element.color).setLineStyle(0).setLineLength(25).setLineColor(element.color).setBodyBorderColor(element.color).setBodyTextColor(element.color).setPrice(element.price);
55
47
  });
56
- });
57
- }
58
-
59
- componentWillUnmount() {
60
- if (this.tvWidget !== null) {
61
- this.tvWidget.remove();
62
- this.tvWidget = null;
63
- }
64
- }
48
+ }); // returned function will be called on component unmount
65
49
 
66
- render() {
67
- return /*#__PURE__*/_react.default.createElement("div", {
68
- ref: this.ref,
69
- style: {
70
- height: "calc(100vh - 80px)"
50
+ return () => {
51
+ if (this.tvWidget !== null) {
52
+ this.tvWidget.remove();
53
+ this.tvWidget = null;
71
54
  }
72
- });
73
- }
74
-
75
- }
76
-
77
- exports.default = TVChartContainer;
78
-
79
- _defineProperty(TVChartContainer, "defaultProps", {
80
- symbol: "AAPL",
81
- interval: "D",
82
- datafeedUrl: "https://demo_feed.tradingview.com",
83
- libraryPath: "/charting_library/",
84
- chartsStorageUrl: "https://saveload.tradingview.com",
85
- chartsStorageApiVersion: "1.1",
86
- clientId: "tradingview.com",
87
- userId: "public_user_id",
88
- fullscreen: false,
89
- autosize: true,
90
- studiesOverrides: {}
91
- });
55
+ };
56
+ }, []);
57
+ return /*#__PURE__*/_react.default.createElement("div", {
58
+ ref: containerRef,
59
+ style: {
60
+ height: "calc(100vh)"
61
+ }
62
+ });
63
+ }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0",
2
+ "version": "0.1.1",
3
3
  "name": "binbot-charts",
4
4
  "dependencies": {
5
5
  "@babel/cli": "^7.18.10",
@@ -9,7 +9,8 @@
9
9
  "react": "^17.0.1",
10
10
  "react-dom": "^17.0.1",
11
11
  "react-scripts": "5.0.1",
12
- "socket.io-client": "^4.5.2"
12
+ "socket.io-client": "^4.5.2",
13
+ "use-immer": "^0.7.0"
13
14
  },
14
15
  "scripts": {
15
16
  "start": "react-scripts start",