@oanda/labs-instruments-table-widget 1.0.44 → 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 (52) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/dist/main/InstrumentsTableWidget/InstrumentsTableWidget.js +4 -3
  3. package/dist/main/InstrumentsTableWidget/InstrumentsTableWidget.js.map +1 -1
  4. package/dist/main/InstrumentsTableWidget/Main.js +25 -21
  5. package/dist/main/InstrumentsTableWidget/Main.js.map +1 -1
  6. package/dist/main/InstrumentsTableWidget/config.js +7 -0
  7. package/dist/main/InstrumentsTableWidget/config.js.map +1 -1
  8. package/dist/main/InstrumentsTableWidget/constant.js +2 -1
  9. package/dist/main/InstrumentsTableWidget/constant.js.map +1 -1
  10. package/dist/main/InstrumentsTableWidget/types.js.map +1 -1
  11. package/dist/main/InstrumentsTableWidget/utils.js +21 -15
  12. package/dist/main/InstrumentsTableWidget/utils.js.map +1 -1
  13. package/dist/main/gql/resolveInstrumentsWithFilters.js +1 -1
  14. package/dist/main/gql/resolveInstrumentsWithFilters.js.map +1 -1
  15. package/dist/main/gql/types/gql.js +1 -1
  16. package/dist/main/gql/types/gql.js.map +1 -1
  17. package/dist/main/gql/types/graphql.js +6 -0
  18. package/dist/main/gql/types/graphql.js.map +1 -1
  19. package/dist/module/InstrumentsTableWidget/InstrumentsTableWidget.js +4 -3
  20. package/dist/module/InstrumentsTableWidget/InstrumentsTableWidget.js.map +1 -1
  21. package/dist/module/InstrumentsTableWidget/Main.js +27 -23
  22. package/dist/module/InstrumentsTableWidget/Main.js.map +1 -1
  23. package/dist/module/InstrumentsTableWidget/config.js +7 -0
  24. package/dist/module/InstrumentsTableWidget/config.js.map +1 -1
  25. package/dist/module/InstrumentsTableWidget/constant.js +2 -1
  26. package/dist/module/InstrumentsTableWidget/constant.js.map +1 -1
  27. package/dist/module/InstrumentsTableWidget/types.js.map +1 -1
  28. package/dist/module/InstrumentsTableWidget/utils.js +21 -15
  29. package/dist/module/InstrumentsTableWidget/utils.js.map +1 -1
  30. package/dist/module/gql/resolveInstrumentsWithFilters.js +1 -1
  31. package/dist/module/gql/resolveInstrumentsWithFilters.js.map +1 -1
  32. package/dist/module/gql/types/gql.js +1 -1
  33. package/dist/module/gql/types/gql.js.map +1 -1
  34. package/dist/module/gql/types/graphql.js +6 -0
  35. package/dist/module/gql/types/graphql.js.map +1 -1
  36. package/dist/types/InstrumentsTableWidget/Main.d.ts +2 -2
  37. package/dist/types/InstrumentsTableWidget/constant.d.ts +2 -1
  38. package/dist/types/InstrumentsTableWidget/types.d.ts +1 -0
  39. package/dist/types/InstrumentsTableWidget/utils.d.ts +7 -5
  40. package/dist/types/gql/types/gql.d.ts +2 -2
  41. package/dist/types/gql/types/graphql.d.ts +1 -0
  42. package/package.json +3 -3
  43. package/src/InstrumentsTableWidget/InstrumentsTableWidget.tsx +3 -6
  44. package/src/InstrumentsTableWidget/Main.tsx +33 -10
  45. package/src/InstrumentsTableWidget/config.ts +7 -0
  46. package/src/InstrumentsTableWidget/constant.ts +2 -0
  47. package/src/InstrumentsTableWidget/types.ts +1 -0
  48. package/src/InstrumentsTableWidget/utils.ts +29 -19
  49. package/src/gql/resolveInstrumentsWithFilters.ts +1 -0
  50. package/src/gql/types/gql.ts +3 -3
  51. package/src/gql/types/graphql.ts +5 -0
  52. package/test/utils.test.ts +255 -30
