@oanda/labs-live-rates-table-widget 1.0.48 → 1.0.50

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 (108) hide show
  1. package/CHANGELOG.md +404 -0
  2. package/dist/main/LiveRatesTableWidget/Main.js +26 -33
  3. package/dist/main/LiveRatesTableWidget/Main.js.map +1 -1
  4. package/dist/main/LiveRatesTableWidget/config.js +12 -7
  5. package/dist/main/LiveRatesTableWidget/config.js.map +1 -1
  6. package/dist/main/LiveRatesTableWidget/constant.js +2 -2
  7. package/dist/main/LiveRatesTableWidget/constant.js.map +1 -1
  8. package/dist/main/LiveRatesTableWidget/types.js +0 -10
  9. package/dist/main/LiveRatesTableWidget/types.js.map +1 -1
  10. package/dist/main/LiveRatesTableWidget/utils.js +8 -49
  11. package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
  12. package/dist/module/LiveRatesTableWidget/Main.js +28 -35
  13. package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
  14. package/dist/module/LiveRatesTableWidget/config.js +13 -9
  15. package/dist/module/LiveRatesTableWidget/config.js.map +1 -1
  16. package/dist/module/LiveRatesTableWidget/constant.js +2 -2
  17. package/dist/module/LiveRatesTableWidget/constant.js.map +1 -1
  18. package/dist/module/LiveRatesTableWidget/types.js +0 -9
  19. package/dist/module/LiveRatesTableWidget/types.js.map +1 -1
  20. package/dist/module/LiveRatesTableWidget/utils.js +8 -47
  21. package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
  22. package/dist/types/LiveRatesTableWidget/config.d.ts +9 -28
  23. package/dist/types/LiveRatesTableWidget/constant.d.ts +2 -2
  24. package/dist/types/LiveRatesTableWidget/types.d.ts +6 -47
  25. package/dist/types/LiveRatesTableWidget/utils.d.ts +4 -15
  26. package/package.json +3 -3
  27. package/src/LiveRatesTableWidget/Main.tsx +44 -51
  28. package/src/LiveRatesTableWidget/config.ts +27 -10
  29. package/src/LiveRatesTableWidget/constant.ts +6 -6
  30. package/src/LiveRatesTableWidget/types.tsx +11 -53
  31. package/src/LiveRatesTableWidget/utils.ts +21 -65
  32. package/test/mocks.ts +1 -16
  33. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js +0 -96
  34. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +0 -1
  35. package/dist/main/LiveRatesTableWidget/components/CardWithData/index.js +0 -17
  36. package/dist/main/LiveRatesTableWidget/components/CardWithData/index.js.map +0 -1
  37. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +0 -37
  38. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js.map +0 -1
  39. package/dist/main/LiveRatesTableWidget/components/Cards/index.js +0 -17
  40. package/dist/main/LiveRatesTableWidget/components/Cards/index.js.map +0 -1
  41. package/dist/main/LiveRatesTableWidget/components/Cards/types.js +0 -6
  42. package/dist/main/LiveRatesTableWidget/components/Cards/types.js.map +0 -1
  43. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +0 -46
  44. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +0 -1
  45. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/index.js +0 -17
  46. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/index.js.map +0 -1
  47. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js +0 -6
  48. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js.map +0 -1
  49. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js +0 -20
  50. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +0 -1
  51. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +0 -104
  52. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +0 -1
  53. package/dist/main/LiveRatesTableWidget/components/RowWithData/index.js +0 -17
  54. package/dist/main/LiveRatesTableWidget/components/RowWithData/index.js.map +0 -1
  55. package/dist/main/LiveRatesTableWidget/components/index.js +0 -50
  56. package/dist/main/LiveRatesTableWidget/components/index.js.map +0 -1
  57. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +0 -89
  58. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +0 -1
  59. package/dist/module/LiveRatesTableWidget/components/CardWithData/index.js +0 -2
  60. package/dist/module/LiveRatesTableWidget/components/CardWithData/index.js.map +0 -1
  61. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +0 -30
  62. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +0 -1
  63. package/dist/module/LiveRatesTableWidget/components/Cards/index.js +0 -2
  64. package/dist/module/LiveRatesTableWidget/components/Cards/index.js.map +0 -1
  65. package/dist/module/LiveRatesTableWidget/components/Cards/types.js +0 -2
  66. package/dist/module/LiveRatesTableWidget/components/Cards/types.js.map +0 -1
  67. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +0 -39
  68. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +0 -1
  69. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/index.js +0 -2
  70. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/index.js.map +0 -1
  71. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js +0 -2
  72. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js.map +0 -1
  73. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +0 -13
  74. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +0 -1
  75. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +0 -97
  76. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +0 -1
  77. package/dist/module/LiveRatesTableWidget/components/RowWithData/index.js +0 -2
  78. package/dist/module/LiveRatesTableWidget/components/RowWithData/index.js.map +0 -1
  79. package/dist/module/LiveRatesTableWidget/components/index.js +0 -5
  80. package/dist/module/LiveRatesTableWidget/components/index.js.map +0 -1
  81. package/dist/types/LiveRatesTableWidget/components/CardWithData/CardWithData.d.ts +0 -4
  82. package/dist/types/LiveRatesTableWidget/components/CardWithData/index.d.ts +0 -1
  83. package/dist/types/LiveRatesTableWidget/components/Cards/Cards.d.ts +0 -4
  84. package/dist/types/LiveRatesTableWidget/components/Cards/index.d.ts +0 -1
  85. package/dist/types/LiveRatesTableWidget/components/Cards/types.d.ts +0 -12
  86. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.d.ts +0 -4
  87. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/index.d.ts +0 -1
  88. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/types.d.ts +0 -11
  89. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/utils.d.ts +0 -1
  90. package/dist/types/LiveRatesTableWidget/components/RowWithData/RowWithData.d.ts +0 -4
  91. package/dist/types/LiveRatesTableWidget/components/RowWithData/index.d.ts +0 -1
  92. package/dist/types/LiveRatesTableWidget/components/index.d.ts +0 -4
  93. package/src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx +0 -133
  94. package/src/LiveRatesTableWidget/components/CardWithData/index.ts +0 -1
  95. package/src/LiveRatesTableWidget/components/Cards/Cards.tsx +0 -44
  96. package/src/LiveRatesTableWidget/components/Cards/index.ts +0 -1
  97. package/src/LiveRatesTableWidget/components/Cards/types.tsx +0 -13
  98. package/src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx +0 -53
  99. package/src/LiveRatesTableWidget/components/LineChartWithData/index.ts +0 -1
  100. package/src/LiveRatesTableWidget/components/LineChartWithData/types.tsx +0 -13
  101. package/src/LiveRatesTableWidget/components/LineChartWithData/utils.ts +0 -14
  102. package/src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx +0 -150
  103. package/src/LiveRatesTableWidget/components/RowWithData/index.ts +0 -1
  104. package/src/LiveRatesTableWidget/components/index.ts +0 -4
  105. package/test/CardWithData.test.tsx +0 -74
  106. package/test/Cards.test.tsx +0 -130
  107. package/test/LineChartWithData.test.tsx +0 -263
  108. package/test/RowWithData.test.tsx +0 -81
