@oanda/labs-live-rates-table-widget 1.0.41 → 1.0.42

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 (46) hide show
  1. package/CHANGELOG.md +172 -0
  2. package/dist/main/LiveRatesTableWidget/Main.js +1 -1
  3. package/dist/main/LiveRatesTableWidget/Main.js.map +1 -1
  4. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js +3 -5
  5. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  6. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +1 -1
  7. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
  8. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +1 -2
  9. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
  10. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js +1 -1
  11. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  12. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +3 -5
  13. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  14. package/dist/main/LiveRatesTableWidget/utils.js +12 -15
  15. package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
  16. package/dist/main/gql/getInstrumentsChart.js +8 -3
  17. package/dist/main/gql/getInstrumentsChart.js.map +1 -1
  18. package/dist/main/gql/types/fragment-masking.js +2 -3
  19. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  20. package/dist/main/gql/types/gql.js +1 -2
  21. package/dist/main/gql/types/gql.js.map +1 -1
  22. package/dist/main/gql/validateInstruments.js +8 -3
  23. package/dist/main/gql/validateInstruments.js.map +1 -1
  24. package/dist/module/LiveRatesTableWidget/Main.js +1 -1
  25. package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
  26. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +3 -5
  27. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +1 -1
  28. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +1 -1
  29. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +1 -1
  30. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +1 -2
  31. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +1 -1
  32. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +1 -1
  33. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +1 -1
  34. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +3 -5
  35. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +1 -1
  36. package/dist/module/LiveRatesTableWidget/utils.js +12 -15
  37. package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
  38. package/dist/module/gql/getInstrumentsChart.js +8 -3
  39. package/dist/module/gql/getInstrumentsChart.js.map +1 -1
  40. package/dist/module/gql/types/fragment-masking.js +2 -3
  41. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  42. package/dist/module/gql/types/gql.js +1 -2
  43. package/dist/module/gql/types/gql.js.map +1 -1
  44. package/dist/module/gql/validateInstruments.js +8 -3
  45. package/dist/module/gql/validateInstruments.js.map +1 -1
  46. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,178 @@
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.42 (2025-01-10)
7
+
8
+
9
+
10
+ ## 1.0.175 (2025-01-08)
11
+
12
+
13
+
14
+ ## 1.0.174 (2024-12-16)
15
+
16
+
17
+
18
+ ## 1.0.173 (2024-12-11)
19
+
20
+
21
+
22
+ ## 1.0.172 (2024-11-29)
23
+
24
+
25
+
26
+ ## 1.0.171 (2024-11-28)
27
+
28
+
29
+
30
+ ## 1.0.170 (2024-11-28)
31
+
32
+
33
+
34
+ ## 1.0.169 (2024-11-20)
35
+
36
+
37
+
38
+ ## 1.0.168 (2024-11-19)
39
+
40
+
41
+
42
+ ## 1.0.167 (2024-10-14)
43
+
44
+
45
+
46
+ ## 1.0.166 (2024-10-07)
47
+
48
+
49
+
50
+ ## 1.0.165 (2024-10-03)
51
+
52
+
53
+
54
+ ## 1.0.164 (2024-09-26)
55
+
56
+
57
+
58
+ ## 1.0.163 (2024-09-18)
59
+
60
+
61
+
62
+ ## 1.0.162 (2024-09-12)
63
+
64
+
65
+
66
+ ## 1.0.161 (2024-09-11)
67
+
68
+
69
+
70
+ ## 1.0.160 (2024-09-10)
71
+
72
+
73
+
74
+ ## 1.0.159 (2024-09-09)
75
+
76
+
77
+
78
+ ## 1.0.158 (2024-09-04)
79
+
80
+
81
+
82
+ ## 1.0.157 (2024-09-04)
83
+
84
+
85
+
86
+ ## 1.0.156 (2024-09-02)
87
+
88
+
89
+
90
+ ## 1.0.155 (2024-08-29)
91
+
92
+
93
+
94
+ ## 1.0.154 (2024-08-29)
95
+
96
+
97
+
98
+ ## 1.0.153 (2024-08-23)
99
+
100
+
101
+
102
+ ## 1.0.152 (2024-08-23)
103
+
104
+
105
+
106
+ ## 1.0.151 (2024-08-20)
107
+
108
+
109
+
110
+ ## 1.0.150 (2024-08-19)
111
+
112
+
113
+
114
+ ## 1.0.149 (2024-08-07)
115
+
116
+
117
+
118
+ ## 1.0.148 (2024-08-01)
119
+
120
+
121
+
122
+ ## 1.0.147 (2024-08-01)
123
+
124
+
125
+
126
+ ## 1.0.146 (2024-07-26)
127
+
128
+
129
+
130
+ ## 1.0.145 (2024-07-25)
131
+
132
+
133
+
134
+ ## 1.0.144 (2024-07-22)
135
+
136
+
137
+
138
+ ## 1.0.143 (2024-07-19)
139
+
140
+
141
+
142
+ ## 1.0.142 (2024-07-16)
143
+
144
+
145
+
146
+ ## 1.0.141 (2024-07-16)
147
+
148
+
149
+
150
+ ## 1.0.140 (2024-07-12)
151
+
152
+
153
+
154
+ ## 1.0.139 (2024-07-12)
155
+
156
+
157
+
158
+ ## 1.0.138 (2024-07-10)
159
+
160
+
161
+
162
+ ## 1.0.137 (2024-07-05)
163
+
164
+
165
+
166
+ ## 1.0.136 (2024-07-03)
167
+
168
+
169
+
170
+ ## 1.0.135 (2024-07-03)
171
+
172
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
173
+
174
+
175
+
176
+
177
+
6
178
  ## 1.0.41 (2025-01-08)
7
179
 
8
180
 