package/CHANGELOG.md CHANGED
@@ -3,6 +3,190 @@
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.45 (2025-10-09)
7
+
8
+
9
+
10
+ ## 1.0.224 (2025-09-29)
11
+
12
+
13
+
14
+ ## 1.0.223 (2025-09-29)
15
+
16
+
17
+
18
+ ## 1.0.222 (2025-09-17)
19
+
20
+
21
+
22
+ ## 1.0.221 (2025-09-11)
23
+
24
+
25
+
26
+ ## 1.0.220 (2025-09-09)
27
+
28
+
29
+
30
+ ## 1.0.219 (2025-09-02)
31
+
32
+
33
+
34
+ ## 1.0.218 (2025-09-01)
35
+
36
+
37
+
38
+ ## 1.0.217 (2025-08-25)
39
+
40
+
41
+
42
+ ## 1.0.216 (2025-08-18)
43
+
44
+
45
+
46
+ ## 1.0.215 (2025-08-18)
47
+
48
+
49
+
50
+ ## 1.0.214 (2025-08-14)
51
+
52
+
53
+
54
+ ## 1.0.213 (2025-08-12)
55
+
56
+
57
+
58
+ ## 1.0.212 (2025-08-05)
59
+
60
+
61
+
62
+ ## 1.0.211 (2025-08-05)
63
+
64
+
65
+
66
+ ## 1.0.210 (2025-07-31)
67
+
68
+
69
+
70
+ ## 1.0.209 (2025-07-31)
71
+
72
+
73
+
74
+ ## 1.0.208 (2025-07-24)
75
+
76
+
77
+
78
+ ## 1.0.207 (2025-07-18)
79
+
80
+
81
+
82
+ ## 1.0.206 (2025-07-18)
83
+
84
+
85
+
86
+ ## 1.0.205 (2025-07-17)
87
+
88
+
89
+
90
+ ## 1.0.204 (2025-07-09)
91
+
92
+
93
+
94
+ ## 1.0.203 (2025-06-16)
95
+
96
+
97
+
98
+ ## 1.0.202 (2025-06-04)
99
+
100
+
101
+
102
+ ## 1.0.201 (2025-06-02)
103
+
104
+
105
+
106
+ ## 1.0.200 (2025-05-30)
107
+
108
+
109
+
110
+ ## 1.0.199 (2025-05-29)
111
+
112
+
113
+
114
+ ## 1.0.198 (2025-05-26)
115
+
116
+
117
+
118
+ ## 1.0.197 (2025-05-23)
119
+
120
+
121
+
122
+ ## 1.0.196 (2025-05-22)
123
+
124
+
125
+
126
+ ## 1.0.195 (2025-05-21)
127
+
128
+
129
+
130
+ ## 1.0.194 (2025-05-21)
131
+
132
+
133
+
134
+ ## 1.0.193 (2025-05-15)
135
+
136
+
137
+
138
+ ## 1.0.192 (2025-05-14)
139
+
140
+
141
+
142
+ ## 1.0.191 (2025-04-30)
143
+
144
+
145
+
146
+ ## 1.0.190 (2025-04-28)
147
+
148
+
149
+
150
+ ## 1.0.189 (2025-04-23)
151
+
152
+
153
+
154
+ ## 1.0.188 (2025-04-22)
155
+
156
+
157
+
158
+ ## 1.0.187 (2025-04-18)
159
+
160
+
161
+
162
+ ## 1.0.186 (2025-04-10)
163
+
164
+
165
+
166
+ ## 1.0.185 (2025-04-09)
167
+
168
+
169
+
170
+ ## 1.0.184 (2025-04-08)
171
+
172
+
173
+
174
+ ## 1.0.183 (2025-04-04)
175
+
176
+
177
+
178
+ ## 1.0.182 (2025-03-21)
179
+
180
+
181
+
182
+ ## 1.0.181 (2025-03-13)
183
+
184
+ **Note:** Version bump only for package @oanda/labs-instruments-table-widget
185
+
186
+
187
+
188
+
189
+
6
190
  ## 1.0.44 (2025-09-29)
7
191
 
8
192
 
@@ -11,7 +11,6 @@ var _graphql = require("../gql/types/graphql");
11
11
  var _translations = require("../translations");
12
12
  var _Main = require("./Main");
13
13
  var _types = require("./types");
14
- var _utils = require("./utils");
15
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
15
  const InstrumentsTableWidget = _ref => {
17
16
  let {
@@ -36,13 +35,14 @@ const InstrumentsTableWidget = _ref => {
36
35
  cache: new _client.InMemoryCache()
37
36
  });
38
37
  const liveRatesDataSource = dataSource === _graphql.DataSource.All ? undefined : dataSource;
39
- const divisionCode = (0, _utils.getLiveRatesDivisionCode)(division, priceType, liveRatesDataSource || _graphql.DataSource.V20);
38
+ const divisionCode = priceType === _types.PriceType.Division ? division : undefined;
40
39
  const liveRates = !columns || columns !== null && columns !== void 0 && columns.some(column => column === _labsWidgetCommon.DataRecordType.BUY || column === _labsWidgetCommon.DataRecordType.SELL || column === _labsWidgetCommon.DataRecordType.DAILY_CHANGE || column === _labsWidgetCommon.DataRecordType.SPREAD || column === _labsWidgetCommon.DataRecordType.HIGH || column === _labsWidgetCommon.DataRecordType.LOW) ? {
41
40
  url: liveRatesUrl,
42
41
  options: {
43
42
  divisionCode,
44
43
  dataSource: liveRatesDataSource
45
- }
44
+ },
45
+ multipleDataSources: dataSource === _graphql.DataSource.All
46
46
  } : undefined;
47
47
  return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
48
48
  client: client,
@@ -63,6 +63,7 @@ const InstrumentsTableWidget = _ref => {
63
63
  isAssetClassFilterEnabled: isAssetClassFilterEnabled,
64
64
  isInstrumentSearchEnabled: isInstrumentSearchEnabled,
65
65
  isLiveRatesDisabled: liveRates === undefined,
66
+ priceType: priceType,
66
67
  recordsPerPage: recordsPerPage
67
68
  })));
