@oanda/labs-crowd-view-widget 1.0.43 → 1.0.45

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.
Files changed (180) hide show
  1. package/CHANGELOG.md +364 -0
  2. package/dist/main/CrowdViewWidget/CrowdViewWidget.js +3 -3
  3. package/dist/main/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/Main.js +22 -12
  5. package/dist/main/CrowdViewWidget/Main.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +16 -17
  7. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +16 -13
  9. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +79 -62
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  12. package/dist/main/CrowdViewWidget/components/Chart/index.js +44 -0
  13. package/dist/main/CrowdViewWidget/components/Chart/index.js.map +1 -1
  14. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  15. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +184 -0
  16. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  17. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +107 -0
  18. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  19. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +3 -2
  20. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  21. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  22. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  23. package/dist/main/CrowdViewWidget/constants.js +31 -0
  24. package/dist/main/CrowdViewWidget/constants.js.map +1 -0
  25. package/dist/main/CrowdViewWidget/render.js +1 -0
  26. package/dist/main/CrowdViewWidget/render.js.map +1 -1
  27. package/dist/main/CrowdViewWidget/selectConfig.js +121 -0
  28. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -0
  29. package/dist/main/CrowdViewWidget/types/index.js +17 -0
  30. package/dist/main/CrowdViewWidget/types/index.js.map +1 -0
  31. package/dist/main/CrowdViewWidget/types/instruments.js +45 -0
  32. package/dist/main/CrowdViewWidget/types/instruments.js.map +1 -0
  33. package/dist/main/CrowdViewWidget/types.js +0 -44
  34. package/dist/main/CrowdViewWidget/types.js.map +1 -1
  35. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js +13 -0
  36. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  37. package/dist/main/gql/getOrderPositionBooks.js +1 -1
  38. package/dist/main/gql/getOrderPositionBooks.js.map +1 -1
  39. package/dist/main/gql/getPriceCandles.js +11 -0
  40. package/dist/main/gql/getPriceCandles.js.map +1 -0
  41. package/dist/main/gql/types/gql.js +2 -3
  42. package/dist/main/gql/types/gql.js.map +1 -1
  43. package/dist/main/gql/types/graphql.js +161 -160
  44. package/dist/main/gql/types/graphql.js.map +1 -1
  45. package/dist/main/translations/sources/en.json +24 -0
  46. package/dist/module/CrowdViewWidget/CrowdViewWidget.js +3 -3
  47. package/dist/module/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  48. package/dist/module/CrowdViewWidget/Main.js +23 -13
  49. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  50. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +15 -16
  51. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  52. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +16 -12
  53. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  54. package/dist/module/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +77 -59
  55. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  56. package/dist/module/CrowdViewWidget/components/Chart/index.js +4 -0
  57. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  58. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  59. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +177 -0
  60. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  61. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +94 -0
  62. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  63. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +3 -2
  64. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  65. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  66. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  67. package/dist/module/CrowdViewWidget/constants.js +25 -0
  68. package/dist/module/CrowdViewWidget/constants.js.map +1 -0
  69. package/dist/module/CrowdViewWidget/render.js +1 -0
  70. package/dist/module/CrowdViewWidget/render.js.map +1 -1
  71. package/dist/module/CrowdViewWidget/selectConfig.js +116 -0
  72. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -0
  73. package/dist/module/CrowdViewWidget/types/index.js +2 -0
  74. package/dist/module/CrowdViewWidget/types/index.js.map +1 -0
  75. package/dist/module/CrowdViewWidget/types/instruments.js +39 -0
  76. package/dist/module/CrowdViewWidget/types/instruments.js.map +1 -0
  77. package/dist/module/CrowdViewWidget/types.js +1 -43
  78. package/dist/module/CrowdViewWidget/types.js.map +1 -1
  79. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js +6 -0
  80. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  81. package/dist/module/gql/getOrderPositionBooks.js +1 -1
  82. package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
  83. package/dist/module/gql/getPriceCandles.js +6 -0
  84. package/dist/module/gql/getPriceCandles.js.map +1 -0
  85. package/dist/module/gql/types/gql.js +2 -3
  86. package/dist/module/gql/types/gql.js.map +1 -1
  87. package/dist/module/gql/types/graphql.js +160 -159
  88. package/dist/module/gql/types/graphql.js.map +1 -1
  89. package/dist/module/translations/sources/en.json +24 -0
  90. package/dist/types/CrowdViewWidget/CrowdViewWidget.d.ts +1 -1
  91. package/dist/types/CrowdViewWidget/components/Chart/ChartWithData.d.ts +1 -1
  92. package/dist/types/CrowdViewWidget/components/Chart/index.d.ts +4 -0
  93. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +23 -16
  94. package/dist/types/CrowdViewWidget/components/Chart/useCrowdViewData.d.ts +2 -0
  95. package/dist/types/CrowdViewWidget/components/Chart/{utils.d.ts → utils/chartUtils.d.ts} +9 -11
  96. package/dist/types/CrowdViewWidget/components/Legend/Legend.d.ts +3 -3
  97. package/dist/types/CrowdViewWidget/constants.d.ts +24 -0
  98. package/dist/types/CrowdViewWidget/selectConfig.d.ts +19 -0
  99. package/dist/types/CrowdViewWidget/types/index.d.ts +1 -0
  100. package/dist/types/CrowdViewWidget/types/instruments.d.ts +36 -0
  101. package/dist/types/CrowdViewWidget/types.d.ts +2 -50
  102. package/dist/types/CrowdViewWidget/utils/instrumentUtils.d.ts +8 -0
  103. package/dist/types/gql/types/gql.d.ts +10 -14
  104. package/dist/types/gql/types/graphql.d.ts +71 -63
  105. package/lokalise.config.json +1 -1
  106. package/package.json +6 -4
  107. package/src/CrowdViewWidget/CrowdViewWidget.tsx +2 -2
  108. package/src/CrowdViewWidget/Main.tsx +32 -22
  109. package/src/CrowdViewWidget/components/Chart/Chart.tsx +21 -17
  110. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +12 -12
  111. package/src/CrowdViewWidget/components/Chart/chartOptions.ts +205 -0
  112. package/src/CrowdViewWidget/components/Chart/index.ts +4 -0
  113. package/src/CrowdViewWidget/components/Chart/types.ts +30 -24
  114. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +288 -0
  115. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +161 -0
  116. package/src/CrowdViewWidget/components/Legend/Legend.tsx +7 -3
  117. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +16 -20
  118. package/src/CrowdViewWidget/constants.ts +28 -0
  119. package/src/CrowdViewWidget/render.tsx +1 -0
  120. package/src/CrowdViewWidget/{config.ts → selectConfig.ts} +65 -43
  121. package/src/CrowdViewWidget/types/index.ts +1 -0
  122. package/src/CrowdViewWidget/types/instruments.ts +37 -0
  123. package/src/CrowdViewWidget/types.ts +4 -55
  124. package/src/CrowdViewWidget/utils/instrumentUtils.ts +11 -0
  125. package/src/gql/getOrderPositionBooks.ts +9 -4
  126. package/src/gql/{mock/getPriceCandles.ts → getPriceCandles.ts} +5 -5
  127. package/src/gql/types/gql.ts +6 -14
  128. package/src/gql/types/graphql.ts +170 -160
  129. package/src/translations/sources/en.json +24 -0
  130. package/test/Main.test.tsx +73 -27
  131. package/test/components/Chart/utils/chartUtils.test.ts +172 -0
  132. package/test/components/Legend.test.tsx +3 -6
  133. package/test/components/LegendBar.test.tsx +7 -8
  134. package/test/utils/instrumentUtils.test.ts +52 -0
  135. package/dist/main/CrowdViewWidget/components/Chart/constants.js +0 -14
  136. package/dist/main/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  137. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  138. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -47
  139. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  140. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -36
  141. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  142. package/dist/main/CrowdViewWidget/components/Chart/utils.js +0 -166
  143. package/dist/main/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  144. package/dist/main/CrowdViewWidget/config.js +0 -107
  145. package/dist/main/CrowdViewWidget/config.js.map +0 -1
  146. package/dist/main/gql/mock/getPriceCandles.js +0 -11
  147. package/dist/main/gql/mock/getPriceCandles.js.map +0 -1
  148. package/dist/main/gql/mock/schema.graphqls +0 -62
  149. package/dist/main/gql/validateInstruments.js +0 -11
  150. package/dist/main/gql/validateInstruments.js.map +0 -1
  151. package/dist/module/CrowdViewWidget/components/Chart/constants.js +0 -8
  152. package/dist/module/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  153. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  154. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -40
  155. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  156. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -29
  157. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  158. package/dist/module/CrowdViewWidget/components/Chart/utils.js +0 -156
  159. package/dist/module/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  160. package/dist/module/CrowdViewWidget/config.js +0 -102
  161. package/dist/module/CrowdViewWidget/config.js.map +0 -1
  162. package/dist/module/gql/mock/getPriceCandles.js +0 -6
  163. package/dist/module/gql/mock/getPriceCandles.js.map +0 -1
  164. package/dist/module/gql/mock/schema.graphqls +0 -62
  165. package/dist/module/gql/validateInstruments.js +0 -5
  166. package/dist/module/gql/validateInstruments.js.map +0 -1
  167. package/dist/types/CrowdViewWidget/components/Chart/constants.d.ts +0 -7
  168. package/dist/types/CrowdViewWidget/components/Chart/getOrderPositionDataMock.d.ts +0 -14
  169. package/dist/types/CrowdViewWidget/components/Chart/getPriceCandlesMock.d.ts +0 -2
  170. package/dist/types/CrowdViewWidget/config.d.ts +0 -22
  171. package/dist/types/gql/validateInstruments.d.ts +0 -1
  172. package/src/CrowdViewWidget/components/Chart/constants.tsx +0 -8
  173. package/src/CrowdViewWidget/components/Chart/getOption.ts +0 -200
  174. package/src/CrowdViewWidget/components/Chart/getOrderPositionDataMock.ts +0 -66
  175. package/src/CrowdViewWidget/components/Chart/getPriceCandlesMock.ts +0 -43
  176. package/src/CrowdViewWidget/components/Chart/utils.ts +0 -191
  177. package/src/gql/mock/schema.graphqls +0 -62
  178. package/src/gql/validateInstruments.ts +0 -10
  179. /package/dist/types/CrowdViewWidget/components/Chart/{getOption.d.ts → chartOptions.d.ts} +0 -0
  180. /package/dist/types/gql/{mock/getPriceCandles.d.ts → getPriceCandles.d.ts} +0 -0