@@ -68,7 +68,7 @@ const Main = _ref => {
68
68
  isError: showError,
69
69
  records: records,
70
70
  renderRow: (record, index, isScrolled) => _react.default.createElement(_components.RowWithData, {
71
- key: "row_".concat(index),
71
+ key: `row_${index}`,
72
72
  activeColumns: columns,
73
73
  division: division,
74
74
  hasBackgroundColor: index % 2 === 0,
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireWildcard","_validateInstruments","_components","_constant","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","columns","DEFAULT_COLUMNS","size","useLayoutProvider","isDesktop","Size","DESKTOP","target","setQuery","useLiveRatesQuery","records","setRecords","useState","Array","length","fill","loading","data","error","useQuery","validateInstruments","variables","fetchPolicy","useEffect","getRecords","instrumentsNames","map","_ref2","instrument","showError","createElement","Fragment","className","Table","headerConfig","getHeaderConfig","isError","renderRow","record","index","isScrolled","RowWithData","key","concat","activeColumns","hasBackgroundColor","Cards","isLoading","Tooltip","id","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n Size,\n Table,\n Tooltip,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\n\nimport type {\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n} from '../gql/types/graphql';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { Cards, RowWithData } from './components';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { DataRecord, MainProps } from './types';\nimport { getHeaderConfig, getRecords } from './utils';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(instruments.length).fill({})\n );\n\n const { loading, data, error } = useQuery<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n >(validateInstruments, {\n variables: {\n instruments,\n division,\n },\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(getRecords(data)!);\n }\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"live-rates-table-wrapper\"\n >\n {isDesktop ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={getHeaderConfig(columns)}\n isError={showError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <RowWithData\n key={`row_${index}`}\n activeColumns={columns}\n division={division}\n hasBackgroundColor={index % 2 === 0}\n isScrolled={isScrolled}\n loading={loading}\n record={record}\n target={target}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n columns={columns}\n division={division}\n isError={showError}\n isLoading={loading}\n records={records}\n target={target}\n />\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\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","_react","_interopRequireWildcard","_validateInstruments","_components","_constant","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","columns","DEFAULT_COLUMNS","size","useLayoutProvider","isDesktop","Size","DESKTOP","target","setQuery","useLiveRatesQuery","records","setRecords","useState","Array","length","fill","loading","data","error","useQuery","validateInstruments","variables","fetchPolicy","useEffect","getRecords","instrumentsNames","map","_ref2","instrument","showError","createElement","Fragment","className","Table","headerConfig","getHeaderConfig","isError","renderRow","record","index","isScrolled","RowWithData","key","activeColumns","hasBackgroundColor","Cards","isLoading","Tooltip","id","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n Size,\n Table,\n Tooltip,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\n\nimport type {\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n} from '../gql/types/graphql';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { Cards, RowWithData } from './components';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { DataRecord, MainProps } from './types';\nimport { getHeaderConfig, getRecords } from './utils';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(instruments.length).fill({})\n );\n\n const { loading, data, error } = useQuery<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n >(validateInstruments, {\n variables: {\n instruments,\n division,\n },\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(getRecords(data)!);\n }\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"live-rates-table-wrapper\"\n >\n {isDesktop ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={getHeaderConfig(columns)}\n isError={showError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <RowWithData\n key={`row_${index}`}\n activeColumns={columns}\n division={division}\n hasBackgroundColor={index % 2 === 0}\n isScrolled={isScrolled}\n loading={loading}\n record={record}\n target={target}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n columns={columns}\n division={division}\n isError={showError}\n isLoading={loading}\n records={records}\n target={target}\n />\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AAMA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAAsD,SAAAQ,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,SAAAN,wBAAAM,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;AAEtD,MAAMW,IAAI,GAAGC,IAAA,IAII;EAAA,IAJH;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO,GAAGC;EACD,CAAC,GAAAJ,IAAA;EACV,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EACvC,MAAM;IAAEC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EAChD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EACpC,IAAIC,KAAK,CAACf,WAAW,CAACgB,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CACvC,CAAC;EAED,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,wCAAmB,EAAE;IACrBC,SAAS,EAAE;MACTvB,WAAW;MACXC;IACF,CAAC;IACDuB,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACP,OAAO,IAAIC,IAAI,EAAE;MACpBN,UAAU,CAAC,IAAAa,iBAAU,EAACP,IAAI,CAAE,CAAC;IAC/B;EACF,CAAC,EAAE,CAACD,OAAO,EAAEC,IAAI,CAAC,CAAC;EAEnB,MAAMQ,gBAAgB,GAAGf,OAAO,CAACgB,GAAG,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAW,CAAC,GAAAD,KAAA;IAAA,OAAKC,UAAU;EAAA,EAAC;EAEpE,IAAAL,gBAAS,EAAC,MAAM;IACd,IAAIE,gBAAgB,CAAC,CAAC,CAAC,EAAE;MACvBjB,QAAQ,CAAC;QAAEV,WAAW,EAAE2B;MAAiB,CAAC,CAAC;IAC7C;EAEF,CAAC,EAAE,CAACf,OAAO,EAAEN,SAAS,CAAC,CAAC;EAExB,MAAMyB,SAAS,GAAI,CAACb,OAAO,IAAI,CAAC,CAACE,KAAK,IAAM,CAACF,OAAO,IAAI,CAACC,IAAK;EAE9D,OACE/C,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAA5D,MAAA,CAAAY,OAAA,CAAAiD,QAAA,QACG7B,IAAI,IACHhC,MAAA,CAAAY,OAAA,CAAAgD,aAAA;IACEE,SAAS,EAAC,gEAAgE;IAC1E,eAAY;EAA0B,GAErC5B,SAAS,GACRlC,MAAA,CAAAY,OAAA,CAAAgD,aAAA;IAAKE,SAAS,EAAC;EAAoD,GACjE9D,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAC7D,iBAAA,CAAAgE,KAAK;IACJC,YAAY,EAAE,IAAAC,sBAAe,EAACnC,OAAO,CAAE;IACvCoC,OAAO,EAAEP,SAAU;IACnBnB,OAAO,EAAEA,OAAQ;IACjB2B,SAAS,EAAEA,CAACC,MAAM,EAAEC,KAAK,EAAEC,UAAU,KACnCtE,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAACzD,WAAA,CAAAoE,WAAW;MACVC,GAAG,EAAE,OAAOH,KAAK,EAAG;MACpBI,aAAa,EAAE3C,OAAQ;MACvBD,QAAQ,EAAEA,QAAS;MACnB6C,kBAAkB,EAAEL,KAAK,GAAG,CAAC,KAAK,CAAE;MACpCC,UAAU,EAAEA,UAAW;MACvBxB,OAAO,EAAEA,OAAQ;MACjBsB,MAAM,EAAEA,MAAO;MACf/B,MAAM,EAAEA;IAAO,CAChB;EACD,CACH,CACE,CAAC,GAENrC,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAACzD,WAAA,CAAAwE,KAAK;IACJ7C,OAAO,EAAEA,OAAQ;IACjBD,QAAQ,EAAEA,QAAS;IACnBqC,OAAO,EAAEP,SAAU;IACnBiB,SAAS,EAAE9B,OAAQ;IACnBN,OAAO,EAAEA,OAAQ;IACjBH,MAAM,EAAEA;EAAO,CAChB,CACF,EACDrC,MAAA,CAAAY,OAAA,CAAAgD,aAAA,CAAC7D,iBAAA,CAAA8E,OAAO;IAACC,EAAE,EAAEC;EAAsB,CAAE,CAClC,CAEP,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAtD,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -30,7 +30,7 @@ const CardWithData = _ref => {
30
30
  const {
31
31
  lang
32
32
  } = (0, _monoI18n.useLocale)();
33
- const checkLoading = id => isLoading || !error && (updatedRecord === null || updatedRecord === void 0 ? void 0 : updatedRecord[id]) === undefined;
33
+ const checkLoading = id => isLoading || !error && updatedRecord?.[id] === undefined;
34
34
  return _react.default.createElement(_labsWidgetCommon.Card, {
35
35
  ref: ref,
36
36
  "data-testid": "card",
@@ -50,7 +50,6 @@ const CardWithData = _ref => {
50
50
  size: _labsWidgetCommon.LineChartSize.xs
51
51
  })), activeColumns.map(item => {
52
52
  if (item === _types.ColumnsNames.SELL) {
53
- var _updatedRecord$sell;
54
53
  return _react.default.createElement(_labsWidgetCommon.CardRow, {
55
54
  key: _types.ColumnsNames.SELL,
56
55
  isError: !!error,
@@ -60,10 +59,9 @@ const CardWithData = _ref => {
60
59
  arrowPosition: _labsWidgetCommon.ArrowPosition.left,
61
60
  movementIndicator: "arrow",
62
61
  priceMovement: updatedRecord.sellPriceMovement
63
- }, _react.default.createElement("span", null, (_updatedRecord$sell = updatedRecord.sell) === null || _updatedRecord$sell === void 0 ? void 0 : _updatedRecord$sell.toFixed(updatedRecord.displayPrecision))));
62
+ }, _react.default.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
64
63
  }
65
64
  if (item === _types.ColumnsNames.BUY) {
66
- var _updatedRecord$buy;
67
65
  return _react.default.createElement(_labsWidgetCommon.CardRow, {
68
66
  key: _types.ColumnsNames.BUY,
69
67
  isError: !!error,
@@ -73,7 +71,7 @@ const CardWithData = _ref => {
73
71
  arrowPosition: _labsWidgetCommon.ArrowPosition.left,
74
72
  movementIndicator: "arrow",
75
73
  priceMovement: updatedRecord.buyPriceMovement
76
- }, _react.default.createElement("span", null, (_updatedRecord$buy = updatedRecord.buy) === null || _updatedRecord$buy === void 0 ? void 0 : _updatedRecord$buy.toFixed(updatedRecord.displayPrecision))));
74
+ }, _react.default.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
77
75
  }
78
76
  if (item === _types.ColumnsNames.DAILY_CHANGE) {
79
77
  return _react.default.createElement(_labsWidgetCommon.CardRow, {
@@ -1 +1 @@
1
- {"version":3,"file":"CardWithData.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","CardWithData","_ref","isLoading","record","target","activeColumns","index","division","isLast","updatedRecord","error","ref","useRecords","instrument","lang","useLocale","checkLoading","id","undefined","createElement","Card","withoutBottomBorder","CardHeader","number","title","Truncate","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","includes","ColumnsNames","CHART","LineChartWithData","padding","size","LineChartSize","xs","map","item","SELL","_updatedRecord$sell","CardRow","key","isError","label","Price","arrowPosition","ArrowPosition","left","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","_updatedRecord$buy","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","SPREAD","spread","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx"],"sourcesContent":["import {\n ArrowPosition,\n Card,\n CardHeader,\n CardRow,\n LineChartSize,\n Price,\n Truncate,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { CardWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst CardWithData = ({\n isLoading,\n record,\n target,\n activeColumns,\n index,\n division,\n isLast,\n}: CardWithDataProps) => {\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n const { lang } = useLocale();\n\n const checkLoading = (id: string) =>\n isLoading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={\n <Truncate\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n }\n >\n {activeColumns.includes(ColumnsNames.CHART) && (\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n padding={4}\n record={updatedRecord}\n size={LineChartSize.xs}\n />\n )}\n </CardHeader>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <CardRow\n key={ColumnsNames.SELL}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n label={lang('sell_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <CardRow\n key={ColumnsNames.BUY}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n label={lang('buy_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <CardRow\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n label={lang('daily_percent_change')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <CardRow\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n label={lang('spread')}\n >\n <span>{updatedRecord.spread}</span>\n </CardRow>\n );\n }\n return null;\n })}\n </Card>\n );\n};\n\nexport { CardWithData };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardWithData.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","CardWithData","_ref","isLoading","record","target","activeColumns","index","division","isLast","updatedRecord","error","ref","useRecords","instrument","lang","useLocale","checkLoading","id","undefined","createElement","Card","withoutBottomBorder","CardHeader","number","title","Truncate","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","includes","ColumnsNames","CHART","LineChartWithData","padding","size","LineChartSize","xs","map","item","SELL","CardRow","key","isError","label","Price","arrowPosition","ArrowPosition","left","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","SPREAD","spread","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx"],"sourcesContent":["import {\n ArrowPosition,\n Card,\n CardHeader,\n CardRow,\n LineChartSize,\n Price,\n Truncate,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { CardWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst CardWithData = ({\n isLoading,\n record,\n target,\n activeColumns,\n index,\n division,\n isLast,\n}: CardWithDataProps) => {\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n const { lang } = useLocale();\n\n const checkLoading = (id: string) =>\n isLoading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <Card ref={ref} data-testid=\"card\" withoutBottomBorder={!isLast}>\n <CardHeader\n isLoading={isLoading}\n number={index}\n title={\n <Truncate\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n }\n >\n {activeColumns.includes(ColumnsNames.CHART) && (\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n padding={4}\n record={updatedRecord}\n size={LineChartSize.xs}\n />\n )}\n </CardHeader>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <CardRow\n key={ColumnsNames.SELL}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n label={lang('sell_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <CardRow\n key={ColumnsNames.BUY}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n label={lang('buy_price')}\n >\n <Price\n arrowPosition={ArrowPosition.left}\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <CardRow\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n label={lang('daily_percent_change')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </CardRow>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <CardRow\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n label={lang('spread')}\n >\n <span>{updatedRecord.spread}</span>\n </CardRow>\n );\n }\n return null;\n })}\n </Card>\n );\n};\n\nexport { CardWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ const Cards = _ref => {
21
21
  return _react.default.createElement(_react.default.Fragment, null, isError ? _react.default.createElement(_labsWidgetCommon.Card, null, _react.default.createElement("div", {
22
22
  className: "lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center"
23
23
  }, _react.default.createElement(_labsWidgetCommon.ChartError, null))) : _react.default.createElement(_react.default.Fragment, null, records.map((record, index) => _react.default.createElement("div", {
24
- key: "card_".concat(startIndex + index)
24
+ key: `card_${startIndex + index}`
25
25
  }, _react.default.createElement(_CardWithData.CardWithData, {
26
26
  activeColumns: columns,
27
27
  division: division,
@@ -1 +1 @@
1
- {"version":3,"file":"Cards.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_CardWithData","e","__esModule","default","Cards","_ref","records","target","columns","isError","isLoading","division","startIndex","createElement","Fragment","Card","className","ChartError","map","record","index","key","concat","CardWithData","activeColumns","isLast","length","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { CardWithData } from '../CardWithData/CardWithData';\nimport type { CardsProps } from './types';\n\nconst Cards = ({\n records,\n target,\n columns,\n isError,\n isLoading,\n division,\n startIndex = 0,\n}: CardsProps) => (\n <>\n {isError ? (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n ) : (\n <>\n {records.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n <CardWithData\n activeColumns={columns}\n division={division}\n index={startIndex + index + 1}\n isError={isError}\n isLast={index + 1 === records.length}\n isLoading={isLoading}\n record={record}\n target={target}\n />\n </div>\n ))}\n </>\n )}\n </>\n);\n\nexport { Cards };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAA4D,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5D,MAAMG,KAAK,GAAGC,IAAA;EAAA,IAAC;IACbC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACH,CAAC,GAAAP,IAAA;EAAA,OACXP,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGL,OAAO,GACNX,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAmB,IAAI,QACHjB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKG,SAAS,EAAC;EAAkE,GAC/ElB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAqB,UAAU,MAAE,CACV,CACD,CAAC,GAEPnB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGR,OAAO,CAACY,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACzBtB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKQ,GAAG,UAAAC,MAAA,CAAUV,UAAU,GAAGQ,KAAK;EAAG,GACrCtB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACb,aAAA,CAAAuB,YAAY;IACXC,aAAa,EAAEhB,OAAQ;IACvBG,QAAQ,EAAEA,QAAS;IACnBS,KAAK,EAAER,UAAU,GAAGQ,KAAK,GAAG,CAAE;IAC9BX,OAAO,EAAEA,OAAQ;IACjBgB,MAAM,EAAEL,KAAK,GAAG,CAAC,KAAKd,OAAO,CAACoB,MAAO;IACrChB,SAAS,EAAEA,SAAU;IACrBS,MAAM,EAAEA,MAAO;IACfZ,MAAM,EAAEA;EAAO,CAChB,CACE,CACN,CACD,CAEJ,CAAC;AAAA,CACJ;AAACoB,OAAA,CAAAvB,KAAA,GAAAA,KAAA","ignoreList":[]}
1
+ {"version":3,"file":"Cards.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_CardWithData","e","__esModule","default","Cards","_ref","records","target","columns","isError","isLoading","division","startIndex","createElement","Fragment","Card","className","ChartError","map","record","index","key","CardWithData","activeColumns","isLast","length","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/Cards.tsx"],"sourcesContent":["import { Card, ChartError } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { CardWithData } from '../CardWithData/CardWithData';\nimport type { CardsProps } from './types';\n\nconst Cards = ({\n records,\n target,\n columns,\n isError,\n isLoading,\n division,\n startIndex = 0,\n}: CardsProps) => (\n <>\n {isError ? (\n <Card>\n <div className=\"lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center\">\n <ChartError />\n </div>\n </Card>\n ) : (\n <>\n {records.map((record, index) => (\n <div key={`card_${startIndex + index}`}>\n <CardWithData\n activeColumns={columns}\n division={division}\n index={startIndex + index + 1}\n isError={isError}\n isLast={index + 1 === records.length}\n isLoading={isLoading}\n record={record}\n target={target}\n />\n </div>\n ))}\n </>\n )}\n </>\n);\n\nexport { Cards };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAH,OAAA;AAA4D,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG5D,MAAMG,KAAK,GAAGC,IAAA;EAAA,IAAC;IACbC,OAAO;IACPC,MAAM;IACNC,OAAO;IACPC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACH,CAAC,GAAAP,IAAA;EAAA,OACXP,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGL,OAAO,GACNX,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAmB,IAAI,QACHjB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKG,SAAS,EAAC;EAAkE,GAC/ElB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACjB,iBAAA,CAAAqB,UAAU,MAAE,CACV,CACD,CAAC,GAEPnB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAAAf,MAAA,CAAAK,OAAA,CAAAW,QAAA,QACGR,OAAO,CAACY,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KACzBtB,MAAA,CAAAK,OAAA,CAAAU,aAAA;IAAKQ,GAAG,EAAE,QAAQT,UAAU,GAAGQ,KAAK;EAAG,GACrCtB,MAAA,CAAAK,OAAA,CAAAU,aAAA,CAACb,aAAA,CAAAsB,YAAY;IACXC,aAAa,EAAEf,OAAQ;IACvBG,QAAQ,EAAEA,QAAS;IACnBS,KAAK,EAAER,UAAU,GAAGQ,KAAK,GAAG,CAAE;IAC9BX,OAAO,EAAEA,OAAQ;IACjBe,MAAM,EAAEJ,KAAK,GAAG,CAAC,KAAKd,OAAO,CAACmB,MAAO;IACrCf,SAAS,EAAEA,SAAU;IACrBS,MAAM,EAAEA,MAAO;IACfZ,MAAM,EAAEA;EAAO,CAChB,CACE,CACN,CACD,CAEJ,CAAC;AAAA,CACJ;AAACmB,OAAA,CAAAtB,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -11,7 +11,6 @@ var _getInstrumentsChart = require("../../../gql/getInstrumentsChart");
11
11
  var _utils = require("./utils");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  const LineChartWithData = _ref => {
14
- var _data$topicalInstrume;
15
14
  let {
16
15
  padding,
17
16
  record,
@@ -32,7 +31,7 @@ const LineChartWithData = _ref => {
32
31
  skip: !record.instrument
33
32
  });
34
33
  const showLoader = isLoading || loading;
35
- const chart = (data === null || data === void 0 || (_data$topicalInstrume = data.topicalInstrumentsCharts) === null || _data$topicalInstrume === void 0 ? void 0 : _data$topicalInstrume[0].chart) || [];
34
+ const chart = data?.topicalInstrumentsCharts?.[0].chart || [];
36
35
  const chartColor = (0, _utils.getChartColor)(record.dailyPercentChange, isDarkMode);
37
36
  return _react.default.createElement(_react.default.Fragment, null, showLoader && _react.default.createElement(_labsWidgetCommon.Loader, {
38
37
  size: _labsWidgetCommon.LoaderSize.md
@@ -1 +1 @@
1
- {"version":3,"file":"LineChartWithData.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_getInstrumentsChart","_utils","e","__esModule","default","LineChartWithData","_ref","_data$topicalInstrume","padding","record","size","isLoading","division","isDarkMode","loading","data","useQuery","getInstrumentsChart","variables","instruments","instrument","fetchPolicy","skip","showLoader","chart","topicalInstrumentsCharts","chartColor","getChartColor","dailyPercentChange","createElement","Fragment","Loader","LoaderSize","md","LineChart","color","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { LineChart, Loader, LoaderSize } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { getInstrumentsChart } from '../../../gql/getInstrumentsChart';\nimport type {\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n} from '../../../gql/types/graphql';\nimport type { LineChartWithDataProps } from './types';\nimport { getChartColor } from './utils';\n\nconst LineChartWithData = ({\n padding,\n record,\n size,\n isLoading,\n division,\n isDarkMode = false,\n}: LineChartWithDataProps) => {\n const { loading, data } = useQuery<\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables\n >(getInstrumentsChart, {\n variables: {\n instruments: [record.instrument],\n division,\n },\n fetchPolicy: 'network-only',\n skip: !record.instrument,\n });\n\n const showLoader = isLoading || loading;\n const chart = data?.topicalInstrumentsCharts?.[0].chart || [];\n\n const chartColor = getChartColor(record.dailyPercentChange, isDarkMode);\n\n return (\n <>\n {showLoader && <Loader size={LoaderSize.md} />}\n {!showLoader && (\n <LineChart\n color={chartColor}\n data={chart}\n padding={padding}\n size={size}\n />\n )}\n </>\n );\n};\n\nexport { LineChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AAMA,IAAAK,MAAA,GAAAL,OAAA;AAAwC,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,iBAAiB,GAAGC,IAAA,IAOI;EAAA,IAAAC,qBAAA;EAAA,IAPH;IACzBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACS,CAAC,GAAAP,IAAA;EACvB,MAAM;IAAEQ,OAAO;IAAEC;EAAK,CAAC,GAAG,IAAAC,gBAAQ,EAGhCC,wCAAmB,EAAE;IACrBC,SAAS,EAAE;MACTC,WAAW,EAAE,CAACV,MAAM,CAACW,UAAU,CAAC;MAChCR;IACF,CAAC;IACDS,WAAW,EAAE,cAAc;IAC3BC,IAAI,EAAE,CAACb,MAAM,CAACW;EAChB,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGZ,SAAS,IAAIG,OAAO;EACvC,MAAMU,KAAK,GAAG,CAAAT,IAAI,aAAJA,IAAI,gBAAAR,qBAAA,GAAJQ,IAAI,CAAEU,wBAAwB,cAAAlB,qBAAA,uBAA9BA,qBAAA,CAAiC,CAAC,CAAC,CAACiB,KAAK,KAAI,EAAE;EAE7D,MAAME,UAAU,GAAG,IAAAC,oBAAa,EAAClB,MAAM,CAACmB,kBAAkB,EAAEf,UAAU,CAAC;EAEvE,OACEf,MAAA,CAAAM,OAAA,CAAAyB,aAAA,CAAA/B,MAAA,CAAAM,OAAA,CAAA0B,QAAA,QACGP,UAAU,IAAIzB,MAAA,CAAAM,OAAA,CAAAyB,aAAA,CAAChC,iBAAA,CAAAkC,MAAM;IAACrB,IAAI,EAAEsB,4BAAU,CAACC;EAAG,CAAE,CAAC,EAC7C,CAACV,UAAU,IACVzB,MAAA,CAAAM,OAAA,CAAAyB,aAAA,CAAChC,iBAAA,CAAAqC,SAAS;IACRC,KAAK,EAAET,UAAW;IAClBX,IAAI,EAAES,KAAM;IACZhB,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA;EAAK,CACZ,CAEH,CAAC;AAEP,CAAC;AAAC0B,OAAA,CAAA/B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"LineChartWithData.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_getInstrumentsChart","_utils","e","__esModule","default","LineChartWithData","_ref","padding","record","size","isLoading","division","isDarkMode","loading","data","useQuery","getInstrumentsChart","variables","instruments","instrument","fetchPolicy","skip","showLoader","chart","topicalInstrumentsCharts","chartColor","getChartColor","dailyPercentChange","createElement","Fragment","Loader","LoaderSize","md","LineChart","color","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { LineChart, Loader, LoaderSize } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { getInstrumentsChart } from '../../../gql/getInstrumentsChart';\nimport type {\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n} from '../../../gql/types/graphql';\nimport type { LineChartWithDataProps } from './types';\nimport { getChartColor } from './utils';\n\nconst LineChartWithData = ({\n padding,\n record,\n size,\n isLoading,\n division,\n isDarkMode = false,\n}: LineChartWithDataProps) => {\n const { loading, data } = useQuery<\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables\n >(getInstrumentsChart, {\n variables: {\n instruments: [record.instrument],\n division,\n },\n fetchPolicy: 'network-only',\n skip: !record.instrument,\n });\n\n const showLoader = isLoading || loading;\n const chart = data?.topicalInstrumentsCharts?.[0].chart || [];\n\n const chartColor = getChartColor(record.dailyPercentChange, isDarkMode);\n\n return (\n <>\n {showLoader && <Loader size={LoaderSize.md} />}\n {!showLoader && (\n <LineChart\n color={chartColor}\n data={chart}\n padding={padding}\n size={size}\n />\n )}\n </>\n );\n};\n\nexport { LineChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,oBAAA,GAAAJ,OAAA;AAMA,IAAAK,MAAA,GAAAL,OAAA;AAAwC,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,iBAAiB,GAAGC,IAAA,IAOI;EAAA,IAPH;IACzBC,OAAO;IACPC,MAAM;IACNC,IAAI;IACJC,SAAS;IACTC,QAAQ;IACRC,UAAU,GAAG;EACS,CAAC,GAAAN,IAAA;EACvB,MAAM;IAAEO,OAAO;IAAEC;EAAK,CAAC,GAAG,IAAAC,gBAAQ,EAGhCC,wCAAmB,EAAE;IACrBC,SAAS,EAAE;MACTC,WAAW,EAAE,CAACV,MAAM,CAACW,UAAU,CAAC;MAChCR;IACF,CAAC;IACDS,WAAW,EAAE,cAAc;IAC3BC,IAAI,EAAE,CAACb,MAAM,CAACW;EAChB,CAAC,CAAC;EAEF,MAAMG,UAAU,GAAGZ,SAAS,IAAIG,OAAO;EACvC,MAAMU,KAAK,GAAGT,IAAI,EAAEU,wBAAwB,GAAG,CAAC,CAAC,CAACD,KAAK,IAAI,EAAE;EAE7D,MAAME,UAAU,GAAG,IAAAC,oBAAa,EAAClB,MAAM,CAACmB,kBAAkB,EAAEf,UAAU,CAAC;EAEvE,OACEd,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAA9B,MAAA,CAAAM,OAAA,CAAAyB,QAAA,QACGP,UAAU,IAAIxB,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAC/B,iBAAA,CAAAiC,MAAM;IAACrB,IAAI,EAAEsB,4BAAU,CAACC;EAAG,CAAE,CAAC,EAC7C,CAACV,UAAU,IACVxB,MAAA,CAAAM,OAAA,CAAAwB,aAAA,CAAC/B,iBAAA,CAAAoC,SAAS;IACRC,KAAK,EAAET,UAAW;IAClBX,IAAI,EAAES,KAAM;IACZhB,OAAO,EAAEA,OAAQ;IACjBE,IAAI,EAAEA;EAAK,CACZ,CAEH,CAAC;AAEP,CAAC;AAAC0B,OAAA,CAAA9B,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -7,7 +7,7 @@ exports.getChartColor = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  const getChartColor = (dailyChange, isDarkMode) => {
9
9
  const theme = isDarkMode ? _labsWidgetCommon.darkTheme : _labsWidgetCommon.lightTheme;
10
- switch (dailyChange === null || dailyChange === void 0 ? void 0 : dailyChange.charAt(0)) {
10
+ switch (dailyChange?.charAt(0)) {
11
11
  case '+':
12
12
  return theme.ok;
13
13
  case '-':
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","getChartColor","dailyChange","isDarkMode","theme","darkTheme","lightTheme","charAt","ok","danger","borderDisabled","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/utils.ts"],"sourcesContent":["import { darkTheme, lightTheme } from '@oanda/labs-widget-common';\n\nexport const getChartColor = (dailyChange?: string, isDarkMode?: boolean) => {\n const theme = isDarkMode ? darkTheme : lightTheme;\n\n switch (dailyChange?.charAt(0)) {\n case '+':\n return theme.ok;\n case '-':\n return theme.danger;\n default:\n return theme.borderDisabled;\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAACC,WAAoB,EAAEC,UAAoB,KAAK;EAC3E,MAAMC,KAAK,GAAGD,UAAU,GAAGE,2BAAS,GAAGC,4BAAU;EAEjD,QAAQJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEK,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG;MACN,OAAOH,KAAK,CAACI,EAAE;IACjB,KAAK,GAAG;MACN,OAAOJ,KAAK,CAACK,MAAM;IACrB;MACE,OAAOL,KAAK,CAACM,cAAc;EAC/B;AACF,CAAC;AAACC,OAAA,CAAAV,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","getChartColor","dailyChange","isDarkMode","theme","darkTheme","lightTheme","charAt","ok","danger","borderDisabled","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/LineChartWithData/utils.ts"],"sourcesContent":["import { darkTheme, lightTheme } from '@oanda/labs-widget-common';\n\nexport const getChartColor = (dailyChange?: string, isDarkMode?: boolean) => {\n const theme = isDarkMode ? darkTheme : lightTheme;\n\n switch (dailyChange?.charAt(0)) {\n case '+':\n return theme.ok;\n case '-':\n return theme.danger;\n default:\n return theme.borderDisabled;\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAACC,WAAoB,EAAEC,UAAoB,KAAK;EAC3E,MAAMC,KAAK,GAAGD,UAAU,GAAGE,2BAAS,GAAGC,4BAAU;EAEjD,QAAQJ,WAAW,EAAEK,MAAM,CAAC,CAAC,CAAC;IAC5B,KAAK,GAAG;MACN,OAAOH,KAAK,CAACI,EAAE;IACjB,KAAK,GAAG;MACN,OAAOJ,KAAK,CAACK,MAAM;IACrB;MACE,OAAOL,KAAK,CAACM,cAAc;EAC/B;AACF,CAAC;AAACC,OAAA,CAAAV,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -30,7 +30,7 @@ const RowWithData = _ref => {
30
30
  error,
31
31
  ref
32
32
  } = (0, _utils.useRecords)(record, record.instrument ? target : null);
33
- const checkLoading = id => loading || !error && (updatedRecord === null || updatedRecord === void 0 ? void 0 : updatedRecord[id]) === undefined;
33
+ const checkLoading = id => loading || !error && updatedRecord?.[id] === undefined;
34
34
  return _react.default.createElement(_labsWidgetCommon.TableRow, {
35
35
  ref: ref,
36
36
  hasBackgroundColor: hasBackgroundColor,
@@ -48,7 +48,6 @@ const RowWithData = _ref => {
48
48
  tooltipId: _constant.INSTRUMENT_TOOLTIP_ID
49
49
  })), activeColumns.map(item => {
50
50
  if (item === _types.ColumnsNames.SELL) {
51
- var _updatedRecord$sell;
52
51
  return _react.default.createElement(_labsWidgetCommon.TableCell, {
53
52
  key: _types.ColumnsNames.SELL,
54
53
  additionalPaddingRight: true,
@@ -57,10 +56,9 @@ const RowWithData = _ref => {
57
56
  }, _react.default.createElement(_labsWidgetCommon.Price, {
58
57
  movementIndicator: "arrow",
59
58
  priceMovement: updatedRecord.sellPriceMovement
60
- }, _react.default.createElement("span", null, (_updatedRecord$sell = updatedRecord.sell) === null || _updatedRecord$sell === void 0 ? void 0 : _updatedRecord$sell.toFixed(updatedRecord.displayPrecision))));
59
+ }, _react.default.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
61
60
  }
62
61
  if (item === _types.ColumnsNames.BUY) {
63
- var _updatedRecord$buy;
64
62
  return _react.default.createElement(_labsWidgetCommon.TableCell, {
65
63
  key: _types.ColumnsNames.BUY,
66
64
  additionalPaddingRight: true,
@@ -69,7 +67,7 @@ const RowWithData = _ref => {
69
67
  }, _react.default.createElement(_labsWidgetCommon.Price, {
70
68
  movementIndicator: "arrow",
71
69
  priceMovement: updatedRecord.buyPriceMovement
72
- }, _react.default.createElement("span", null, (_updatedRecord$buy = updatedRecord.buy) === null || _updatedRecord$buy === void 0 ? void 0 : _updatedRecord$buy.toFixed(updatedRecord.displayPrecision))));
70
+ }, _react.default.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
73
71
  }
74
72
  if (item === _types.ColumnsNames.DAILY_CHANGE) {
75
73
  return _react.default.createElement(_labsWidgetCommon.TableCell, {
@@ -1 +1 @@
1
- {"version":3,"file":"RowWithData.js","names":["_labsWidgetCommon","require","_classnames","_interopRequireDefault","_react","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","useLayoutProvider","updatedRecord","error","ref","useRecords","instrument","checkLoading","id","undefined","createElement","TableRow","Fragment","TableCell","key","ColumnsNames","INSTRUMENT","classNames","classnames","isLoading","type","Truncate","maxWidth","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","map","item","SELL","_updatedRecord$sell","additionalPaddingRight","isError","Price","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","_updatedRecord$buy","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","LineChartWithData","SPREAD","loaderSize","LoaderSize","sm","spread","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx"],"sourcesContent":["import {\n LoaderSize,\n Price,\n TableCell,\n TableRow,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { RowWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst RowWithData = ({\n loading,\n record,\n hasBackgroundColor,\n target,\n activeColumns,\n division,\n isScrolled,\n}: RowWithDataProps) => {\n const { isDark } = useLayoutProvider();\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n\n const checkLoading = (id: string) =>\n loading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <TableRow\n ref={ref}\n hasBackgroundColor={hasBackgroundColor}\n isScrolled={isScrolled}\n >\n <>\n <TableCell\n key={ColumnsNames.INSTRUMENT}\n classNames={classnames('lw-font-bold', {\n '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary':\n isDark && isScrolled,\n })}\n isLoading={checkLoading(ColumnsNames.INSTRUMENT)}\n type=\"text\"\n >\n <Truncate\n maxWidth={130}\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n </TableCell>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <TableCell\n key={ColumnsNames.SELL}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(\n updatedRecord.displayPrecision\n )}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <TableCell\n key={ColumnsNames.BUY}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <TableCell\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.CHART) {\n return (\n <td\n key={ColumnsNames.CHART}\n className=\"lw-relative lw-px-3 lw-py-0 lw-text-right\"\n data-testid=\"chart-table-cell\"\n >\n <div className=\"lw-flex lw-justify-center\">\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n record={updatedRecord}\n />\n </div>\n </td>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <TableCell\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n loaderSize={LoaderSize.sm}\n >\n <span>{updatedRecord.spread}</span>\n </TableCell>\n );\n }\n return null;\n })}\n </>\n </TableRow>\n );\n};\n\nexport { RowWithData };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"RowWithData.js","names":["_labsWidgetCommon","require","_classnames","_interopRequireDefault","_react","_constant","_types","_utils","_LineChartWithData","e","__esModule","default","RowWithData","_ref","loading","record","hasBackgroundColor","target","activeColumns","division","isScrolled","isDark","useLayoutProvider","updatedRecord","error","ref","useRecords","instrument","checkLoading","id","undefined","createElement","TableRow","Fragment","TableCell","key","ColumnsNames","INSTRUMENT","classNames","classnames","isLoading","type","Truncate","maxWidth","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","map","item","SELL","additionalPaddingRight","isError","Price","movementIndicator","priceMovement","sellPriceMovement","sell","toFixed","displayPrecision","BUY","buyPriceMovement","buy","DAILY_CHANGE","dailyPercentChange","CHART","className","LineChartWithData","SPREAD","loaderSize","LoaderSize","sm","spread","exports"],"sources":["../../../../../src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx"],"sourcesContent":["import {\n LoaderSize,\n Price,\n TableCell,\n TableRow,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../../constant';\nimport type { RowWithDataProps } from '../../types';\nimport { ColumnsNames } from '../../types';\nimport { useRecords } from '../../utils';\nimport { LineChartWithData } from '../LineChartWithData';\n\nconst RowWithData = ({\n loading,\n record,\n hasBackgroundColor,\n target,\n activeColumns,\n division,\n isScrolled,\n}: RowWithDataProps) => {\n const { isDark } = useLayoutProvider();\n const { updatedRecord, error, ref } = useRecords(\n record,\n record.instrument ? target : null\n );\n\n const checkLoading = (id: string) =>\n loading || (!error && updatedRecord?.[id] === undefined);\n\n return (\n <TableRow\n ref={ref}\n hasBackgroundColor={hasBackgroundColor}\n isScrolled={isScrolled}\n >\n <>\n <TableCell\n key={ColumnsNames.INSTRUMENT}\n classNames={classnames('lw-font-bold', {\n '[&>*:first-child]:lw-border-r [&>*:first-child]:lw-border-border-primary':\n isDark && isScrolled,\n })}\n isLoading={checkLoading(ColumnsNames.INSTRUMENT)}\n type=\"text\"\n >\n <Truncate\n maxWidth={130}\n text={record.displayName}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n </TableCell>\n {activeColumns.map((item) => {\n if (item === ColumnsNames.SELL) {\n return (\n <TableCell\n key={ColumnsNames.SELL}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SELL)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.sellPriceMovement}\n >\n <span>\n {updatedRecord.sell?.toFixed(\n updatedRecord.displayPrecision\n )}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.BUY) {\n return (\n <TableCell\n key={ColumnsNames.BUY}\n additionalPaddingRight\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.BUY)}\n >\n <Price\n movementIndicator=\"arrow\"\n priceMovement={updatedRecord.buyPriceMovement}\n >\n <span>\n {updatedRecord.buy?.toFixed(updatedRecord.displayPrecision)}\n </span>\n </Price>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.DAILY_CHANGE) {\n return (\n <TableCell\n key={ColumnsNames.DAILY_CHANGE}\n isError={!!error}\n isLoading={checkLoading('dailyPercentChange')}\n >\n <span>{updatedRecord.dailyPercentChange}</span>\n </TableCell>\n );\n }\n\n if (item === ColumnsNames.CHART) {\n return (\n <td\n key={ColumnsNames.CHART}\n className=\"lw-relative lw-px-3 lw-py-0 lw-text-right\"\n data-testid=\"chart-table-cell\"\n >\n <div className=\"lw-flex lw-justify-center\">\n <LineChartWithData\n division={division}\n isLoading={checkLoading('instrument')}\n record={updatedRecord}\n />\n </div>\n </td>\n );\n }\n\n if (item === ColumnsNames.SPREAD) {\n return (\n <TableCell\n key={ColumnsNames.SPREAD}\n isError={!!error}\n isLoading={checkLoading(ColumnsNames.SPREAD)}\n loaderSize={LoaderSize.sm}\n >\n <span>{updatedRecord.spread}</span>\n </TableCell>\n );\n }\n return null;\n })}\n </>\n </TableRow>\n );\n};\n\nexport { RowWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -9,13 +9,10 @@ var _react = require("react");
9
9
  var _usehooksTs = require("usehooks-ts");
10
10
  var _config = require("./config");
11
11
  var _types = require("./types");
12
- const getRecords = data => {
13
- var _data$mapInstrumentNa;
14
- return data === null || data === void 0 || (_data$mapInstrumentNa = data.mapInstrumentNames) === null || _data$mapInstrumentNa === void 0 ? void 0 : _data$mapInstrumentNa.map(item => ({
15
- instrument: (item === null || item === void 0 ? void 0 : item.name) || '',
16
- displayName: (item === null || item === void 0 ? void 0 : item.displayName) || ''
17
- }));
18
- };
12
+ const getRecords = data => data?.mapInstrumentNames?.map(item => ({
13
+ instrument: item?.name || '',
14
+ displayName: item?.displayName || ''
15
+ }));
19
16
  exports.getRecords = getRecords;
20
17
  const getHeaderConfig = activeColumns => [_types.ColumnsNames.INSTRUMENT, ...activeColumns].map(item => _config.headerConfig[item]);
21
18
  exports.getHeaderConfig = getHeaderConfig;
@@ -27,7 +24,7 @@ const useRecords = (record, target) => {
27
24
  });
28
25
  const [error, setError] = (0, _react.useState)(null);
29
26
  const entry = (0, _usehooksTs.useIntersectionObserver)();
30
- const isVisible = !!(entry !== null && entry !== void 0 && entry.isIntersecting);
27
+ const isVisible = !!entry?.isIntersecting;
31
28
  const {
32
29
  update,
33
30
  error: liveRatesError
@@ -38,13 +35,13 @@ const useRecords = (record, target) => {
38
35
  displayName: record.displayName,
39
36
  instrument: record.instrument,
40
37
  sentiment: record.sentiment,
41
- buy: update === null || update === void 0 ? void 0 : update.ask,
42
- sell: update === null || update === void 0 ? void 0 : update.bid,
43
- sellPriceMovement: update === null || update === void 0 ? void 0 : update.bidPriceMovement,
44
- buyPriceMovement: update === null || update === void 0 ? void 0 : update.askPriceMovement,
45
- dailyPercentChange: update === null || update === void 0 ? void 0 : update.dailyPercentChangeFromOpen,
46
- spread: update === null || update === void 0 ? void 0 : update.spread,
47
- displayPrecision: update === null || update === void 0 ? void 0 : update.displayPrecision
38
+ buy: update?.ask,
39
+ sell: update?.bid,
40
+ sellPriceMovement: update?.bidPriceMovement,
41
+ buyPriceMovement: update?.askPriceMovement,
42
+ dailyPercentChange: update?.dailyPercentChangeFromOpen,
43
+ spread: update?.spread,
44
+ displayPrecision: update?.displayPrecision
48
45
  });
49
46
  setError(liveRatesError);
50
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","_react","_usehooksTs","_config","_types","getRecords","data","_data$mapInstrumentNa","mapInstrumentNames","map","item","instrument","name","displayName","exports","getHeaderConfig","activeColumns","ColumnsNames","INSTRUMENT","headerConfig","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","sentiment","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import type {\n HeaderColumns,\n LiveRatesErrorMessage,\n} from '@oanda/labs-widget-common';\nimport { useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { ValidateInstrumentsQuery } from '../gql/types/graphql';\nimport { headerConfig } from './config';\nimport type { DataRecord, EmptyRecord } from './types';\nimport { ColumnsNames } from './types';\n\nconst getRecords = (data: ValidateInstrumentsQuery) =>\n data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n }));\n\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] =>\n [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport { getHeaderConfig, getRecords, useRecords };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_labsWidgetCommon","require","_react","_usehooksTs","_config","_types","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","exports","getHeaderConfig","activeColumns","ColumnsNames","INSTRUMENT","headerConfig","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","sentiment","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import type {\n HeaderColumns,\n LiveRatesErrorMessage,\n} from '@oanda/labs-widget-common';\nimport { useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useEffect, useState } from 'react';\nimport { useIntersectionObserver } from 'usehooks-ts';\n\nimport type { ValidateInstrumentsQuery } from '../gql/types/graphql';\nimport { headerConfig } from './config';\nimport type { DataRecord, EmptyRecord } from './types';\nimport { ColumnsNames } from './types';\n\nconst getRecords = (data: ValidateInstrumentsQuery) =>\n data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n }));\n\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] =>\n [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport { getHeaderConfig, getRecords, useRecords };\n"],"mappings":";;;;;;AAIA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAGA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,MAAMK,UAAU,GAAIC,IAA8B,IAChDA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EACvCC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA;AAEN,MAAMS,eAAe,GAAIC,aAA6B,IACpD,CAACC,mBAAY,CAACC,UAAU,EAAE,GAAGF,aAAa,CAAC,CAACP,GAAG,CAAEC,IAAI,IAAKS,oBAAY,CAACT,IAAI,CAAC,CAAC;AAACI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAEhF,MAAMK,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DZ,WAAW,EAAEQ,MAAM,CAACR,WAAW;IAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;IAC7Be,SAAS,EAAEL,MAAM,CAACK;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMI,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,CAACF,KAAK,EAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,qCAAmB,EAC3Dd,MAAM,CAACV,UAAU,EACjBW,MACF,CAAC;EAED,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbP,gBAAgB,CAAC;QACfX,WAAW,EAAEQ,MAAM,CAACR,WAAW;QAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;QAC7Be,SAAS,EAAEL,MAAM,CAACK,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,EAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,EAAEO,GAAG;QACjBC,iBAAiB,EAAER,MAAM,EAAES,gBAAgB;QAC3CC,gBAAgB,EAAEV,MAAM,EAAEW,gBAAgB;QAC1CC,kBAAkB,EAAEZ,MAAM,EAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,EAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,EAAEe;MAC5B,CAAC,CAAC;MACFpB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEZ,MAAM,EAAEU,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLX,aAAa;IACbI,KAAK;IACLsB,GAAG,EAAEpB,KAAK,CAACoB;EACb,CAAC;AACH,CAAC;AAACnC,OAAA,CAAAM,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -5,7 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getInstrumentsChart = void 0;
7
7
  var _client = require("@apollo/client");
8
- var _templateObject;
9
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- const getInstrumentsChart = exports.getInstrumentsChart = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n"])));
8
+ const getInstrumentsChart = exports.getInstrumentsChart = (0, _client.gql)`
9
+ query GetInstrumentsChart($instruments: [String!], $division: Division) {
10
+ topicalInstrumentsCharts(instruments: $instruments, division: $division) {
11
+ name
12
+ chart
13
+ }
14
+ }
15
+ `;
11
16
  //# sourceMappingURL=getInstrumentsChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getInstrumentsChart.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getInstrumentsChart","exports","gql"],"sources":["../../../src/gql/getInstrumentsChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getInstrumentsChart = gql`\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\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,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4MAOrC","ignoreList":[]}
1
+ {"version":3,"file":"getInstrumentsChart.js","names":["_client","require","getInstrumentsChart","exports","gql"],"sources":["../../../src/gql/getInstrumentsChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getInstrumentsChart = gql`\n query GetInstrumentsChart($instruments: [String!], $division: Division) {\n topicalInstrumentsCharts(instruments: $instruments, division: $division) {\n name\n chart\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,WAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -13,11 +13,10 @@ function makeFragmentData(data, _fragment) {
13
13
  return data;
14
14
  }
15
15
  function isFragmentReady(queryNode, fragmentNode, data) {
16
- var _meta__, _fragDef$name;
17
- const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
16
+ const deferredFields = queryNode.__meta__?.deferredFields;
18
17
  if (!deferredFields) return true;
19
18
  const fragDef = fragmentNode.definitions[0];
20
- const fragName = fragDef === null || fragDef === void 0 || (_fragDef$name = fragDef.name) === null || _fragDef$name === void 0 ? void 0 : _fragDef$name.value;
19
+ const fragName = fragDef?.name?.value;
21
20
  const fields = fragName && deferredFields[fragName] || [];
22
21
  return fields.length > 0 && fields.every(field => data && field in data);
23
22
  }