68
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InstrumentsTableWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_graphql","_translations","_Main","_types","_utils","e","__esModule","default","InstrumentsTableWidget","_ref","division","instruments","columns","graphqlUrl","locale","theme","isParamError","logoLink","liveRatesUrl","assetClasses","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","priceType","PriceType","Division","client","ApolloClient","uri","cache","InMemoryCache","liveRatesDataSource","DataSource","All","undefined","divisionCode","getLiveRatesDivisionCode","V20","liveRates","some","column","DataRecordType","BUY","SELL","DAILY_CHANGE","SPREAD","HIGH","LOW","url","options","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Main","isLiveRatesDisabled","exports"],"sources":["../../../src/InstrumentsTableWidget/InstrumentsTableWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport {\n DataRecordType,\n WidgetProvider,\n WidgetWrapper,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { DataSource } from '../gql/types/graphql';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { type InstrumentsTableConfig, PriceType } from './types';\nimport { getLiveRatesDivisionCode } from './utils';\n\nconst InstrumentsTableWidget = ({\n division,\n instruments,\n columns,\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n liveRatesUrl,\n assetClasses,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n priceType = PriceType.Division,\n}: InstrumentsTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const liveRatesDataSource =\n dataSource === DataSource.All ? undefined : dataSource;\n\n const divisionCode = getLiveRatesDivisionCode(\n division,\n priceType,\n liveRatesDataSource || DataSource.V20\n );\n\n const liveRates =\n !columns ||\n columns?.some(\n (column) =>\n column === DataRecordType.BUY ||\n column === DataRecordType.SELL ||\n column === DataRecordType.DAILY_CHANGE ||\n column === DataRecordType.SPREAD ||\n column === DataRecordType.HIGH ||\n column === DataRecordType.LOW\n )\n ? {\n url: liveRatesUrl,\n options: { divisionCode, dataSource: liveRatesDataSource },\n }\n : undefined;\n\n return (\n <WidgetProvider\n client={client}\n liveRates={liveRates}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main\n assetClasses={assetClasses}\n columns={columns}\n dataSource={dataSource}\n division={division}\n instruments={instruments}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n isLiveRatesDisabled={liveRates === undefined}\n recordsPerPage={recordsPerPage}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { InstrumentsTableWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAAmD,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnD,MAAMG,sBAAsB,GAAGC,IAAA,IAgBD;EAAA,IAhBE;IAC9BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,yBAAyB;IACzBC,yBAAyB;IACzBC,cAAc;IACdC,UAAU;IACVC,SAAS,GAAGC,gBAAS,CAACC;EACA,CAAC,GAAAjB,IAAA;EACvB,MAAMkB,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEhB,UAAU;IACfiB,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GACvBT,UAAU,KAAKU,mBAAU,CAACC,GAAG,GAAGC,SAAS,GAAGZ,UAAU;EAExD,MAAMa,YAAY,GAAG,IAAAC,+BAAwB,EAC3C3B,QAAQ,EACRc,SAAS,EACTQ,mBAAmB,IAAIC,mBAAU,CAACK,GACpC,CAAC;EAED,MAAMC,SAAS,GACb,CAAC3B,OAAO,IACRA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE4B,IAAI,CACVC,MAAM,IACLA,MAAM,KAAKC,gCAAc,CAACC,GAAG,IAC7BF,MAAM,KAAKC,gCAAc,CAACE,IAAI,IAC9BH,MAAM,KAAKC,gCAAc,CAACG,YAAY,IACtCJ,MAAM,KAAKC,gCAAc,CAACI,MAAM,IAChCL,MAAM,KAAKC,gCAAc,CAACK,IAAI,IAC9BN,MAAM,KAAKC,gCAAc,CAACM,GAC9B,CAAC,GACG;IACEC,GAAG,EAAE/B,YAAY;IACjBgC,OAAO,EAAE;MAAEd,YAAY;MAAEb,UAAU,EAAES;IAAoB;EAC3D,CAAC,GACDG,SAAS;EAEf,OACErC,MAAA,CAAAS,OAAA,CAAA4C,aAAA,CAACtD,iBAAA,CAAAuD,cAAc;IACbzB,MAAM,EAAEA,MAAO;IACfY,SAAS,EAAEA,SAAU;IACrBzB,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbsC,YAAY,EAAEA;EAAa,GAE3BvD,MAAA,CAAAS,OAAA,CAAA4C,aAAA,CAACtD,iBAAA,CAAAyD,aAAa;IACZtC,YAAY,EAAEA,YAAa;IAC3BuC,QAAQ,EAAC,MAAM;IACftC,QAAQ,EAAEA;EAAS,GAEnBnB,MAAA,CAAAS,OAAA,CAAA4C,aAAA,CAACjD,KAAA,CAAAsD,IAAI;IACHrC,YAAY,EAAEA,YAAa;IAC3BP,OAAO,EAAEA,OAAQ;IACjBW,UAAU,EAAEA,UAAW;IACvBb,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBS,yBAAyB,EAAEA,yBAA0B;IACrDC,yBAAyB,EAAEA,yBAA0B;IACrDoC,mBAAmB,EAAElB,SAAS,KAAKJ,SAAU;IAC7Cb,cAAc,EAAEA;EAAe,CAChC,CACY,CACD,CAAC;AAErB,CAAC;AAACoC,OAAA,CAAAlD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"file":"InstrumentsTableWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_graphql","_translations","_Main","_types","e","__esModule","default","InstrumentsTableWidget","_ref","division","instruments","columns","graphqlUrl","locale","theme","isParamError","logoLink","liveRatesUrl","assetClasses","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","priceType","PriceType","Division","client","ApolloClient","uri","cache","InMemoryCache","liveRatesDataSource","DataSource","All","undefined","divisionCode","liveRates","some","column","DataRecordType","BUY","SELL","DAILY_CHANGE","SPREAD","HIGH","LOW","url","options","multipleDataSources","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Main","isLiveRatesDisabled","exports"],"sources":["../../../src/InstrumentsTableWidget/InstrumentsTableWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport {\n DataRecordType,\n WidgetProvider,\n WidgetWrapper,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { DataSource } from '../gql/types/graphql';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { type InstrumentsTableConfig, PriceType } from './types';\n\nconst InstrumentsTableWidget = ({\n division,\n instruments,\n columns,\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n liveRatesUrl,\n assetClasses,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n priceType = PriceType.Division,\n}: InstrumentsTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const liveRatesDataSource =\n dataSource === DataSource.All ? undefined : dataSource;\n\n const divisionCode = priceType === PriceType.Division ? division : undefined;\n\n const liveRates =\n !columns ||\n columns?.some(\n (column) =>\n column === DataRecordType.BUY ||\n column === DataRecordType.SELL ||\n column === DataRecordType.DAILY_CHANGE ||\n column === DataRecordType.SPREAD ||\n column === DataRecordType.HIGH ||\n column === DataRecordType.LOW\n )\n ? {\n url: liveRatesUrl,\n options: { divisionCode, dataSource: liveRatesDataSource },\n multipleDataSources: dataSource === DataSource.All,\n }\n : undefined;\n\n return (\n <WidgetProvider\n client={client}\n liveRates={liveRates}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main\n assetClasses={assetClasses}\n columns={columns}\n dataSource={dataSource}\n division={division}\n instruments={instruments}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n isLiveRatesDisabled={liveRates === undefined}\n priceType={priceType}\n recordsPerPage={recordsPerPage}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { InstrumentsTableWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAiE,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjE,MAAMG,sBAAsB,GAAGC,IAAA,IAgBD;EAAA,IAhBE;IAC9BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,yBAAyB;IACzBC,yBAAyB;IACzBC,cAAc;IACdC,UAAU;IACVC,SAAS,GAAGC,gBAAS,CAACC;EACA,CAAC,GAAAjB,IAAA;EACvB,MAAMkB,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEhB,UAAU;IACfiB,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GACvBT,UAAU,KAAKU,mBAAU,CAACC,GAAG,GAAGC,SAAS,GAAGZ,UAAU;EAExD,MAAMa,YAAY,GAAGZ,SAAS,KAAKC,gBAAS,CAACC,QAAQ,GAAGhB,QAAQ,GAAGyB,SAAS;EAE5E,MAAME,SAAS,GACb,CAACzB,OAAO,IACRA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE0B,IAAI,CACVC,MAAM,IACLA,MAAM,KAAKC,gCAAc,CAACC,GAAG,IAC7BF,MAAM,KAAKC,gCAAc,CAACE,IAAI,IAC9BH,MAAM,KAAKC,gCAAc,CAACG,YAAY,IACtCJ,MAAM,KAAKC,gCAAc,CAACI,MAAM,IAChCL,MAAM,KAAKC,gCAAc,CAACK,IAAI,IAC9BN,MAAM,KAAKC,gCAAc,CAACM,GAC9B,CAAC,GACG;IACEC,GAAG,EAAE7B,YAAY;IACjB8B,OAAO,EAAE;MAAEZ,YAAY;MAAEb,UAAU,EAAES;IAAoB,CAAC;IAC1DiB,mBAAmB,EAAE1B,UAAU,KAAKU,mBAAU,CAACC;EACjD,CAAC,GACDC,SAAS;EAEf,OACEpC,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAACpD,iBAAA,CAAAqD,cAAc;IACbxB,MAAM,EAAEA,MAAO;IACfU,SAAS,EAAEA,SAAU;IACrBvB,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbqC,YAAY,EAAEA;EAAa,GAE3BrD,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAACpD,iBAAA,CAAAuD,aAAa;IACZrC,YAAY,EAAEA,YAAa;IAC3BsC,QAAQ,EAAC,MAAM;IACfrC,QAAQ,EAAEA;EAAS,GAEnBlB,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAAC/C,KAAA,CAAAoD,IAAI;IACHpC,YAAY,EAAEA,YAAa;IAC3BP,OAAO,EAAEA,OAAQ;IACjBW,UAAU,EAAEA,UAAW;IACvBb,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBS,yBAAyB,EAAEA,yBAA0B;IACrDC,yBAAyB,EAAEA,yBAA0B;IACrDmC,mBAAmB,EAAEnB,SAAS,KAAKF,SAAU;IAC7CX,SAAS,EAAEA,SAAU;IACrBF,cAAc,EAAEA;EAAe,CAChC,CACY,CACD,CAAC;AAErB,CAAC;AAACmC,OAAA,CAAAjD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -14,6 +14,8 @@ var _graphql = require("../gql/types/graphql");
14
14
  var _components = require("./components");
15
15
  var _config = require("./config");
16
16
  var _constant = require("./constant");
17
+ var _types = require("./types");
18
+ var _utils = require("./utils");
17
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -31,7 +33,8 @@ const Main = _ref => {
31
33
  isInstrumentSearchEnabled,
32
34
  recordsPerPage,
33
35
  dataSource,
34
- isLiveRatesDisabled
36
+ isLiveRatesDisabled,
37
+ priceType = _types.PriceType.Division
35
38
  } = _ref;
36
39
  const documentRef = (0, _react.useRef)(document);
37
40
  const {
@@ -79,24 +82,35 @@ const Main = _ref => {
79
82
  const newRecords = data.resolveInstrumentsWithFilters.instruments.map(record => ({
80
83
  instrument: (record === null || record === void 0 ? void 0 : record.name) || '',
81
84
  displayName: (record === null || record === void 0 ? void 0 : record.displayName) || '',
85
+ dataSource: record === null || record === void 0 ? void 0 : record.dataSource,
82
86
  tradeMode: lang(_config.tradeModeLabels[(record === null || record === void 0 ? void 0 : record.tradeMode) || ''])
83
87
  }));
84
88
  setRecords(newRecords);
85
89
  setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);
86
90
  }
87
91
  }, [loading, data]);
88
- (0, _react.useEffect)(() => {
89
- const instrumentsNames = records.map(_ref2 => {
90
- let {
91
- instrument
92
- } = _ref2;
93
- return instrument;
94
- });
95
- if (instrumentsNames[0]) {
92
+ const setupQueries = recordsData => {
93
+ const {
94
+ v20instruments,
95
+ mt5instruments
96
+ } = (0, _utils.groupNamesBySource)(recordsData);
97
+ if (mt5instruments[0]) {
98
+ setQuery({
99
+ instruments: mt5instruments,
100
+ dataSource: _graphql.DataSource.Mt5,
101
+ division: priceType === _types.PriceType.Division ? undefined : _graphql.Division.Oc
102
+ });
103
+ }
104
+ if (v20instruments[0]) {
96
105
  setQuery({
97
- instruments: instrumentsNames
106
+ instruments: v20instruments,
107
+ dataSource: _graphql.DataSource.V20,
108
+ division: priceType === _types.PriceType.Division ? undefined : _constant.RAW_PRICE_DIVISION
98
109
  });
99
110
  }
111
+ };
112
+ (0, _react.useEffect)(() => {
113
+ setupQueries(records);
100
114
  }, [records]);
101
115
  const showError = !loading && !!error || !loading && !data;
102
116
  const onVisibilityChange = () => {
@@ -104,17 +118,7 @@ const Main = _ref => {
104
118
  closeQuery();
105
119
  }
106
120
  if (documentRef.current.visibilityState === 'visible') {
107
- const instrumentsNames = records.map(_ref3 => {
108
- let {
109
- instrument
110
- } = _ref3;
111
- return instrument;
112
- });
113
- if (instrumentsNames[0]) {
114
- setQuery({
115
- instruments: instrumentsNames
116
- });
117
- }
121
+ setupQueries(records);
118
122
  }
119
123
  };
120
124
  (0, _usehooksTs.useEventListener)('visibilitychange', onVisibilityChange, documentRef);
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_graphql","_components","_config","_constant","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Main","_ref","_headerConfig$instrum","_data$resolveInstrume2","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","_data$resolveInstrume","newRecords","map","record","instrument","name","displayName","tradeMode","tradeModeLabels","totalCount","instrumentsNames","_ref2","showError","onVisibilityChange","current","visibilityState","_ref3","useEventListener","headerConfig","headerConfigs","mobile","longInstruments","normal","createElement","Fragment","TableWidget","PaginationComponent","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","sort","a","b","localeCompare","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 || [])\n .map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\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":[]}
1
+ {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_graphql","_components","_config","_constant","_types","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Main","_ref","_headerConfig$instrum","_data$resolveInstrume2","instruments","division","assetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","isLiveRatesDisabled","priceType","PriceType","Division","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","_data$resolveInstrume","newRecords","map","record","instrument","name","displayName","tradeMode","tradeModeLabels","totalCount","setupQueries","recordsData","v20instruments","mt5instruments","groupNamesBySource","DataSource","Mt5","Oc","V20","RAW_PRICE_DIVISION","showError","onVisibilityChange","current","visibilityState","useEventListener","headerConfig","headerConfigs","mobile","longInstruments","normal","createElement","Fragment","TableWidget","PaginationComponent","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","sort","a","b","localeCompare","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 DataSource,\n Division,\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n TradeMode,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, headerConfigs, tradeModeLabels } from './config';\nimport {\n DEFAULT_COLUMNS,\n INSTRUMENT_TOOLTIP_ID,\n RAW_PRICE_DIVISION,\n} from './constant';\nimport { type MainProps, PriceType } from './types';\nimport { groupNamesBySource } from './utils';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n isLiveRatesDisabled,\n priceType = PriceType.Division,\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 dataSource: record?.dataSource,\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 const setupQueries = (recordsData: DataRecord[]) => {\n const { v20instruments, mt5instruments } = groupNamesBySource(recordsData);\n\n if (mt5instruments[0]) {\n setQuery({\n instruments: mt5instruments,\n dataSource: DataSource.Mt5,\n division: priceType === PriceType.Division ? undefined : Division.Oc,\n });\n }\n if (v20instruments[0]) {\n setQuery({\n instruments: v20instruments,\n dataSource: DataSource.V20,\n division:\n priceType === PriceType.Division ? undefined : RAW_PRICE_DIVISION,\n });\n }\n };\n\n useEffect(() => {\n setupQueries(records);\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 setupQueries(records);\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 || [])\n .map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\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":[]}
@@ -82,6 +82,13 @@ const normal = {
82
82
  align: 'center',
83
83
  minWidth: '80px'
84
84
  }
85
+ },
86
+ [_labsWidgetCommon.DataRecordType.DATA_SOURCE]: {
87
+ displayName: 'Data Source',
88
+ additionalStyles: {
89
+ align: 'right',
90
+ minWidth: '80px'
91
+ }
85
92
  }
86
93
  };
87
94
  const longInstruments = _objectSpread(_objectSpread({}, normal), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","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":[]}
1
+ {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","tradeModeLabels","exports","TradeMode","TradeLongonly","TradeShortonly","TradeCloseonly","normal","DataRecordType","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","SPREAD","DAILY_CHANGE","HIGH","LOW","TRADE_MODE","SYMBOL","DATA_SOURCE","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 [DataRecordType.DATA_SOURCE]: {\n displayName: 'Data Source',\n additionalStyles: {\n align: 'right',\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":[]}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.INSTRUMENT_TOOLTIP_ID = exports.DEFAULT_TOTAL_COUNT = exports.DEFAULT_COUNT = exports.DEFAULT_COLUMNS = void 0;
6
+ exports.RAW_PRICE_DIVISION = exports.INSTRUMENT_TOOLTIP_ID = exports.DEFAULT_TOTAL_COUNT = exports.DEFAULT_COUNT = exports.DEFAULT_COLUMNS = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ const RAW_PRICE_DIVISION = exports.RAW_PRICE_DIVISION = 'MKTD';
8
9
  const DEFAULT_COUNT = exports.DEFAULT_COUNT = 10;
9
10
  const DEFAULT_TOTAL_COUNT = exports.DEFAULT_TOTAL_COUNT = 50;
10
11
  const DEFAULT_COLUMNS = exports.DEFAULT_COLUMNS = [_labsWidgetCommon.DataRecordType.SELL, _labsWidgetCommon.DataRecordType.BUY, _labsWidgetCommon.DataRecordType.DAILY_CHANGE, _labsWidgetCommon.DataRecordType.SPREAD, _labsWidgetCommon.DataRecordType.HIGH, _labsWidgetCommon.DataRecordType.LOW];
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","names":["_labsWidgetCommon","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","DataRecordType","SELL","BUY","DAILY_CHANGE","SPREAD","HIGH","LOW","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/InstrumentsTableWidget/constant.ts"],"sourcesContent":["import { DataRecordType } from '@oanda/labs-widget-common';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n DataRecordType.SELL,\n DataRecordType.BUY,\n DataRecordType.DAILY_CHANGE,\n DataRecordType.SPREAD,\n DataRecordType.HIGH,\n DataRecordType.LOW,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,EAAE;AAExB,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,CACtBC,gCAAc,CAACC,IAAI,EACnBD,gCAAc,CAACE,GAAG,EAClBF,gCAAc,CAACG,YAAY,EAC3BH,gCAAc,CAACI,MAAM,EACrBJ,gCAAc,CAACK,IAAI,EACnBL,gCAAc,CAACM,GAAG,CACnB;AAED,MAAMC,qBAAqB,GAAAV,OAAA,CAAAU,qBAAA,GAAG,uBAAuB","ignoreList":[]}
1
+ {"version":3,"file":"constant.js","names":["_labsWidgetCommon","require","RAW_PRICE_DIVISION","exports","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","DataRecordType","SELL","BUY","DAILY_CHANGE","SPREAD","HIGH","LOW","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/InstrumentsTableWidget/constant.ts"],"sourcesContent":["import { DataRecordType } from '@oanda/labs-widget-common';\n\nconst RAW_PRICE_DIVISION = 'MKTD';\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n DataRecordType.SELL,\n DataRecordType.BUY,\n DataRecordType.DAILY_CHANGE,\n DataRecordType.SPREAD,\n DataRecordType.HIGH,\n DataRecordType.LOW,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n RAW_PRICE_DIVISION,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,MAAM;AACjC,MAAME,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG,EAAE;AAExB,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAH,OAAA,CAAAG,eAAA,GAAG,CACtBC,gCAAc,CAACC,IAAI,EACnBD,gCAAc,CAACE,GAAG,EAClBF,gCAAc,CAACG,YAAY,EAC3BH,gCAAc,CAACI,MAAM,EACrBJ,gCAAc,CAACK,IAAI,EACnBL,gCAAc,CAACM,GAAG,CACnB;AAED,MAAMC,qBAAqB,GAAAX,OAAA,CAAAW,qBAAA,GAAG,uBAAuB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PriceType","exports"],"sources":["../../../src/InstrumentsTableWidget/types.ts"],"sourcesContent":["import type { DataRecordType, WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type {\n AssetClassName,\n DataSource,\n Division,\n} from '../gql/types/graphql';\n\nexport enum PriceType {\n Raw = 'raw',\n Division = 'division',\n}\n\nexport interface InstrumentsTableConfig extends WidgetConfig {\n liveRatesUrl: string;\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: DataSource;\n priceType?: PriceType;\n}\n\nexport interface MainProps {\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: DataSource;\n isLiveRatesDisabled?: boolean;\n}\n"],"mappings":";;;;;;IAQYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["PriceType","exports"],"sources":["../../../src/InstrumentsTableWidget/types.ts"],"sourcesContent":["import type { DataRecordType, WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type {\n AssetClassName,\n DataSource,\n Division,\n} from '../gql/types/graphql';\n\nexport enum PriceType {\n Raw = 'raw',\n Division = 'division',\n}\n\nexport interface InstrumentsTableConfig extends WidgetConfig {\n liveRatesUrl: string;\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: DataSource;\n priceType?: PriceType;\n}\n\nexport interface MainProps {\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: DataSource;\n isLiveRatesDisabled?: boolean;\n priceType?: PriceType;\n}\n"],"mappings":";;;;;;IAQYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -3,22 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getLiveRatesDivisionCode = void 0;
6
+ exports.groupNamesBySource = void 0;
7
7
  var _graphql = require("../gql/types/graphql");
8
- var _types = require("./types");
9
- const getLiveRatesDivisionCode = (division, priceType, dataSource) => {
10
- var _divisionMap$priceTyp;
11
- const divisionMap = {
12
- [_types.PriceType.Raw]: {
13
- [_graphql.DataSource.Mt5]: _graphql.Division.Oc,
14
- [_graphql.DataSource.V20]: 'MKTD'
15
- },
16
- [_types.PriceType.Division]: {
17
- [_graphql.DataSource.Mt5]: division,
18
- [_graphql.DataSource.V20]: division
19
- }
8
+ const groupNamesBySource = items => {
9
+ const initialState = {
10
+ v20instruments: [],
11
+ mt5instruments: []
20
12
  };
21
- return (_divisionMap$priceTyp = divisionMap[priceType]) === null || _divisionMap$priceTyp === void 0 ? void 0 : _divisionMap$priceTyp[dataSource];
13
+ return items.reduce((accumulator, currentItem) => {
14
+ if (currentItem.dataSource === _graphql.DataSource.Mt5) {
15
+ return {
16
+ v20instruments: accumulator.v20instruments,
17
+ mt5instruments: [...accumulator.mt5instruments, currentItem.instrument]
18
+ };
19
+ }
20
+ if (currentItem.dataSource === _graphql.DataSource.V20) {
21
+ return {
22
+ v20instruments: [...accumulator.v20instruments, currentItem.instrument],
23
+ mt5instruments: accumulator.mt5instruments
24
+ };
25
+ }
26
+ return accumulator;
27
+ }, initialState);
22
28
  };
23
- exports.getLiveRatesDivisionCode = getLiveRatesDivisionCode;
29
+ exports.groupNamesBySource = groupNamesBySource;
24
30
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_graphql","require","_types","getLiveRatesDivisionCode","division","priceType","dataSource","_divisionMap$priceTyp","divisionMap","PriceType","Raw","DataSource","Mt5","Division","Oc","V20","exports"],"sources":["../../../src/InstrumentsTableWidget/utils.ts"],"sourcesContent":["import type { LiveRatesDataSource } from '@oanda/labs-widget-common';\n\nimport { DataSource, Division } from '../gql/types/graphql';\nimport { PriceType } from './types';\n\nconst getLiveRatesDivisionCode = (\n division: Division,\n priceType: PriceType,\n dataSource: LiveRatesDataSource\n): Division | string | undefined => {\n const divisionMap = {\n [PriceType.Raw]: {\n [DataSource.Mt5]: Division.Oc,\n [DataSource.V20]: 'MKTD',\n },\n [PriceType.Division]: {\n [DataSource.Mt5]: division,\n [DataSource.V20]: division,\n },\n };\n return divisionMap[priceType]?.[dataSource];\n};\n\nexport { getLiveRatesDivisionCode };\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,wBAAwB,GAAGA,CAC/BC,QAAkB,EAClBC,SAAoB,EACpBC,UAA+B,KACG;EAAA,IAAAC,qBAAA;EAClC,MAAMC,WAAW,GAAG;IAClB,CAACC,gBAAS,CAACC,GAAG,GAAG;MACf,CAACC,mBAAU,CAACC,GAAG,GAAGC,iBAAQ,CAACC,EAAE;MAC7B,CAACH,mBAAU,CAACI,GAAG,GAAG;IACpB,CAAC;IACD,CAACN,gBAAS,CAACI,QAAQ,GAAG;MACpB,CAACF,mBAAU,CAACC,GAAG,GAAGR,QAAQ;MAC1B,CAACO,mBAAU,CAACI,GAAG,GAAGX;IACpB;EACF,CAAC;EACD,QAAAG,qBAAA,GAAOC,WAAW,CAACH,SAAS,CAAC,cAAAE,qBAAA,uBAAtBA,qBAAA,CAAyBD,UAAU,CAAC;AAC7C,CAAC;AAACU,OAAA,CAAAb,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_graphql","require","groupNamesBySource","items","initialState","v20instruments","mt5instruments","reduce","accumulator","currentItem","dataSource","DataSource","Mt5","instrument","V20","exports"],"sources":["../../../src/InstrumentsTableWidget/utils.ts"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\n\nimport { DataSource } from '../gql/types/graphql';\n\ninterface GroupedNames {\n v20instruments: string[];\n mt5instruments: string[];\n}\n\nconst groupNamesBySource = (items: DataRecord[]) => {\n const initialState: GroupedNames = {\n v20instruments: [],\n mt5instruments: [],\n };\n\n return items.reduce((accumulator, currentItem) => {\n if (currentItem.dataSource === DataSource.Mt5) {\n return {\n v20instruments: accumulator.v20instruments,\n mt5instruments: [...accumulator.mt5instruments, currentItem.instrument],\n };\n }\n if (currentItem.dataSource === DataSource.V20) {\n return {\n v20instruments: [...accumulator.v20instruments, currentItem.instrument],\n mt5instruments: accumulator.mt5instruments,\n };\n }\n\n return accumulator;\n }, initialState);\n};\n\nexport { groupNamesBySource };\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAOA,MAAMC,kBAAkB,GAAIC,KAAmB,IAAK;EAClD,MAAMC,YAA0B,GAAG;IACjCC,cAAc,EAAE,EAAE;IAClBC,cAAc,EAAE;EAClB,CAAC;EAED,OAAOH,KAAK,CAACI,MAAM,CAAC,CAACC,WAAW,EAAEC,WAAW,KAAK;IAChD,IAAIA,WAAW,CAACC,UAAU,KAAKC,mBAAU,CAACC,GAAG,EAAE;MAC7C,OAAO;QACLP,cAAc,EAAEG,WAAW,CAACH,cAAc;QAC1CC,cAAc,EAAE,CAAC,GAAGE,WAAW,CAACF,cAAc,EAAEG,WAAW,CAACI,UAAU;MACxE,CAAC;IACH;IACA,IAAIJ,WAAW,CAACC,UAAU,KAAKC,mBAAU,CAACG,GAAG,EAAE;MAC7C,OAAO;QACLT,cAAc,EAAE,CAAC,GAAGG,WAAW,CAACH,cAAc,EAAEI,WAAW,CAACI,UAAU,CAAC;QACvEP,cAAc,EAAEE,WAAW,CAACF;MAC9B,CAAC;IACH;IAEA,OAAOE,WAAW;EACpB,CAAC,EAAEJ,YAAY,CAAC;AAClB,CAAC;AAACW,OAAA,CAAAb,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -7,5 +7,5 @@ exports.resolveInstrumentsWithFilters = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  var _templateObject;
9
9
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- const resolveInstrumentsWithFilters = exports.resolveInstrumentsWithFilters = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: DataSource!\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"])));
10
+ const resolveInstrumentsWithFilters = exports.resolveInstrumentsWithFilters = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: DataSource!\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 dataSource\n }\n totalCount\n updatedAt @include(if: $withTradingModes)\n }\n }\n"])));
11
11
  //# sourceMappingURL=resolveInstrumentsWithFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","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: DataSource!\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;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAE9B,MAAMO,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,wwBA+B/C","ignoreList":[]}
1
+ {"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","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: DataSource!\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 dataSource\n }\n totalCount\n updatedAt @include(if: $withTradingModes)\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAE9B,MAAMO,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4xBAgC/C","ignoreList":[]}
@@ -7,7 +7,7 @@ exports.graphql = graphql;
7
7
  var types = _interopRequireWildcard(require("./graphql"));
8
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
9
  const documents = {
10
- '\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: DataSource!\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
10
+ '\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: DataSource!\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 dataSource\n }\n totalCount\n updatedAt @include(if: $withTradingModes)\n }\n }\n': types.ResolveInstrumentsWithFiltersDocument
11
11
  };
12
12
  function graphql(source) {
13
13
  var _source;