@@ -1,22 +1,25 @@
1
- import { useQuery } from '@apollo/client';
1
+ import type { DataRecord } from '@oanda/labs-widget-common';
2
2
  import {
3
3
  Size,
4
- Table,
5
- Tooltip,
4
+ TableWidget,
5
+ useFetchCombinedDataRecords,
6
6
  useLayoutProvider,
7
7
  useLiveRatesQuery,
8
8
  } from '@oanda/labs-widget-common';
9
9
  import React, { useEffect, useState } from 'react';
10
10
 
11
+ import { getInstrumentsChart } from '../gql/getInstrumentsChart';
11
12
  import type {
13
+ GetInstrumentsChartQuery,
14
+ GetInstrumentsChartQueryVariables,
12
15
  ValidateInstrumentsQuery,
13
16
  ValidateInstrumentsQueryVariables,
14
17
  } from '../gql/types/graphql';
15
18
  import { validateInstruments } from '../gql/validateInstruments';
16
- import { Cards, RowWithData } from './components';
19
+ import { getHeaderConfig } from './config';
17
20
  import { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';
18
- import type { DataRecord, MainProps } from './types';
19
- import { getHeaderConfig, getRecords } from './utils';
21
+ import type { MainProps, ValidateInstrumentsData } from './types';
22
+ import { getRecords } from './utils';
20
23
 
21
24
  const Main = ({
22
25
  instruments,
@@ -26,24 +29,42 @@ const Main = ({
26
29
  const { size } = useLayoutProvider();
27
30
  const isDesktop = size === Size.DESKTOP;
28
31
  const { target, setQuery } = useLiveRatesQuery();
32
+
29
33
  const [records, setRecords] = useState<DataRecord[]>(
30
34
  new Array(instruments.length).fill({})
31
35
  );
32
36
 
33
- const { loading, data, error } = useQuery<
37
+ const { data, loading, error } = useFetchCombinedDataRecords<
34
38
  ValidateInstrumentsQuery,
35
- ValidateInstrumentsQueryVariables
36
- >(validateInstruments, {
37
- variables: {
39
+ ValidateInstrumentsQueryVariables,
40
+ GetInstrumentsChartQuery,
41
+ GetInstrumentsChartQueryVariables,
42
+ ValidateInstrumentsData
43
+ >({
44
+ mainQuery: validateInstruments,
45
+ mainVariables: {
38
46
  instruments,
39
47
  division,
40
48
  },
49
+ batchQuery: getInstrumentsChart,
50
+ getBatchVariables: (mainData) => {
51
+ const intrumentsByDivision = mainData?.mapInstrumentNames
52
+ ?.filter(
53
+ (i): i is { displayName: string; name: string } => !!i?.displayName
54
+ )
55
+ ?.map((i) => i.displayName);
56
+
57
+ return intrumentsByDivision?.length
58
+ ? { instruments: intrumentsByDivision, division }
59
+ : undefined;
60
+ },
61
+ merge: (mainData, chartData) => getRecords(mainData, chartData),
41
62
  fetchPolicy: 'network-only',
42
63
  });
43
64
 
44
65
  useEffect(() => {
45
66
  if (!loading && data) {
46
- setRecords(getRecords(data)!);
67
+ setRecords(data.records ?? []);
47
68
  }
48
69
  }, [loading, data]);
49
70
 
@@ -59,46 +80,18 @@ const Main = ({
59
80
  const showError = (!loading && !!error) || (!loading && !data);
60
81
 
61
82
  return (
62
- <>
63
- {size && (
64
- <div
65
- className="lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary"
66
- data-testid="live-rates-table-wrapper"
67
- >
68
- {isDesktop ? (
69
- <div className="lw-border lw-border-solid lw-border-border-primary">
70
- <Table<DataRecord>
71
- headerConfig={getHeaderConfig(columns)}
72
- isError={showError}
73
- records={records}
74
- renderRow={(record, index, isScrolled) => (
75
- <RowWithData
76
- key={`row_${index}`}
77
- activeColumns={columns}
78
- division={division}
79
- hasBackgroundColor={index % 2 === 0}
80
- isScrolled={isScrolled}
81
- loading={loading}
82
- record={record}
83
- target={target}
84
- />
85
- )}
86
- />
87
- </div>
88
- ) : (
89
- <Cards
90
- columns={columns}
91
- division={division}
92
- isError={showError}
93
- isLoading={loading}
94
- records={records}
95
- target={target}
96
- />
97
- )}
98
- <Tooltip id={INSTRUMENT_TOOLTIP_ID} />
99
- </div>
100
- )}
101
- </>
83
+ <TableWidget
84
+ activeColumns={columns}
85
+ count={0}
86
+ hasError={showError}
87
+ headerColumns={getHeaderConfig(columns)}
88
+ isLoading={loading}
89
+ pageNumber={0}
90
+ records={records}
91
+ target={target}
92
+ testId="live-rates-table-wrapper"
93
+ toolTipId={INSTRUMENT_TOOLTIP_ID}
94
+ />
102
95
  );
103
96
  };
104
97
 
@@ -1,37 +1,54 @@
1
- import { Size } from '@oanda/labs-widget-common';
1
+ import type { HeaderColumns } from '@oanda/labs-widget-common';
2
+ import { DataRecordType, Size } from '@oanda/labs-widget-common';
2
3
 
3
- import { ColumnsNames, View } from './types';
4
+ import { View } from './types';
4
5
 
5
- const headerConfig = {
6
- [ColumnsNames.INSTRUMENT]: {
6
+ type HeaderRecordType = Exclude<DataRecordType, DataRecordType.SENTIMENT>;
7
+
8
+ const headerConfig: Record<
9
+ HeaderRecordType,
10
+ { displayName: string; additionalStyles: string }
11
+ > = {
12
+ [DataRecordType.INSTRUMENT]: {
7
13
  displayName: 'instrument',
8
14
  additionalStyles: 'lw-text-left lw-min-w-[130px]',
9
15
  },
10
- [ColumnsNames.SELL]: {
16
+ [DataRecordType.SELL]: {
11
17
  displayName: 'sell',
12
18
  additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',
13
19
  },
14
- [ColumnsNames.BUY]: {
20
+ [DataRecordType.BUY]: {
15
21
  displayName: 'buy',
16
22
  additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',
17
23
  },
18
- [ColumnsNames.DAILY_CHANGE]: {
24
+ [DataRecordType.DAILY_CHANGE]: {
19
25
  displayName: 'daily_percent_change',
20
26
  additionalStyles: 'lw-text-right lw-min-w-[80px]',
21
27
  },
22
- [ColumnsNames.CHART]: {
28
+ [DataRecordType.CHART]: {
23
29
  displayName: '24h_chart',
24
30
  additionalStyles: 'lw-text-center lw-min-w-[100px]',
25
31
  },
26
- [ColumnsNames.SPREAD]: {
32
+ [DataRecordType.SPREAD]: {
27
33
  displayName: 'spread',
28
34
  additionalStyles: 'lw-text-right lw-min-w-[50px]',
29
35
  },
30
36
  };
31
37
 
38
+ const getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {
39
+ const columns: HeaderRecordType[] = [
40
+ DataRecordType.INSTRUMENT,
41
+ ...activeColumns,
42
+ ].filter(
43
+ (item): item is HeaderRecordType => item !== DataRecordType.SENTIMENT
44
+ );
45
+
46
+ return columns.map((item) => headerConfig[item]);
47
+ };
48
+
32
49
  const sizeConfig = {
33
50
  [View.CARDS]: Size.MOBILE,
34
51
  [View.TABLE]: Size.DESKTOP,
35
52
  };
36
53
 
37
- export { headerConfig, sizeConfig };
54
+ export { getHeaderConfig, headerConfig, sizeConfig };
@@ -1,15 +1,15 @@
1
- import { ColumnsNames } from './types';
1
+ import { DataRecordType } from '@oanda/labs-widget-common';
2
2
 
3
3
  const DEFAULT_COUNT = 10;
4
4
 
5
5
  const DEFAULT_TOTAL_COUNT = 50;
6
6
 
7
7
  const DEFAULT_COLUMNS = [
8
- ColumnsNames.SELL,
9
- ColumnsNames.BUY,
10
- ColumnsNames.DAILY_CHANGE,
11
- ColumnsNames.CHART,
12
- ColumnsNames.SPREAD,
8
+ DataRecordType.SELL,
9
+ DataRecordType.BUY,
10
+ DataRecordType.DAILY_CHANGE,
11
+ DataRecordType.CHART,
12
+ DataRecordType.SPREAD,
13
13
  ];
14
14
 
15
15
  const INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
@@ -1,4 +1,8 @@
1
- import type { WidgetConfig } from '@oanda/labs-widget-common';
1
+ import type {
2
+ DataRecord,
3
+ DataRecordType,
4
+ WidgetConfig,
5
+ } from '@oanda/labs-widget-common';
2
6
 
3
7
  import type { Division } from '../gql/types/graphql';
4
8
 
@@ -10,67 +14,21 @@ export enum View {
10
14
  CARDS = 'cards',
11
15
  }
12
16
 
17
+ export interface ValidateInstrumentsData {
18
+ records?: DataRecord[];
19
+ }
20
+
13
21
  export interface LiveRatesTableConfig extends WidgetConfig {
14
22
  division: Division;
15
23
  liveRatesUrl: string;
16
24
  instruments: string[];
17
- columns?: ColumnsNames[];
25
+ columns?: DataRecordType[];
18
26
  removePadding?: boolean;
19
27
  view?: View;
20
28
  }
21
29
 
22
- export enum ColumnsNames {
23
- INSTRUMENT = 'instrument',
24
- SELL = 'sell',
25
- BUY = 'buy',
26
- DAILY_CHANGE = 'dailyChange',
27
- CHART = 'chart',
28
- SPREAD = 'spread',
29
- }
30
-
31
30
  export interface MainProps {
32
31
  instruments: string[];
33
32
  division: Division;
34
- columns?: ColumnsNames[];
35
- }
36
-
37
- export interface Sentiment {
38
- shortPercent: number;
39
- longPercent: number;
40
- }
41
-
42
- export type EmptyRecord = Record<string, never>;
43
-
44
- export interface DataRecord {
45
- [key: string]: string | number | undefined;
46
- instrument: string;
47
- displayName: string;
48
- buy?: number;
49
- sell?: number;
50
- spread?: number;
51
- sellPriceMovement?: number;
52
- buyPriceMovement?: number;
53
- dailyPercentChange?: string;
54
- displayPrecision?: number;
55
- }
56
-
57
- export interface RowWithDataProps {
58
- loading: boolean;
59
- record: DataRecord;
60
- hasBackgroundColor: boolean;
61
- target: EventTarget | null;
62
- activeColumns: ColumnsNames[];
63
- division: Division;
64
- isScrolled?: boolean;
65
- }
66
-
67
- export interface CardWithDataProps {
68
- index: number;
69
- isLoading?: boolean;
70
- isError?: boolean;
71
- record: DataRecord;
72
- target: EventTarget | null;
73
- activeColumns: ColumnsNames[];
74
- division: Division;
75
- isLast?: boolean;
33
+ columns?: DataRecordType[];
76
34
  }
@@ -1,66 +1,22 @@
1
1
  import type {
2
- HeaderColumns,
3
- LiveRatesErrorMessage,
4
- } from '@oanda/labs-widget-common';
5
- import { useLiveRatesMessage } from '@oanda/labs-widget-common';
6
- import { useEffect, useState } from 'react';
7
- import { useIntersectionObserver } from 'usehooks-ts';
8
-
9
- import type { ValidateInstrumentsQuery } from '../gql/types/graphql';
10
- import { headerConfig } from './config';
11
- import type { DataRecord, EmptyRecord } from './types';
12
- import { ColumnsNames } from './types';
13
-
14
- const getRecords = (data: ValidateInstrumentsQuery) =>
15
- data?.mapInstrumentNames?.map((item) => ({
16
- instrument: item?.name || '',
17
- displayName: item?.displayName || '',
18
- }));
19
-
20
- const getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] =>
21
- [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);
22
-
23
- const useRecords = (
24
- record: DataRecord | EmptyRecord,
25
- target: EventTarget | null
26
- ) => {
27
- const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({
28
- displayName: record.displayName,
29
- instrument: record.instrument,
30
- sentiment: record.sentiment,
31
- });
32
- const [error, setError] = useState<LiveRatesErrorMessage | null>(null);
33
- const entry = useIntersectionObserver();
34
- const isVisible = !!entry?.isIntersecting;
35
-
36
- const { update, error: liveRatesError } = useLiveRatesMessage(
37
- record.instrument,
38
- target
39
- );
40
-
41
- useEffect(() => {
42
- if (isVisible) {
43
- setUpdatedRecord({
44
- displayName: record.displayName,
45
- instrument: record.instrument,
46
- sentiment: record.sentiment,
47
- buy: update?.ask,
48
- sell: update?.bid,
49
- sellPriceMovement: update?.bidPriceMovement,
50
- buyPriceMovement: update?.askPriceMovement,
51
- dailyPercentChange: update?.dailyPercentChangeFromOpen,
52
- spread: update?.spread,
53
- displayPrecision: update?.displayPrecision,
54
- });
55
- setError(liveRatesError);
56
- }
57
- }, [update, record, isVisible, liveRatesError]);
58
-
59
- return {
60
- updatedRecord,
61
- error,
62
- ref: entry.ref,
63
- };
64
- };
65
-
66
- export { getHeaderConfig, getRecords, useRecords };
2
+ GetInstrumentsChartQuery,
3
+ ValidateInstrumentsQuery,
4
+ } from '../gql/types/graphql';
5
+ import type { ValidateInstrumentsData } from './types';
6
+
7
+ const getRecords = (
8
+ data: ValidateInstrumentsQuery,
9
+ chart?: GetInstrumentsChartQuery
10
+ ): ValidateInstrumentsData => ({
11
+ records:
12
+ data?.mapInstrumentNames?.map((item) => ({
13
+ instrument: item?.name || '',
14
+ displayName: item?.displayName || '',
15
+ chart:
16
+ chart?.topicalInstrumentsCharts?.find(
17
+ (ti) => ti.name === item?.displayName
18
+ )?.chart || [],
19
+ })) ?? [],
20
+ });
21
+
22
+ export { getRecords };
package/test/mocks.ts CHANGED
@@ -29,7 +29,7 @@ const widgetMocks = [
29
29
  request: {
30
30
  query: getInstrumentsChart,
31
31
  variables: {
32
- instruments: ['EUR_USD'],
32
+ instruments: ['EUR/USD', 'GBP/USD'],
33
33
  division: 'OC',
34
34
  },
35
35
  },
@@ -45,21 +45,6 @@ const widgetMocks = [
45
45
  1.05556,
46
46
  ],
47
47
  },
48
- ],
49
- },
50
- },
51
- },
52
- {
53
- request: {
54
- query: getInstrumentsChart,
55
- variables: {
56
- instruments: ['GBP_USD'],
57
- division: 'OC',
58
- },
59
- },
60
- result: {
61
- data: {
62
- topicalInstrumentsCharts: [
63
48
  {
64
49
  name: 'GBP_USD',
65
50
  displayName: 'GBP/USD',
@@ -1,96 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.CardWithData = void 0;
7
- var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
- var _monoI18n = require("@oanda/mono-i18n");
9
- var _react = _interopRequireDefault(require("react"));
10
- var _constant = require("../../constant");
11
- var _types = require("../../types");
12
- var _utils = require("../../utils");
13
- var _LineChartWithData = require("../LineChartWithData");
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- const CardWithData = _ref => {
16
- let {
17
- isLoading,
18
- record,
19
- target,
20
- activeColumns,
21
- index,
22
- division,
23
- isLast
24
- } = _ref;
25
- const {
26
- updatedRecord,
27
- error,
28
- ref
29
- } = (0, _utils.useRecords)(record, record.instrument ? target : null);
30
- const {
31
- lang
32
- } = (0, _monoI18n.useLocale)();
33
- const checkLoading = id => isLoading || !error && updatedRecord?.[id] === undefined;
34
- return _react.default.createElement(_labsWidgetCommon.Card, {
35
- ref: ref,
36
- "data-testid": "card",
37
- withoutBottomBorder: !isLast
38
- }, _react.default.createElement(_labsWidgetCommon.CardHeader, {
39
- isLoading: isLoading,
40
- number: index,
41
- title: _react.default.createElement(_labsWidgetCommon.Truncate, {
42
- text: record.displayName,
43
- tooltipId: _constant.INSTRUMENT_TOOLTIP_ID
44
- })
45
- }, activeColumns.includes(_types.ColumnsNames.CHART) && _react.default.createElement(_LineChartWithData.LineChartWithData, {
46
- division: division,
47
- isLoading: checkLoading('instrument'),
48
- padding: 4,
49
- record: updatedRecord,
50
- size: _labsWidgetCommon.LineChartSize.xs
51
- })), activeColumns.map(item => {
52
- if (item === _types.ColumnsNames.SELL) {
53
- return _react.default.createElement(_labsWidgetCommon.CardRow, {
54
- key: _types.ColumnsNames.SELL,
55
- isError: !!error,
56
- isLoading: checkLoading(_types.ColumnsNames.SELL),
57
- label: lang('sell_price')
58
- }, _react.default.createElement(_labsWidgetCommon.Price, {
59
- arrowPosition: _labsWidgetCommon.ArrowPosition.left,
60
- movementIndicator: "arrow",
61
- priceMovement: updatedRecord.sellPriceMovement
62
- }, _react.default.createElement("span", null, updatedRecord.sell?.toFixed(updatedRecord.displayPrecision))));
63
- }
64
- if (item === _types.ColumnsNames.BUY) {
65
- return _react.default.createElement(_labsWidgetCommon.CardRow, {
66
- key: _types.ColumnsNames.BUY,
67
- isError: !!error,
68
- isLoading: checkLoading(_types.ColumnsNames.BUY),
69
- label: lang('buy_price')
70
- }, _react.default.createElement(_labsWidgetCommon.Price, {
71
- arrowPosition: _labsWidgetCommon.ArrowPosition.left,
72
- movementIndicator: "arrow",
73
- priceMovement: updatedRecord.buyPriceMovement
74
- }, _react.default.createElement("span", null, updatedRecord.buy?.toFixed(updatedRecord.displayPrecision))));
75
- }
76
- if (item === _types.ColumnsNames.DAILY_CHANGE) {
77
- return _react.default.createElement(_labsWidgetCommon.CardRow, {
78
- key: _types.ColumnsNames.DAILY_CHANGE,
79
- isError: !!error,
80
- isLoading: checkLoading('dailyPercentChange'),
81
- label: lang('daily_percent_change')
82
- }, _react.default.createElement("span", null, updatedRecord.dailyPercentChange));
83
- }
84
- if (item === _types.ColumnsNames.SPREAD) {
85
- return _react.default.createElement(_labsWidgetCommon.CardRow, {
86
- key: _types.ColumnsNames.SPREAD,
87
- isError: !!error,
88
- isLoading: checkLoading(_types.ColumnsNames.SPREAD),
89
- label: lang('spread')
90
- }, _react.default.createElement("span", null, updatedRecord.spread));
91
- }
92
- return null;
93
- }));
94
- };
95
- exports.CardWithData = CardWithData;
96
- //# sourceMappingURL=CardWithData.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _CardWithData = require("./CardWithData");
7
- Object.keys(_CardWithData).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _CardWithData[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _CardWithData[key];
14
- }
15
- });
16
- });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_CardWithData","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/LiveRatesTableWidget/components/CardWithData/index.ts"],"sourcesContent":["export * from './CardWithData';\n"],"mappings":";;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,aAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,aAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,aAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Cards = void 0;
7
- var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
- var _react = _interopRequireDefault(require("react"));
9
- var _CardWithData = require("../CardWithData/CardWithData");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const Cards = _ref => {
12
- let {
13
- records,
14
- target,
15
- columns,
16
- isError,
17
- isLoading,
18
- division,
19
- startIndex = 0
20
- } = _ref;
21
- return _react.default.createElement(_react.default.Fragment, null, isError ? _react.default.createElement(_labsWidgetCommon.Card, null, _react.default.createElement("div", {
22
- className: "lw-flex lw-h-[150px] lw-w-full lw-items-center lw-justify-center"
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_${startIndex + index}`
25
- }, _react.default.createElement(_CardWithData.CardWithData, {
26
- activeColumns: columns,
27
- division: division,
28
- index: startIndex + index + 1,
29
- isError: isError,
30
- isLast: index + 1 === records.length,
31
- isLoading: isLoading,
32
- record: record,
33
- target: target
34
- })))));
35
- };
36
- exports.Cards = Cards;
37
- //# sourceMappingURL=Cards.js.map
@@ -1 +0,0 @@
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":[]}
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _Cards = require("./Cards");
7
- Object.keys(_Cards).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _Cards[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _Cards[key];
14
- }
15
- });
16
- });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_Cards","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/index.ts"],"sourcesContent":["export * from './Cards';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/LiveRatesTableWidget/components/Cards/types.tsx"],"sourcesContent":["import type { Division } from '../../../gql/types/graphql';\nimport type { ColumnsNames, DataRecord } from '../../types';\n\nexport interface CardsProps {\n startIndex?: number;\n emptyCardsCount?: number;\n isLoading?: boolean;\n isError?: boolean;\n records: DataRecord[];\n target: EventTarget | null;\n columns: ColumnsNames[];\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}