@oanda/labs-instruments-table-widget 1.0.27 → 1.0.29
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/CHANGELOG.md +236 -0
- package/dist/main/InstrumentsTableWidget/Main.js +13 -3
- package/dist/main/InstrumentsTableWidget/Main.js.map +1 -1
- package/dist/main/InstrumentsTableWidget/config.js +6 -1
- package/dist/main/InstrumentsTableWidget/config.js.map +1 -1
- package/dist/main/gql/resolveInstrumentsWithFilters.js +5 -0
- package/dist/main/gql/resolveInstrumentsWithFilters.js.map +1 -1
- package/dist/main/gql/types/gql.js +1 -1
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/main/gql/types/graphql.js +115 -1
- package/dist/main/gql/types/graphql.js.map +1 -1
- package/dist/main/translations/sources/en.json +7 -6
- package/dist/module/InstrumentsTableWidget/Main.js +15 -5
- package/dist/module/InstrumentsTableWidget/Main.js.map +1 -1
- package/dist/module/InstrumentsTableWidget/config.js +7 -2
- package/dist/module/InstrumentsTableWidget/config.js.map +1 -1
- package/dist/module/gql/resolveInstrumentsWithFilters.js +5 -0
- package/dist/module/gql/resolveInstrumentsWithFilters.js.map +1 -1
- package/dist/module/gql/types/gql.js +1 -1
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +114 -0
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/translations/sources/en.json +7 -6
- package/dist/types/InstrumentsTableWidget/config.d.ts +3 -1
- package/dist/types/gql/types/gql.d.ts +4 -2
- package/dist/types/gql/types/graphql.d.ts +22 -2
- package/package.json +3 -3
- package/src/InstrumentsTableWidget/Main.tsx +28 -1
- package/src/InstrumentsTableWidget/config.ts +10 -2
- package/src/gql/resolveInstrumentsWithFilters.ts +5 -0
- package/src/gql/types/gql.ts +3 -3
- package/src/gql/types/graphql.ts +103 -2
- package/src/translations/sources/en.json +7 -6
- package/test/Main.test.tsx +22 -0
- package/test/mocks.ts +53 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,242 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 1.0.29 (2025-07-31)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## 1.0.208 (2025-07-24)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## 1.0.207 (2025-07-18)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## 1.0.206 (2025-07-18)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## 1.0.205 (2025-07-17)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## 1.0.204 (2025-07-09)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 1.0.203 (2025-06-16)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## 1.0.202 (2025-06-04)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## 1.0.201 (2025-06-02)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
## 1.0.200 (2025-05-30)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## 1.0.199 (2025-05-29)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## 1.0.198 (2025-05-26)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## 1.0.197 (2025-05-23)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## 1.0.196 (2025-05-22)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## 1.0.195 (2025-05-21)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## 1.0.194 (2025-05-21)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## 1.0.193 (2025-05-15)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## 1.0.192 (2025-05-14)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## 1.0.191 (2025-04-30)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## 1.0.190 (2025-04-28)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
## 1.0.189 (2025-04-23)
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 1.0.188 (2025-04-22)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
## 1.0.187 (2025-04-18)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## 1.0.186 (2025-04-10)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## 1.0.185 (2025-04-09)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
## 1.0.184 (2025-04-08)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## 1.0.183 (2025-04-04)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
## 1.0.182 (2025-03-21)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## 1.0.181 (2025-03-13)
|
|
119
|
+
|
|
120
|
+
**Note:** Version bump only for package @oanda/labs-instruments-table-widget
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
## 1.0.28 (2025-07-24)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## 1.0.207 (2025-07-18)
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
## 1.0.206 (2025-07-18)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
## 1.0.205 (2025-07-17)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
## 1.0.204 (2025-07-09)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
## 1.0.203 (2025-06-16)
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
## 1.0.202 (2025-06-04)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
## 1.0.201 (2025-06-02)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## 1.0.200 (2025-05-30)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
## 1.0.199 (2025-05-29)
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
## 1.0.198 (2025-05-26)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
## 1.0.197 (2025-05-23)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
## 1.0.196 (2025-05-22)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
## 1.0.195 (2025-05-21)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## 1.0.194 (2025-05-21)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
## 1.0.193 (2025-05-15)
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
## 1.0.192 (2025-05-14)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
## 1.0.191 (2025-04-30)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
## 1.0.190 (2025-04-28)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
## 1.0.189 (2025-04-23)
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
## 1.0.188 (2025-04-22)
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
## 1.0.187 (2025-04-18)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
## 1.0.186 (2025-04-10)
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
## 1.0.185 (2025-04-09)
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
## 1.0.184 (2025-04-08)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## 1.0.183 (2025-04-04)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
## 1.0.182 (2025-03-21)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
## 1.0.181 (2025-03-13)
|
|
235
|
+
|
|
236
|
+
**Note:** Version bump only for package @oanda/labs-instruments-table-widget
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
6
242
|
## 1.0.27 (2025-07-18)
|
|
7
243
|
|
|
8
244
|
|
|
@@ -10,6 +10,7 @@ var _monoI18n = require("@oanda/mono-i18n");
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _usehooksTs = require("usehooks-ts");
|
|
12
12
|
var _resolveInstrumentsWithFilters = require("../gql/resolveInstrumentsWithFilters");
|
|
13
|
+
var _graphql = require("../gql/types/graphql");
|
|
13
14
|
var _components = require("./components");
|
|
14
15
|
var _config = require("./config");
|
|
15
16
|
var _constant = require("./constant");
|
|
@@ -32,6 +33,7 @@ const Main = _ref => {
|
|
|
32
33
|
size
|
|
33
34
|
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
34
35
|
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
36
|
+
const isTradingMode = columns.includes(_labsWidgetCommon.DataRecordType.TRADE_MODE) && columns.includes(_labsWidgetCommon.DataRecordType.SYMBOL);
|
|
35
37
|
const {
|
|
36
38
|
lang
|
|
37
39
|
} = (0, _monoI18n.useLocale)();
|
|
@@ -49,7 +51,9 @@ const Main = _ref => {
|
|
|
49
51
|
offset: 0,
|
|
50
52
|
assetClass: assetClasses || [],
|
|
51
53
|
instruments,
|
|
52
|
-
dataSource
|
|
54
|
+
dataSource,
|
|
55
|
+
withTradingModes: isTradingMode,
|
|
56
|
+
tradeModes: isTradingMode ? [_graphql.TradeMode.TradeLongonly, _graphql.TradeMode.TradeShortonly, _graphql.TradeMode.TradeCloseonly] : undefined
|
|
53
57
|
});
|
|
54
58
|
const pageNumber = queryVariables.offset ? Math.floor(queryVariables.offset / (recordsPerPage || 1)) : 0;
|
|
55
59
|
const {
|
|
@@ -68,7 +72,8 @@ const Main = _ref => {
|
|
|
68
72
|
if (!loading && data?.resolveInstrumentsWithFilters?.instruments) {
|
|
69
73
|
const newRecords = data.resolveInstrumentsWithFilters.instruments.map(record => ({
|
|
70
74
|
instrument: record?.name || '',
|
|
71
|
-
displayName: record?.displayName || ''
|
|
75
|
+
displayName: record?.displayName || '',
|
|
76
|
+
tradeMode: lang(_config.tradeModeLabels[record?.tradeMode || ''])
|
|
72
77
|
}));
|
|
73
78
|
setRecords(newRecords);
|
|
74
79
|
setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);
|
|
@@ -159,7 +164,12 @@ const Main = _ref => {
|
|
|
159
164
|
testId: "instruments-table-wrapper",
|
|
160
165
|
toolTipId: _constant.INSTRUMENT_TOOLTIP_ID,
|
|
161
166
|
viewType: "table"
|
|
162
|
-
})
|
|
167
|
+
}), isTradingMode && _react.default.createElement("div", {
|
|
168
|
+
className: "lw-mt-2 lw-h-8"
|
|
169
|
+
}, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
|
|
170
|
+
labelCallback: lang,
|
|
171
|
+
timestamp: data?.resolveInstrumentsWithFilters?.updatedAt
|
|
172
|
+
})));
|
|
163
173
|
};
|
|
164
174
|
exports.Main = Main;
|
|
165
175
|
//# sourceMappingURL=Main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_components","_config","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","assetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","isLiveRatesDisabled","documentRef","useRef","document","size","useLayoutProvider","isDesktop","Size","DESKTOP","lang","useLocale","target","setQuery","closeQuery","useLiveRatesQuery","records","setRecords","useState","Array","fill","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","assetClass","pageNumber","Math","floor","data","error","loading","useQuery","resolveInstrumentsWithFilters","variables","fetchPolicy","errorPolicy","useEffect","newRecords","map","record","instrument","name","displayName","totalCount","instrumentsNames","_ref2","showError","onVisibilityChange","current","visibilityState","_ref3","useEventListener","headerConfig","headerConfigs","mobile","length","longInstruments","normal","createElement","Fragment","TableWidget","PaginationComponent","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","getHeaderConfig","instrumentColumnWidth","additionalStyles","minWidth","isLoading","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","viewType","exports"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n getHeaderConfig,\n Pagination,\n Size,\n TableWidget,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useEventListener } from 'usehooks-ts';\n\nimport { resolveInstrumentsWithFilters } from '../gql/resolveInstrumentsWithFilters';\nimport type { AssetClassName } from '../gql/types/graphql';\nimport {\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, headerConfigs } from './config';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { MainProps } from './types';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n isLiveRatesDisabled,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } =\n useLiveRatesQuery(isLiveRatesDisabled);\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage || 10).fill({})\n );\n\n const [totalRecords, setTotalRecords] = useState<number>(0);\n\n const [queryVariables, setQueryVariables] =\n useState<ResolveInstrumentsWithFiltersQueryVariables>({\n division,\n count: recordsPerPage,\n searchPattern: '',\n offset: 0,\n assetClass: assetClasses || [],\n instruments,\n dataSource,\n });\n\n const pageNumber = queryVariables.offset\n ? Math.floor(queryVariables.offset / (recordsPerPage || 1))\n : 0;\n\n const { data, error, loading } = useQuery<\n ResolveInstrumentsWithFiltersQuery,\n ResolveInstrumentsWithFiltersQueryVariables\n >(resolveInstrumentsWithFilters, {\n variables: queryVariables,\n fetchPolicy: 'network-only',\n errorPolicy: 'all',\n });\n\n useEffect(() => {\n if (loading) {\n setRecords(new Array(recordsPerPage).fill({}));\n }\n if (!loading && data?.resolveInstrumentsWithFilters?.instruments) {\n const newRecords = data.resolveInstrumentsWithFilters.instruments.map(\n (record) => ({\n instrument: record?.name || '',\n displayName: record?.displayName || '',\n })\n );\n setRecords(newRecords);\n setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading, data]);\n\n useEffect(() => {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n const onVisibilityChange = () => {\n if (documentRef.current.visibilityState === 'hidden') {\n closeQuery();\n }\n if (documentRef.current.visibilityState === 'visible') {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n const headerConfig = !isDesktop\n ? headerConfigs.mobile\n : columns.length < 4\n ? headerConfigs.longInstruments\n : headerConfigs.normal;\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 && recordsPerPage ? (\n <Pagination\n currentPage={pageNumber}\n disabled={loading}\n recordsPerPage={recordsPerPage}\n totalRecords={totalRecords}\n onPageChange={(numb) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: numb * recordsPerPage,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n TabsComponent={\n isInstrumentSearchEnabled || isAssetClassFilterEnabled ? (\n <Filters\n assetClassOptions={[\n {\n id: 'ALL',\n label: lang(assetClassLabels.ALL),\n },\n ...(assetClasses || []).map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n })),\n ]}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n onAssetClassChange={(assetClass) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern: '',\n assetClass:\n assetClass[0] === 'ALL'\n ? assetClasses || []\n : (assetClass as AssetClassName[]),\n }));\n }}\n onSearchChange={(searchPattern) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n activeColumns={columns}\n count={totalRecords}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n instrumentColumnWidth={\n headerConfig.instrument?.additionalStyles.minWidth\n }\n isLoading={loading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"instruments-table-wrapper\"\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n viewType=\"table\"\n />\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_graphql","_components","_config","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","assetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","isLiveRatesDisabled","documentRef","useRef","document","size","useLayoutProvider","isDesktop","Size","DESKTOP","isTradingMode","includes","DataRecordType","TRADE_MODE","SYMBOL","lang","useLocale","target","setQuery","closeQuery","useLiveRatesQuery","records","setRecords","useState","Array","fill","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","assetClass","withTradingModes","tradeModes","TradeMode","TradeLongonly","TradeShortonly","TradeCloseonly","undefined","pageNumber","Math","floor","data","error","loading","useQuery","resolveInstrumentsWithFilters","variables","fetchPolicy","errorPolicy","useEffect","newRecords","map","record","instrument","name","displayName","tradeMode","tradeModeLabels","totalCount","instrumentsNames","_ref2","showError","onVisibilityChange","current","visibilityState","_ref3","useEventListener","headerConfig","headerConfigs","mobile","length","longInstruments","normal","createElement","Fragment","TableWidget","PaginationComponent","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","getHeaderConfig","instrumentColumnWidth","additionalStyles","minWidth","isLoading","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","viewType","className","LastUpdated","labelCallback","timestamp","updatedAt","exports"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n DataRecordType,\n getHeaderConfig,\n LastUpdated,\n Pagination,\n Size,\n TableWidget,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useEventListener } from 'usehooks-ts';\n\nimport { resolveInstrumentsWithFilters } from '../gql/resolveInstrumentsWithFilters';\nimport type { AssetClassName } from '../gql/types/graphql';\nimport {\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n TradeMode,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, headerConfigs, tradeModeLabels } from './config';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { MainProps } from './types';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n isLiveRatesDisabled,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTradingMode =\n columns.includes(DataRecordType.TRADE_MODE) &&\n columns.includes(DataRecordType.SYMBOL);\n\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } =\n useLiveRatesQuery(isLiveRatesDisabled);\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage || 10).fill({})\n );\n\n const [totalRecords, setTotalRecords] = useState<number>(0);\n\n const [queryVariables, setQueryVariables] =\n useState<ResolveInstrumentsWithFiltersQueryVariables>({\n division,\n count: recordsPerPage,\n searchPattern: '',\n offset: 0,\n assetClass: assetClasses || [],\n instruments,\n dataSource,\n withTradingModes: isTradingMode,\n tradeModes: isTradingMode\n ? [\n TradeMode.TradeLongonly,\n TradeMode.TradeShortonly,\n TradeMode.TradeCloseonly,\n ]\n : undefined,\n });\n\n const pageNumber = queryVariables.offset\n ? Math.floor(queryVariables.offset / (recordsPerPage || 1))\n : 0;\n\n const { data, error, loading } = useQuery<\n ResolveInstrumentsWithFiltersQuery,\n ResolveInstrumentsWithFiltersQueryVariables\n >(resolveInstrumentsWithFilters, {\n variables: queryVariables,\n fetchPolicy: 'network-only',\n errorPolicy: 'all',\n });\n\n useEffect(() => {\n if (loading) {\n setRecords(new Array(recordsPerPage).fill({}));\n }\n if (!loading && data?.resolveInstrumentsWithFilters?.instruments) {\n const newRecords = data.resolveInstrumentsWithFilters.instruments.map(\n (record) => ({\n instrument: record?.name || '',\n displayName: record?.displayName || '',\n tradeMode: lang(\n tradeModeLabels[\n (record?.tradeMode as keyof typeof tradeModeLabels) || ''\n ]\n ),\n })\n );\n setRecords(newRecords);\n setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading, data]);\n\n useEffect(() => {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n const onVisibilityChange = () => {\n if (documentRef.current.visibilityState === 'hidden') {\n closeQuery();\n }\n if (documentRef.current.visibilityState === 'visible') {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n const headerConfig = !isDesktop\n ? headerConfigs.mobile\n : columns.length < 4\n ? headerConfigs.longInstruments\n : headerConfigs.normal;\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 && recordsPerPage ? (\n <Pagination\n currentPage={pageNumber}\n disabled={loading}\n recordsPerPage={recordsPerPage}\n totalRecords={totalRecords}\n onPageChange={(numb) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: numb * recordsPerPage,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n TabsComponent={\n isInstrumentSearchEnabled || isAssetClassFilterEnabled ? (\n <Filters\n assetClassOptions={[\n {\n id: 'ALL',\n label: lang(assetClassLabels.ALL),\n },\n ...(assetClasses || []).map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n })),\n ]}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n onAssetClassChange={(assetClass) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern: '',\n assetClass:\n assetClass[0] === 'ALL'\n ? assetClasses || []\n : (assetClass as AssetClassName[]),\n }));\n }}\n onSearchChange={(searchPattern) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n activeColumns={columns}\n count={totalRecords}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n instrumentColumnWidth={\n headerConfig.instrument?.additionalStyles.minWidth\n }\n isLoading={loading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"instruments-table-wrapper\"\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n viewType=\"table\"\n />\n {isTradingMode && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated\n labelCallback={lang}\n timestamp={data?.resolveInstrumentsWithFilters?.updatedAt}\n />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.headerConfigs = exports.assetClassLabels = void 0;
|
|
6
|
+
exports.tradeModeLabels = exports.headerConfigs = exports.assetClassLabels = void 0;
|
|
7
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
8
|
var _graphql = require("../gql/types/graphql");
|
|
9
|
+
const tradeModeLabels = exports.tradeModeLabels = {
|
|
10
|
+
[_graphql.TradeMode.TradeLongonly]: 'long_only',
|
|
11
|
+
[_graphql.TradeMode.TradeShortonly]: 'short_only',
|
|
12
|
+
[_graphql.TradeMode.TradeCloseonly]: 'close_only'
|
|
13
|
+
};
|
|
9
14
|
const normal = {
|
|
10
15
|
[_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
|
|
11
16
|
displayName: 'instrument',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","normal","DataRecordType","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","SPREAD","DAILY_CHANGE","HIGH","LOW","TRADE_MODE","SYMBOL","longInstruments","mobile","headerConfigs","
|
|
1
|
+
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","tradeModeLabels","exports","TradeMode","TradeLongonly","TradeShortonly","TradeCloseonly","normal","DataRecordType","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","SPREAD","DAILY_CHANGE","HIGH","LOW","TRADE_MODE","SYMBOL","longInstruments","mobile","headerConfigs","assetClassLabels","ALL","AssetClassName","Currency","Commodities","Rates","Cryptocurrency","EquityShares","Etfs","Indices"],"sources":["../../../src/InstrumentsTableWidget/config.ts"],"sourcesContent":["import type { HeaderConfigType } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { AssetClassName, TradeMode } from '../gql/types/graphql';\nimport type { AssetClassLabels } from './components/Filters/types';\n\nconst tradeModeLabels: Record<\n TradeMode.TradeLongonly | TradeMode.TradeShortonly | TradeMode.TradeCloseonly,\n string\n> = {\n [TradeMode.TradeLongonly]: 'long_only',\n [TradeMode.TradeShortonly]: 'short_only',\n [TradeMode.TradeCloseonly]: 'close_only',\n};\nconst normal: HeaderConfigType = {\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '200px',\n },\n },\n [DataRecordType.SELL]: {\n displayName: 'sell',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.BUY]: {\n displayName: 'buy',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.SPREAD]: {\n displayName: 'spread',\n additionalStyles: {\n align: 'right',\n minWidth: '50px',\n },\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.HIGH]: {\n displayName: 'today_high',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.LOW]: {\n displayName: 'today_low',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.TRADE_MODE]: {\n displayName: 'trade_mode',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n paddingRight: true,\n },\n },\n [DataRecordType.SYMBOL]: {\n displayName: 'symbol',\n additionalStyles: {\n align: 'center',\n minWidth: '80px',\n },\n },\n};\n\nconst longInstruments: HeaderConfigType = {\n ...normal,\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '250px',\n },\n },\n};\n\nconst mobile: HeaderConfigType = {\n ...normal,\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '150px',\n },\n },\n};\n\nconst headerConfigs = {\n normal,\n longInstruments,\n mobile,\n};\n\nconst assetClassLabels: Record<AssetClassLabels, string> = {\n ALL: 'all',\n [AssetClassName.Currency]: 'currency',\n [AssetClassName.Commodities]: 'commodity',\n [AssetClassName.Rates]: 'bond',\n [AssetClassName.Cryptocurrency]: 'crypto',\n [AssetClassName.EquityShares]: 'share_cfds',\n [AssetClassName.Etfs]: 'etf_cfds',\n [AssetClassName.Indices]: 'index',\n};\n\nexport { assetClassLabels, headerConfigs, tradeModeLabels };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,10 @@ const resolveInstrumentsWithFilters = exports.resolveInstrumentsWithFilters = (0
|
|
|
12
12
|
$dataSource: InstrumentDataSource
|
|
13
13
|
$instruments: [String]
|
|
14
14
|
$searchPattern: String
|
|
15
|
+
$tradeModes: [TradeMode]
|
|
15
16
|
$count: Int
|
|
16
17
|
$offset: Int
|
|
18
|
+
$withTradingModes: Boolean!
|
|
17
19
|
) {
|
|
18
20
|
resolveInstrumentsWithFilters(
|
|
19
21
|
division: $division
|
|
@@ -23,12 +25,15 @@ const resolveInstrumentsWithFilters = exports.resolveInstrumentsWithFilters = (0
|
|
|
23
25
|
searchPattern: $searchPattern
|
|
24
26
|
count: $count
|
|
25
27
|
offset: $offset
|
|
28
|
+
tradeModes: $tradeModes
|
|
26
29
|
) {
|
|
27
30
|
instruments {
|
|
28
31
|
name
|
|
29
32
|
displayName
|
|
33
|
+
tradeMode @include(if: $withTradingModes)
|
|
30
34
|
}
|
|
31
35
|
totalCount
|
|
36
|
+
updatedAt @include(if: $withTradingModes)
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","resolveInstrumentsWithFilters","exports","gql"],"sources":["../../../src/gql/resolveInstrumentsWithFilters.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const resolveInstrumentsWithFilters = gql`\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,IAAAE,WAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","resolveInstrumentsWithFilters","exports","gql"],"sources":["../../../src/gql/resolveInstrumentsWithFilters.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const resolveInstrumentsWithFilters = gql`\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $tradeModes: [TradeMode]\n $count: Int\n $offset: Int\n $withTradingModes: Boolean!\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n tradeModes: $tradeModes\n ) {\n instruments {\n name\n displayName\n tradeMode @include(if: $withTradingModes)\n }\n totalCount\n updatedAt @include(if: $withTradingModes)\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,IAAAE,WAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ var types = _interopRequireWildcard(require("./graphql"));
|
|
|
8
8
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
9
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
10
|
const documents = {
|
|
11
|
-
'\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n': types.ResolveInstrumentsWithFiltersDocument
|
|
11
|
+
'\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $tradeModes: [TradeMode]\n $count: Int\n $offset: Int\n $withTradingModes: Boolean!\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n tradeModes: $tradeModes\n ) {\n instruments {\n name\n displayName\n tradeMode @include(if: $withTradingModes)\n }\n totalCount\n updatedAt @include(if: $withTradingModes)\n }\n }\n': types.ResolveInstrumentsWithFiltersDocument
|
|
12
12
|
};
|
|
13
13
|
function graphql(source) {
|
|
14
14
|
return documents[source] ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","ResolveInstrumentsWithFiltersDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n':\n types.ResolveInstrumentsWithFiltersDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'\n): (typeof documents)['\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMW,SAAS,GAAG;EAChB,
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","ResolveInstrumentsWithFiltersDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $tradeModes: [TradeMode]\\n $count: Int\\n $offset: Int\\n $withTradingModes: Boolean!\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n tradeModes: $tradeModes\\n ) {\\n instruments {\\n name\\n displayName\\n tradeMode @include(if: $withTradingModes)\\n }\\n totalCount\\n updatedAt @include(if: $withTradingModes)\\n }\\n }\\n':\n types.ResolveInstrumentsWithFiltersDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $tradeModes: [TradeMode]\\n $count: Int\\n $offset: Int\\n $withTradingModes: Boolean!\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n tradeModes: $tradeModes\\n ) {\\n instruments {\\n name\\n displayName\\n tradeMode @include(if: $withTradingModes)\\n }\\n totalCount\\n updatedAt @include(if: $withTradingModes)\\n }\\n }\\n'\n): (typeof documents)['\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $tradeModes: [TradeMode]\\n $count: Int\\n $offset: Int\\n $withTradingModes: Boolean!\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n tradeModes: $tradeModes\\n ) {\\n instruments {\\n name\\n displayName\\n tradeMode @include(if: $withTradingModes)\\n }\\n totalCount\\n updatedAt @include(if: $withTradingModes)\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMW,SAAS,GAAG;EAChB,2wBAA2wB,EACzwBvB,KAAK,CAACwB;AACV,CAAC;AAuBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQH,SAAS,CAASG,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VolatilityChartTimeUnit = exports.VolatilityChartTimeSpan = exports.ValueAtRiskDuration = exports.ValueAtRiskBars = exports.TopicalSort = exports.Sort = exports.ResolveInstrumentsWithFiltersDocument = exports.Region = exports.InstrumentDataSource = exports.Division = exports.DataSource = exports.CurrencyPowerBalanceTimeUnit = exports.CurrencyName = exports.CorrelationTimeUnit = exports.BookType = exports.AssetClassName = void 0;
|
|
6
|
+
exports.VolatilityChartTimeUnit = exports.VolatilityChartTimeSpan = exports.ValueAtRiskDuration = exports.ValueAtRiskBars = exports.TradeMode = exports.TopicalSort = exports.Sort = exports.ResolveInstrumentsWithFiltersDocument = exports.Region = exports.InstrumentDataSource = exports.Division = exports.DataSource = exports.CurrencyPowerBalanceTimeUnit = exports.CurrencyName = exports.CorrelationTimeUnit = exports.BookType = exports.AssetClassName = void 0;
|
|
7
7
|
let AssetClassName = exports.AssetClassName = function (AssetClassName) {
|
|
8
8
|
AssetClassName["Commodities"] = "COMMODITIES";
|
|
9
9
|
AssetClassName["Cryptocurrency"] = "CRYPTOCURRENCY";
|
|
@@ -93,6 +93,15 @@ let TopicalSort = exports.TopicalSort = function (TopicalSort) {
|
|
|
93
93
|
TopicalSort["Volatile"] = "VOLATILE";
|
|
94
94
|
return TopicalSort;
|
|
95
95
|
}({});
|
|
96
|
+
let TradeMode = exports.TradeMode = function (TradeMode) {
|
|
97
|
+
TradeMode["TradeCloseonly"] = "TRADE_CLOSEONLY";
|
|
98
|
+
TradeMode["TradeDisabled"] = "TRADE_DISABLED";
|
|
99
|
+
TradeMode["TradeFull"] = "TRADE_FULL";
|
|
100
|
+
TradeMode["TradeLongonly"] = "TRADE_LONGONLY";
|
|
101
|
+
TradeMode["TradeShortonly"] = "TRADE_SHORTONLY";
|
|
102
|
+
TradeMode["TradeUndefined"] = "TRADE_UNDEFINED";
|
|
103
|
+
return TradeMode;
|
|
104
|
+
}({});
|
|
96
105
|
let ValueAtRiskBars = exports.ValueAtRiskBars = function (ValueAtRiskBars) {
|
|
97
106
|
ValueAtRiskBars["C100"] = "C100";
|
|
98
107
|
ValueAtRiskBars["C200"] = "C200";
|
|
@@ -221,6 +230,25 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
|
|
|
221
230
|
value: 'String'
|
|
222
231
|
}
|
|
223
232
|
}
|
|
233
|
+
}, {
|
|
234
|
+
kind: 'VariableDefinition',
|
|
235
|
+
variable: {
|
|
236
|
+
kind: 'Variable',
|
|
237
|
+
name: {
|
|
238
|
+
kind: 'Name',
|
|
239
|
+
value: 'tradeModes'
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
type: {
|
|
243
|
+
kind: 'ListType',
|
|
244
|
+
type: {
|
|
245
|
+
kind: 'NamedType',
|
|
246
|
+
name: {
|
|
247
|
+
kind: 'Name',
|
|
248
|
+
value: 'TradeMode'
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
224
252
|
}, {
|
|
225
253
|
kind: 'VariableDefinition',
|
|
226
254
|
variable: {
|
|
@@ -253,6 +281,25 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
|
|
|
253
281
|
value: 'Int'
|
|
254
282
|
}
|
|
255
283
|
}
|
|
284
|
+
}, {
|
|
285
|
+
kind: 'VariableDefinition',
|
|
286
|
+
variable: {
|
|
287
|
+
kind: 'Variable',
|
|
288
|
+
name: {
|
|
289
|
+
kind: 'Name',
|
|
290
|
+
value: 'withTradingModes'
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
type: {
|
|
294
|
+
kind: 'NonNullType',
|
|
295
|
+
type: {
|
|
296
|
+
kind: 'NamedType',
|
|
297
|
+
name: {
|
|
298
|
+
kind: 'Name',
|
|
299
|
+
value: 'Boolean'
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
256
303
|
}],
|
|
257
304
|
selectionSet: {
|
|
258
305
|
kind: 'SelectionSet',
|
|
@@ -353,6 +400,19 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
|
|
|
353
400
|
value: 'offset'
|
|
354
401
|
}
|
|
355
402
|
}
|
|
403
|
+
}, {
|
|
404
|
+
kind: 'Argument',
|
|
405
|
+
name: {
|
|
406
|
+
kind: 'Name',
|
|
407
|
+
value: 'tradeModes'
|
|
408
|
+
},
|
|
409
|
+
value: {
|
|
410
|
+
kind: 'Variable',
|
|
411
|
+
name: {
|
|
412
|
+
kind: 'Name',
|
|
413
|
+
value: 'tradeModes'
|
|
414
|
+
}
|
|
415
|
+
}
|
|
356
416
|
}],
|
|
357
417
|
selectionSet: {
|
|
358
418
|
kind: 'SelectionSet',
|
|
@@ -376,6 +436,33 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
|
|
|
376
436
|
kind: 'Name',
|
|
377
437
|
value: 'displayName'
|
|
378
438
|
}
|
|
439
|
+
}, {
|
|
440
|
+
kind: 'Field',
|
|
441
|
+
name: {
|
|
442
|
+
kind: 'Name',
|
|
443
|
+
value: 'tradeMode'
|
|
444
|
+
},
|
|
445
|
+
directives: [{
|
|
446
|
+
kind: 'Directive',
|
|
447
|
+
name: {
|
|
448
|
+
kind: 'Name',
|
|
449
|
+
value: 'include'
|
|
450
|
+
},
|
|
451
|
+
arguments: [{
|
|
452
|
+
kind: 'Argument',
|
|
453
|
+
name: {
|
|
454
|
+
kind: 'Name',
|
|
455
|
+
value: 'if'
|
|
456
|
+
},
|
|
457
|
+
value: {
|
|
458
|
+
kind: 'Variable',
|
|
459
|
+
name: {
|
|
460
|
+
kind: 'Name',
|
|
461
|
+
value: 'withTradingModes'
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
}]
|
|
465
|
+
}]
|
|
379
466
|
}]
|
|
380
467
|
}
|
|
381
468
|
}, {
|
|
@@ -384,6 +471,33 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
|
|
|
384
471
|
kind: 'Name',
|
|
385
472
|
value: 'totalCount'
|
|
386
473
|
}
|
|
474
|
+
}, {
|
|
475
|
+
kind: 'Field',
|
|
476
|
+
name: {
|
|
477
|
+
kind: 'Name',
|
|
478
|
+
value: 'updatedAt'
|
|
479
|
+
},
|
|
480
|
+
directives: [{
|
|
481
|
+
kind: 'Directive',
|
|
482
|
+
name: {
|
|
483
|
+
kind: 'Name',
|
|
484
|
+
value: 'include'
|
|
485
|
+
},
|
|
486
|
+
arguments: [{
|
|
487
|
+
kind: 'Argument',
|
|
488
|
+
name: {
|
|
489
|
+
kind: 'Name',
|
|
490
|
+
value: 'if'
|
|
491
|
+
},
|
|
492
|
+
value: {
|
|
493
|
+
kind: 'Variable',
|
|
494
|
+
name: {
|
|
495
|
+
kind: 'Name',
|
|
496
|
+
value: 'withTradingModes'
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}]
|
|
500
|
+
}]
|
|
387
501
|
}]
|
|
388
502
|
}
|
|
389
503
|
}]
|