@@ -1,6 +1,5 @@
1
- import { BookType } from '../gql/types/graphql';
2
- import type { LegendType } from './components/Legend/LegendBar';
3
- import { GranularityId, InstrumentId } from './types';
1
+ import { BookType, Granularity } from '../gql/types/graphql';
2
+ import { InstrumentId, InstrumentIdOC } from './types/instruments';
4
3
 
5
4
  const navigationConfig = [
6
5
  {
@@ -14,6 +13,65 @@ const navigationConfig = [
14
13
  ];
15
14
 
16
15
  const instrumentSelectConfigOC = [
16
+ {
17
+ id: InstrumentIdOC.EUR_AUD,
18
+ label: 'EUR/AUD',
19
+ },
20
+ {
21
+ id: InstrumentIdOC.EUR_GBP,
22
+ label: 'EUR/GBP',
23
+ },
24
+ {
25
+ id: InstrumentIdOC.EUR_JPY,
26
+ label: 'EUR/JPY',
27
+ },
28
+ {
29
+ id: InstrumentIdOC.EUR_USD,
30
+ label: 'EUR/USD',
31
+ },
32
+ {
33
+ id: InstrumentIdOC.EUR_CHF,
34
+ label: 'EUR/CHF',
35
+ },
36
+ {
37
+ id: InstrumentIdOC.USD_CHF,
38
+ label: 'USD/CHF',
39
+ },
40
+ {
41
+ id: InstrumentIdOC.USD_JPY,
42
+ label: 'USD/JPY',
43
+ },
44
+ {
45
+ id: InstrumentIdOC.USD_CAD,
46
+ label: 'USD/CAD',
47
+ },
48
+ {
49
+ id: InstrumentIdOC.GBP_USD,
50
+ label: 'GBP/USD',
51
+ },
52
+ {
53
+ id: InstrumentIdOC.GBP_JPY,
54
+ label: 'GBP/JPY',
55
+ },
56
+ {
57
+ id: InstrumentIdOC.GBP_CHF,
58
+ label: 'GBP/CHF',
59
+ },
60
+ {
61
+ id: InstrumentIdOC.AUD_JPY,
62
+ label: 'AUD/JPY',
63
+ },
64
+ {
65
+ id: InstrumentIdOC.AUD_USD,
66
+ label: 'AUD/USD',
67
+ },
68
+ {
69
+ id: InstrumentIdOC.NZD_USD,
70
+ label: 'NZD/USD',
71
+ },
72
+ ];
73
+
74
+ const instrumentSelectConfig = [
17
75
  {
18
76
  id: InstrumentId.EUR_AUD,
19
77
  label: 'EUR/AUD',
@@ -70,10 +128,6 @@ const instrumentSelectConfigOC = [
70
128
  id: InstrumentId.NZD_USD,
71
129
  label: 'NZD/USD',
72
130
  },
73
- ];
74
-
75
- const instrumentSelectConfig = [
76
- ...instrumentSelectConfigOC,
77
131
  {
78
132
  id: InstrumentId.XAU_USD,
79
133
  label: 'XAU/USD',
@@ -84,60 +138,28 @@ const instrumentSelectConfig = [
84
138
  },
85
139
  ];
86
140
 
87
- const instrumentPrecisionConfig: Record<InstrumentId, number> = {
88
- [InstrumentId.EUR_AUD]: 5,
89
- [InstrumentId.EUR_GBP]: 5,
90
- [InstrumentId.EUR_JPY]: 3,
91
- [InstrumentId.EUR_USD]: 5,
92
- [InstrumentId.EUR_CHF]: 5,
93
- [InstrumentId.USD_CHF]: 5,
94
- [InstrumentId.USD_JPY]: 3,
95
- [InstrumentId.USD_CAD]: 5,
96
- [InstrumentId.GBP_USD]: 5,
97
- [InstrumentId.GBP_JPY]: 3,
98
- [InstrumentId.GBP_CHF]: 5,
99
- [InstrumentId.AUD_JPY]: 3,
100
- [InstrumentId.AUD_USD]: 5,
101
- [InstrumentId.NZD_USD]: 5,
102
- [InstrumentId.XAU_USD]: 3,
103
- [InstrumentId.XAG_USD]: 5,
104
- };
105
-
106
141
  const granularitySelectConfig = [
107
142
  {
108
- id: GranularityId.MINUTE_5,
143
+ id: Granularity.M5,
109
144
  label: '5_minutes',
110
145
  },
111
146
  {
112
- id: GranularityId.MINUTE_15,
147
+ id: Granularity.M15,
113
148
  label: '15_minutes',
114
149
  },
115
150
  {
116
- id: GranularityId.MINUTE_30,
117
- label: '30_minutes',
118
- },
119
- {
120
- id: GranularityId.HOUR_1,
151
+ id: Granularity.H1,
121
152
  label: '1_hour',
122
153
  },
123
154
  {
124
- id: GranularityId.HOUR_4,
155
+ id: Granularity.H4,
125
156
  label: '4_hours',
126
157
  },
127
- {
128
- id: GranularityId.DAY_1,
129
- label: '1_day',
130
- },
131
158
  ];
132
159
 
133
160
  export {
134
161
  granularitySelectConfig,
135
- instrumentPrecisionConfig,
136
162
  instrumentSelectConfig,
137
163
  instrumentSelectConfigOC,
138
164
  navigationConfig,
139
165
  };
140
- export const colorMap: Record<LegendType, string[]> = {
141
- long: ['#00857333', '#00715F99', '#00857399', '#008573CC'],
142
- short: ['#DA632566', '#DA632599', '#DA6325CC', '#DA6325'],
143
- };
@@ -0,0 +1 @@
1
+ export * from './instruments';
@@ -0,0 +1,37 @@
1
+ export enum InstrumentId {
2
+ EUR_AUD = 'EURAUD',
3
+ EUR_GBP = 'EURGBP',
4
+ EUR_JPY = 'EURJPY',
5
+ EUR_USD = 'EURUSD',
6
+ EUR_CHF = 'EURCHF',
7
+ USD_CHF = 'USDCHF',
8
+ USD_JPY = 'USDJPY',
9
+ USD_CAD = 'USDCAD',
10
+ GBP_USD = 'GBPUSD',
11
+ GBP_JPY = 'GBPJPY',
12
+ GBP_CHF = 'GBPCHF',
13
+ AUD_JPY = 'AUDJPY',
14
+ AUD_USD = 'AUDUSD',
15
+ NZD_USD = 'NZDUSD',
16
+ XAU_USD = 'XAUUSD',
17
+ XAG_USD = 'XAGUSD',
18
+ }
19
+
20
+ export enum InstrumentIdOC {
21
+ EUR_AUD = 'EUR_AUD',
22
+ EUR_GBP = 'EUR_GBP',
23
+ EUR_JPY = 'EUR_JPY',
24
+ EUR_USD = 'EUR_USD',
25
+ EUR_CHF = 'EUR_CHF',
26
+ USD_CHF = 'USD_CHF',
27
+ USD_JPY = 'USD_JPY',
28
+ USD_CAD = 'USD_CAD',
29
+ GBP_USD = 'GBP_USD',
30
+ GBP_JPY = 'GBP_JPY',
31
+ GBP_CHF = 'GBP_CHF',
32
+ AUD_JPY = 'AUD_JPY',
33
+ AUD_USD = 'AUD_USD',
34
+ NZD_USD = 'NZD_USD',
35
+ XAU_USD = 'XAU_USD',
36
+ XAG_USD = 'XAG_USD',
37
+ }
@@ -1,64 +1,13 @@
1
1
  import type { WidgetConfig } from '@oanda/labs-widget-common';
2
2
 
3
3
  import type { Division } from '../gql/types/graphql';
4
+ import type { InstrumentId } from './types/instruments';
4
5
 
5
- export interface CrowdViewConfig extends WidgetConfig {}
6
+ export interface CrowdViewConfig extends WidgetConfig {
7
+ division: Division;
8
+ }
6
9
 
7
10
  export interface MainProps {
8
11
  instrument?: InstrumentId;
9
12
  division: Division;
10
13
  }
11
-
12
- export enum InstrumentId {
13
- EUR_AUD = 'EURAUD',
14
- EUR_GBP = 'EURGBP',
15
- EUR_JPY = 'EURJPY',
16
- EUR_USD = 'EURUSD',
17
- EUR_CHF = 'EURCHF',
18
- USD_CHF = 'USDCHF',
19
- USD_JPY = 'USDJPY',
20
- USD_CAD = 'USDCAD',
21
- GBP_USD = 'GBPUSD',
22
- GBP_JPY = 'GBPJPY',
23
- GBP_CHF = 'GBPCHF',
24
- AUD_JPY = 'AUDJPY',
25
- AUD_USD = 'AUDUSD',
26
- NZD_USD = 'NZDUSD',
27
- XAU_USD = 'XAUUSD',
28
- XAG_USD = 'XAGUSD',
29
- }
30
-
31
- export enum GranularityId {
32
- MINUTE_5 = 'MINUTE_5',
33
- MINUTE_15 = 'MINUTE_15',
34
- MINUTE_30 = 'MINUTE_30',
35
- HOUR_1 = 'HOUR_1',
36
- HOUR_4 = 'HOUR_4',
37
- DAY_1 = 'DAY_1',
38
- }
39
-
40
- export enum TimeSpanId {
41
- HOUR_1 = 'HOUR_1',
42
- HOUR_12 = 'HOUR_12',
43
- DAY_1 = 'DAY_1',
44
- DAY_2 = 'DAY_2',
45
- WEEK_1 = 'WEEK_1',
46
- WEEK_2 = 'WEEK_2',
47
- WEEK_3 = 'WEEK_3',
48
- MONTH_1 = 'MONTH_1',
49
- MONTH_3 = 'MONTH_3',
50
- MONTH_6 = 'MONTH_6',
51
- YEAR_1 = 'YEAR_1',
52
- YEAR_5 = 'YEAR_5',
53
- }
54
-
55
- export interface OrdersPositionsData {
56
- price: number;
57
- buckets: {
58
- price: number;
59
- longCountPercent: number;
60
- shortCountPercent: number;
61
- }[];
62
- bucketWidth: number;
63
- timestamp: number;
64
- }
@@ -0,0 +1,11 @@
1
+ import { Division } from '../../gql/types/graphql';
2
+ import {
3
+ instrumentSelectConfig,
4
+ instrumentSelectConfigOC,
5
+ } from '../selectConfig';
6
+
7
+ export const getInstrumentConfigForDivision = (division: Division) => {
8
+ return division === Division.Oc
9
+ ? instrumentSelectConfigOC
10
+ : instrumentSelectConfig;
11
+ };
@@ -4,20 +4,25 @@ const getOrderPositionBooks = gql`
4
4
  query GetOrderPositionBooks(
5
5
  $instrument: String!
6
6
  $bookType: BookType!
7
- $recentHours: Int
7
+ $timeSpan: TimeSpan!
8
+ $granularity: Granularity!
9
+ $maxBookPrice: Float
10
+ $minBookPrice: Float
8
11
  ) {
9
12
  orderPositionBooks(
10
13
  instrument: $instrument
11
14
  bookType: $bookType
12
- recentHours: $recentHours
15
+ timeSpan: $timeSpan
16
+ granularity: $granularity
17
+ maxBookPrice: $maxBookPrice
18
+ minBookPrice: $minBookPrice
13
19
  ) {
14
20
  bucketWidth
15
21
  price
16
22
  time
17
23
  buckets {
18
24
  price
19
- longCountPercent
20
- shortCountPercent
25
+ sentiment
21
26
  }
22
27
  }
23
28
  }
@@ -2,26 +2,26 @@ import { gql } from '@apollo/client';
2
2
 
3
3
  const getPriceCandles = gql`
4
4
  query GetPriceCandles(
5
- $division: Division
5
+ $dataSource: DataSource!
6
+ $division: Division!
6
7
  $instrument: String!
7
8
  $granularity: Granularity!
8
9
  $timeSpan: TimeSpan!
9
10
  ) {
10
- getPriceCandles(
11
+ priceCandles(
12
+ dataSource: $dataSource
11
13
  division: $division
12
14
  instrument: $instrument
13
15
  granularity: $granularity
14
16
  timeSpan: $timeSpan
15
17
  ) {
16
- time
17
- unixTime
18
18
  candle {
19
+ point
19
20
  high
20
21
  low
21
22
  open
22
23
  close
23
24
  }
24
- timeSpan
25
25
  }
26
26
  }
27
27
  `;
@@ -13,12 +13,10 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/
13
13
  * Therefore it is highly recommended to use the babel or swc plugin for production.
14
14
  */
15
15
  const documents = {
16
- '\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n':
16
+ '\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n':
17
17
  types.GetOrderPositionBooksDocument,
18
- '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n':
18
+ '\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n }\n }\n':
19
19
  types.GetPriceCandlesDocument,
20
- '\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n':
21
- types.ValidateInstrumentsDocument,
22
20
  };
23
21
 
24
22
  /**
@@ -39,20 +37,14 @@ export function graphql(source: string): unknown;
39
37
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
40
38
  */
41
39
  export function graphql(
42
- source: '\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n'
43
- ): (typeof documents)['\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n'];
40
+ source: '\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n'
41
+ ): (typeof documents)['\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n'];
44
42
  /**
45
43
  * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
46
44
  */
47
45
  export function graphql(
48
- source: '\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'
49
- ): (typeof documents)['\n query GetPriceCandles(\n $division: Division\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n getPriceCandles(\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n time\n unixTime\n candle {\n high\n low\n open\n close\n }\n timeSpan\n }\n }\n'];
50
- /**
51
- * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
52
- */
53
- export function graphql(
54
- source: '\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n'
55
- ): (typeof documents)['\n query validateInstruments($instruments: [String]!, $division: Division) {\n mapInstrumentNames(instruments: $instruments, division: $division) {\n name\n displayName\n }\n }\n'];
46
+ source: '\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n }\n }\n'
47
+ ): (typeof documents)['\n query GetPriceCandles(\n $dataSource: DataSource!\n $division: Division!\n $instrument: String!\n $granularity: Granularity!\n $timeSpan: TimeSpan!\n ) {\n priceCandles(\n dataSource: $dataSource\n division: $division\n instrument: $instrument\n granularity: $granularity\n timeSpan: $timeSpan\n ) {\n candle {\n point\n high\n low\n open\n close\n }\n }\n }\n'];
56
48
 
57
49
  export function graphql(source: string) {
58
50
  return (documents as any)[source] ?? {};