@oanda/labs-widget-common 1.0.205 → 1.0.207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1628 -0
- package/dist/main/components/Table/TableCell.js +3 -1
- package/dist/main/components/Table/TableCell.js.map +1 -1
- package/dist/main/components/Table/TableHeader.js +24 -11
- package/dist/main/components/Table/TableHeader.js.map +1 -1
- package/dist/main/components/Table/columns/InstrumentColumn.js +9 -4
- package/dist/main/components/Table/columns/InstrumentColumn.js.map +1 -1
- package/dist/main/components/Table/types.js.map +1 -1
- package/dist/main/components/TableWidget/ColumnRenderer.js +15 -1
- package/dist/main/components/TableWidget/ColumnRenderer.js.map +1 -1
- package/dist/main/components/TableWidget/DataRecordRow.js +4 -2
- package/dist/main/components/TableWidget/DataRecordRow.js.map +1 -1
- package/dist/main/components/TableWidget/TableWidget.js +3 -1
- package/dist/main/components/TableWidget/TableWidget.js.map +1 -1
- package/dist/main/components/TableWidget/index.js +11 -0
- package/dist/main/components/TableWidget/index.js.map +1 -1
- package/dist/main/components/TableWidget/utils.js +4 -1
- package/dist/main/components/TableWidget/utils.js.map +1 -1
- package/dist/main/hooks/useLiveRatesQuery.js +5 -8
- package/dist/main/hooks/useLiveRatesQuery.js.map +1 -1
- package/dist/main/providers/LiveRates/LiveRatesContext.js +4 -1
- package/dist/main/providers/LiveRates/LiveRatesContext.js.map +1 -1
- package/dist/main/types/dataTypes.js +2 -0
- package/dist/main/types/dataTypes.js.map +1 -1
- package/dist/module/components/Table/TableCell.js +3 -1
- package/dist/module/components/Table/TableCell.js.map +1 -1
- package/dist/module/components/Table/TableHeader.js +24 -11
- package/dist/module/components/Table/TableHeader.js.map +1 -1
- package/dist/module/components/Table/columns/InstrumentColumn.js +9 -4
- package/dist/module/components/Table/columns/InstrumentColumn.js.map +1 -1
- package/dist/module/components/Table/types.js.map +1 -1
- package/dist/module/components/TableWidget/ColumnRenderer.js +15 -1
- package/dist/module/components/TableWidget/ColumnRenderer.js.map +1 -1
- package/dist/module/components/TableWidget/DataRecordRow.js +4 -2
- package/dist/module/components/TableWidget/DataRecordRow.js.map +1 -1
- package/dist/module/components/TableWidget/TableWidget.js +3 -1
- package/dist/module/components/TableWidget/TableWidget.js.map +1 -1
- package/dist/module/components/TableWidget/index.js +1 -0
- package/dist/module/components/TableWidget/index.js.map +1 -1
- package/dist/module/components/TableWidget/utils.js +4 -1
- package/dist/module/components/TableWidget/utils.js.map +1 -1
- package/dist/module/hooks/useLiveRatesQuery.js +5 -8
- package/dist/module/hooks/useLiveRatesQuery.js.map +1 -1
- package/dist/module/providers/LiveRates/LiveRatesContext.js +4 -1
- package/dist/module/providers/LiveRates/LiveRatesContext.js.map +1 -1
- package/dist/module/types/dataTypes.js +2 -0
- package/dist/module/types/dataTypes.js.map +1 -1
- package/dist/types/components/Table/columns/InstrumentColumn.d.ts +3 -2
- package/dist/types/components/Table/types.d.ts +11 -3
- package/dist/types/components/TableWidget/DataRecordRow.d.ts +2 -1
- package/dist/types/components/TableWidget/TableWidget.d.ts +2 -1
- package/dist/types/components/TableWidget/index.d.ts +1 -0
- package/dist/types/components/TableWidget/utils.d.ts +2 -2
- package/dist/types/hooks/useLiveRatesQuery.d.ts +1 -1
- package/dist/types/providers/LiveRates/LiveRatesContext.d.ts +1 -1
- package/dist/types/types/dataTypes.d.ts +3 -1
- package/package.json +2 -2
- package/src/components/Table/TableCell.tsx +2 -0
- package/src/components/Table/TableHeader.tsx +36 -20
- package/src/components/Table/columns/InstrumentColumn.tsx +10 -4
- package/src/components/Table/types.ts +13 -3
- package/src/components/TableWidget/ColumnRenderer.tsx +22 -0
- package/src/components/TableWidget/DataRecordRow.tsx +3 -0
- package/src/components/TableWidget/TableWidget.tsx +3 -0
- package/src/components/TableWidget/index.ts +1 -0
- package/src/components/TableWidget/utils.ts +12 -6
- package/src/hooks/useLiveRatesQuery.ts +7 -5
- package/src/providers/LiveRates/LiveRatesContext.tsx +5 -1
- package/src/types/dataTypes.ts +2 -0
- package/test/components/Table/Table.test.tsx +4 -4
|
@@ -93,6 +93,28 @@ export const ColumnRenderer = ({
|
|
|
93
93
|
<span>{record.low}</span>
|
|
94
94
|
</TableCell>
|
|
95
95
|
),
|
|
96
|
+
[DataRecordType.SYMBOL]: () => (
|
|
97
|
+
<TableCell
|
|
98
|
+
key={DataRecordType.SYMBOL}
|
|
99
|
+
isError={isError}
|
|
100
|
+
isLoading={isLoading}
|
|
101
|
+
loaderSize={LoaderSize.md}
|
|
102
|
+
type="textCentered"
|
|
103
|
+
>
|
|
104
|
+
<span>{record.instrument}</span>
|
|
105
|
+
</TableCell>
|
|
106
|
+
),
|
|
107
|
+
[DataRecordType.TRADE_MODE]: () => (
|
|
108
|
+
<TableCell
|
|
109
|
+
key={DataRecordType.TRADE_MODE}
|
|
110
|
+
additionalPaddingRight={true}
|
|
111
|
+
isError={isError}
|
|
112
|
+
isLoading={isLoading}
|
|
113
|
+
loaderSize={LoaderSize.sm}
|
|
114
|
+
>
|
|
115
|
+
<span>{'Long Only'}</span>
|
|
116
|
+
</TableCell>
|
|
117
|
+
),
|
|
96
118
|
};
|
|
97
119
|
|
|
98
120
|
return activeColumns.map((item) => (
|
|
@@ -15,6 +15,7 @@ export interface DataRecordRowProps {
|
|
|
15
15
|
target: EventTarget | null;
|
|
16
16
|
isScrolled?: boolean;
|
|
17
17
|
toolTipId: string;
|
|
18
|
+
instrumentColumnWidth?: string;
|
|
18
19
|
activeColumns: DataRecordType[];
|
|
19
20
|
}
|
|
20
21
|
|
|
@@ -27,6 +28,7 @@ export const DataRecordRow = ({
|
|
|
27
28
|
isScrolled,
|
|
28
29
|
toolTipId,
|
|
29
30
|
activeColumns,
|
|
31
|
+
instrumentColumnWidth,
|
|
30
32
|
}: DataRecordRowProps) => {
|
|
31
33
|
const { isDark } = useLayoutProvider();
|
|
32
34
|
|
|
@@ -47,6 +49,7 @@ export const DataRecordRow = ({
|
|
|
47
49
|
isLoading={isLoading}
|
|
48
50
|
isScrolled={isScrolled}
|
|
49
51
|
tooltipId={toolTipId}
|
|
52
|
+
width={instrumentColumnWidth}
|
|
50
53
|
/>
|
|
51
54
|
<ColumnRenderer
|
|
52
55
|
activeColumns={activeColumns}
|
|
@@ -33,6 +33,7 @@ interface TableWidgetProps<TTabs> {
|
|
|
33
33
|
pageNumber: number;
|
|
34
34
|
count: number;
|
|
35
35
|
viewType?: 'table' | 'cards';
|
|
36
|
+
instrumentColumnWidth?: string;
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
export const TableWidget = <TTabs,>({
|
|
@@ -51,6 +52,7 @@ export const TableWidget = <TTabs,>({
|
|
|
51
52
|
pageNumber,
|
|
52
53
|
count,
|
|
53
54
|
viewType,
|
|
55
|
+
instrumentColumnWidth,
|
|
54
56
|
}: TableWidgetProps<TTabs>) => {
|
|
55
57
|
const { lang } = useLocale();
|
|
56
58
|
const { size } = useLayoutProvider();
|
|
@@ -79,6 +81,7 @@ export const TableWidget = <TTabs,>({
|
|
|
79
81
|
key={`row_${index}`}
|
|
80
82
|
activeColumns={activeColumns}
|
|
81
83
|
hasBackgroundColor={index % 2 === 0}
|
|
84
|
+
instrumentColumnWidth={instrumentColumnWidth}
|
|
82
85
|
isChartLoading={isChartLoading}
|
|
83
86
|
isLoading={isLoading}
|
|
84
87
|
isScrolled={isScrolled}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { DataRecordType } from '../../types';
|
|
2
|
-
import type { HeaderColumns } from '../Table';
|
|
2
|
+
import type { HeaderColumns, HeaderConfigType } from '../Table';
|
|
3
3
|
|
|
4
4
|
export const getTableRowIndex = () => ({});
|
|
5
5
|
|
|
6
6
|
export const getHeaderConfig = (
|
|
7
7
|
activeColumns: DataRecordType[],
|
|
8
|
-
headerConfig:
|
|
9
|
-
): HeaderColumns[] =>
|
|
10
|
-
[
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
headerConfig: HeaderConfigType
|
|
9
|
+
): HeaderColumns[] => {
|
|
10
|
+
const columns: DataRecordType[] = [
|
|
11
|
+
DataRecordType.INSTRUMENT,
|
|
12
|
+
...activeColumns,
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
return columns
|
|
16
|
+
.map((item) => headerConfig[item])
|
|
17
|
+
.filter((headerCell) => headerCell !== undefined);
|
|
18
|
+
};
|
|
@@ -5,18 +5,20 @@ import type {
|
|
|
5
5
|
LiveRatesTargetHookReturnObject,
|
|
6
6
|
} from '../types';
|
|
7
7
|
|
|
8
|
-
export const useLiveRatesQuery = (
|
|
9
|
-
|
|
8
|
+
export const useLiveRatesQuery = (
|
|
9
|
+
skip?: boolean
|
|
10
|
+
): LiveRatesTargetHookReturnObject => {
|
|
11
|
+
const liveRates = useLiveRatesProvider(skip);
|
|
10
12
|
|
|
11
13
|
const setQuery = (query: LiveRatesProviderQuery) => {
|
|
12
|
-
target?.dispatchEvent(
|
|
14
|
+
liveRates?.target?.dispatchEvent(
|
|
13
15
|
new CustomEvent(SET_QUERY_EVENT_NAME, { detail: query })
|
|
14
16
|
);
|
|
15
17
|
};
|
|
16
18
|
|
|
17
19
|
const closeQuery = () => {
|
|
18
|
-
source?.close();
|
|
20
|
+
liveRates?.source?.close();
|
|
19
21
|
};
|
|
20
22
|
|
|
21
|
-
return { target, setQuery, closeQuery };
|
|
23
|
+
return { target: liveRates?.target || null, setQuery, closeQuery };
|
|
22
24
|
};
|
|
@@ -12,9 +12,13 @@ export const LiveRatesContext =
|
|
|
12
12
|
|
|
13
13
|
LiveRatesContext.displayName = 'LiveRatesContext';
|
|
14
14
|
|
|
15
|
-
export const useLiveRatesProvider = () => {
|
|
15
|
+
export const useLiveRatesProvider = (skip?: boolean) => {
|
|
16
16
|
const liveRates = useContext(LiveRatesContext);
|
|
17
17
|
|
|
18
|
+
if (skip) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
|
|
18
22
|
if (!liveRates) {
|
|
19
23
|
throw new Error('Hook used outside of LiveRatesContextProvider');
|
|
20
24
|
}
|
package/src/types/dataTypes.ts
CHANGED
|
@@ -21,10 +21,10 @@ const records = [
|
|
|
21
21
|
];
|
|
22
22
|
|
|
23
23
|
const config = [
|
|
24
|
-
{ displayName: 'Column 1', additionalStyles:
|
|
25
|
-
{ displayName: 'Column 2', additionalStyles:
|
|
26
|
-
{ displayName: 'Column 3', additionalStyles:
|
|
27
|
-
{ displayName: 'Column 4', additionalStyles:
|
|
24
|
+
{ displayName: 'Column 1', additionalStyles: {} },
|
|
25
|
+
{ displayName: 'Column 2', additionalStyles: {} },
|
|
26
|
+
{ displayName: 'Column 3', additionalStyles: {} },
|
|
27
|
+
{ displayName: 'Column 4', additionalStyles: {} },
|
|
28
28
|
];
|
|
29
29
|
|
|
30
30
|
const renderRow = (record: any) => (
|