@oanda/labs-topical-instruments-widget 1.0.252 → 1.0.254
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 +780 -62520
- package/dist/module/TopicalInstrumentsWidget/Main.js +41 -33
- package/dist/module/TopicalInstrumentsWidget/Main.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/TopicalInstrumentsWidget.js +22 -15
- package/dist/module/TopicalInstrumentsWidget/TopicalInstrumentsWidget.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/config.js +28 -23
- package/dist/module/TopicalInstrumentsWidget/config.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/constant.js +11 -6
- package/dist/module/TopicalInstrumentsWidget/constant.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/index.js +27 -2
- package/dist/module/TopicalInstrumentsWidget/index.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/render.js +15 -12
- package/dist/module/TopicalInstrumentsWidget/render.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/types.js +31 -2
- package/dist/module/TopicalInstrumentsWidget/types.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/utils.js +12 -5
- package/dist/module/TopicalInstrumentsWidget/utils.js.map +1 -1
- package/dist/module/gql/getInstrumentsChart.js +8 -2
- package/dist/module/gql/getInstrumentsChart.js.map +1 -1
- package/dist/module/gql/getTopicalInstruments.js +8 -3
- package/dist/module/gql/getTopicalInstruments.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +11 -3
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +9 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +22 -16
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/gql/types/index.js +27 -2
- package/dist/module/gql/types/index.js.map +1 -1
- package/dist/module/index.js +16 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/translations/index.js +21 -14
- package/dist/module/translations/index.js.map +1 -1
- package/dist/module/translations/translations.js +7 -1
- package/dist/module/translations/translations.js.map +1 -1
- package/dist/types/gql/getInstrumentsChart.d.ts +1 -1
- package/dist/types/gql/getTopicalInstruments.d.ts +1 -1
- package/package.json +8 -4
- package/tsconfig.types.json +2 -4
|
@@ -1,44 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Main = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _getInstrumentsChart = require("../gql/getInstrumentsChart");
|
|
11
|
+
var _getTopicalInstruments = require("../gql/getTopicalInstruments");
|
|
12
|
+
var _graphql = require("../gql/types/graphql");
|
|
13
|
+
var _config = require("./config");
|
|
14
|
+
var _constant = require("./constant");
|
|
15
|
+
var _utils = require("./utils");
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
const Main = _ref => {
|
|
11
18
|
let {
|
|
12
19
|
sort,
|
|
13
20
|
assetClass,
|
|
14
21
|
division,
|
|
15
|
-
count = DEFAULT_COUNT,
|
|
16
|
-
columns = DEFAULT_COLUMNS
|
|
22
|
+
count = _constant.DEFAULT_COUNT,
|
|
23
|
+
columns = _constant.DEFAULT_COLUMNS
|
|
17
24
|
} = _ref;
|
|
18
25
|
const emptyRecords = Array(count).fill({});
|
|
19
26
|
const {
|
|
20
27
|
lang
|
|
21
|
-
} = useLocale();
|
|
28
|
+
} = (0, _monoI18n.useLocale)();
|
|
22
29
|
const {
|
|
23
30
|
size
|
|
24
|
-
} = useLayoutProvider();
|
|
31
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
25
32
|
const {
|
|
26
33
|
target,
|
|
27
34
|
setQuery
|
|
28
|
-
} = useLiveRatesQuery();
|
|
29
|
-
const [pageNumber, setPageNumber] = useState(0);
|
|
30
|
-
const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);
|
|
31
|
-
const [records, setRecords] = useState(emptyRecords);
|
|
32
|
-
const isDesktop = size === Size.DESKTOP;
|
|
33
|
-
const navigationConfig = division === Division.Oc ? navigationConfigOC : navigationConfigDefault;
|
|
35
|
+
} = (0, _labsWidgetCommon.useLiveRatesQuery)();
|
|
36
|
+
const [pageNumber, setPageNumber] = (0, _react.useState)(0);
|
|
37
|
+
const [tiSort, setTiSort] = (0, _react.useState)(sort || _graphql.TopicalSort.Popular);
|
|
38
|
+
const [records, setRecords] = (0, _react.useState)(emptyRecords);
|
|
39
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
40
|
+
const navigationConfig = division === _graphql.Division.Oc ? _config.navigationConfigOC : _config.navigationConfigDefault;
|
|
34
41
|
const isTool = sort === undefined;
|
|
35
42
|
const {
|
|
36
43
|
data,
|
|
37
44
|
mainLoading,
|
|
38
45
|
loading,
|
|
39
46
|
error
|
|
40
|
-
} = useFetchCombinedDataRecords({
|
|
41
|
-
mainQuery: getTopicalInstruments,
|
|
47
|
+
} = (0, _labsWidgetCommon.useFetchCombinedDataRecords)({
|
|
48
|
+
mainQuery: _getTopicalInstruments.getTopicalInstruments,
|
|
42
49
|
mainVariables: {
|
|
43
50
|
sort: tiSort,
|
|
44
51
|
division,
|
|
@@ -46,7 +53,7 @@ export const Main = _ref => {
|
|
|
46
53
|
count,
|
|
47
54
|
offset: pageNumber * 10
|
|
48
55
|
},
|
|
49
|
-
batchQuery: getInstrumentsChart,
|
|
56
|
+
batchQuery: _getInstrumentsChart.getInstrumentsChart,
|
|
50
57
|
getBatchVariables: mainData => {
|
|
51
58
|
const topicalInstruments = mainData?.topicalInstruments?.map(i => i.name);
|
|
52
59
|
return topicalInstruments?.length ? {
|
|
@@ -54,15 +61,15 @@ export const Main = _ref => {
|
|
|
54
61
|
division
|
|
55
62
|
} : undefined;
|
|
56
63
|
},
|
|
57
|
-
merge: (mainData, chartData) => getRecords(mainData, chartData),
|
|
64
|
+
merge: (mainData, chartData) => (0, _utils.getRecords)(mainData, chartData),
|
|
58
65
|
fetchPolicy: 'network-only'
|
|
59
66
|
});
|
|
60
|
-
useEffect(() => {
|
|
67
|
+
(0, _react.useEffect)(() => {
|
|
61
68
|
if (!mainLoading && data) {
|
|
62
69
|
setRecords(data.records ?? []);
|
|
63
70
|
}
|
|
64
71
|
}, [mainLoading, data]);
|
|
65
|
-
useEffect(() => {
|
|
72
|
+
(0, _react.useEffect)(() => {
|
|
66
73
|
if (records[0].instrument) {
|
|
67
74
|
const instruments = records.map(_ref2 => {
|
|
68
75
|
let {
|
|
@@ -75,7 +82,7 @@ export const Main = _ref => {
|
|
|
75
82
|
});
|
|
76
83
|
}
|
|
77
84
|
}, [isDesktop]);
|
|
78
|
-
useEffect(() => {
|
|
85
|
+
(0, _react.useEffect)(() => {
|
|
79
86
|
if (records[0].instrument && records[0].chart?.length === 0) {
|
|
80
87
|
const instruments = records.map(_ref3 => {
|
|
81
88
|
let {
|
|
@@ -99,15 +106,15 @@ export const Main = _ref => {
|
|
|
99
106
|
};
|
|
100
107
|
const showError = !!error || data?.records?.length === 0;
|
|
101
108
|
const isPaginationDisabled = mainLoading || !!data?.totalCount && data?.totalCount <= count;
|
|
102
|
-
return
|
|
103
|
-
PaginationComponent: isTool ?
|
|
109
|
+
return _react.default.createElement(_labsWidgetCommon.TableWidget, {
|
|
110
|
+
PaginationComponent: isTool ? _react.default.createElement(_labsWidgetCommon.Pagination, {
|
|
104
111
|
currentPage: pageNumber,
|
|
105
112
|
disabled: isPaginationDisabled,
|
|
106
113
|
recordsPerPage: count,
|
|
107
|
-
totalRecords: data?.totalCount ?? DEFAULT_TOTAL_COUNT,
|
|
114
|
+
totalRecords: data?.totalCount ?? _constant.DEFAULT_TOTAL_COUNT,
|
|
108
115
|
onPageChange: handlePageChange
|
|
109
116
|
}) : undefined,
|
|
110
|
-
TabsComponent: isTool ?
|
|
117
|
+
TabsComponent: isTool ? _react.default.createElement(_labsWidgetCommon.Tabs, {
|
|
111
118
|
mobileFullWidth: true,
|
|
112
119
|
activeTab: tiSort,
|
|
113
120
|
handleClick: handleTabClick,
|
|
@@ -117,7 +124,7 @@ export const Main = _ref => {
|
|
|
117
124
|
activeColumns: columns,
|
|
118
125
|
count: count,
|
|
119
126
|
hasError: showError,
|
|
120
|
-
headerColumns: getHeaderConfig(columns, headerConfig),
|
|
127
|
+
headerColumns: (0, _labsWidgetCommon.getHeaderConfig)(columns, _config.headerConfig),
|
|
121
128
|
isChartLoading: loading,
|
|
122
129
|
isLoading: mainLoading,
|
|
123
130
|
pageNumber: pageNumber,
|
|
@@ -125,7 +132,8 @@ export const Main = _ref => {
|
|
|
125
132
|
target: target,
|
|
126
133
|
testId: "topical-instruments-wrapper",
|
|
127
134
|
timestamp: data?.updatedAt,
|
|
128
|
-
toolTipId: INSTRUMENT_TOOLTIP_ID
|
|
135
|
+
toolTipId: _constant.INSTRUMENT_TOOLTIP_ID
|
|
129
136
|
});
|
|
130
137
|
};
|
|
138
|
+
exports.Main = Main;
|
|
131
139
|
//# sourceMappingURL=Main.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["getHeaderConfig","Pagination","Size","TableWidget","Tabs","useFetchCombinedDataRecords","useLayoutProvider","useLiveRatesQuery","useLocale","React","useEffect","useState","getInstrumentsChart","getTopicalInstruments","Division","TopicalSort","headerConfig","navigationConfigDefault","navigationConfigOC","DEFAULT_COLUMNS","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","INSTRUMENT_TOOLTIP_ID","getRecords","Main","_ref","sort","assetClass","division","count","columns","emptyRecords","Array","fill","lang","size","target","setQuery","pageNumber","setPageNumber","tiSort","setTiSort","Popular","records","setRecords","isDesktop","DESKTOP","navigationConfig","Oc","isTool","undefined","data","mainLoading","loading","error","mainQuery","mainVariables","offset","batchQuery","getBatchVariables","mainData","topicalInstruments","map","i","name","length","instruments","merge","chartData","fetchPolicy","instrument","_ref2","chart","_ref3","handleTabClick","e","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","PaginationComponent","currentPage","disabled","recordsPerPage","totalRecords","onPageChange","TabsComponent","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n getHeaderConfig,\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.name\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_getInstrumentsChart","_getTopicalInstruments","_graphql","_config","_constant","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","sort","assetClass","division","count","DEFAULT_COUNT","columns","DEFAULT_COLUMNS","emptyRecords","Array","fill","lang","useLocale","size","useLayoutProvider","target","setQuery","useLiveRatesQuery","pageNumber","setPageNumber","useState","tiSort","setTiSort","TopicalSort","Popular","records","setRecords","isDesktop","Size","DESKTOP","navigationConfig","Division","Oc","navigationConfigOC","navigationConfigDefault","isTool","undefined","data","mainLoading","loading","error","useFetchCombinedDataRecords","mainQuery","getTopicalInstruments","mainVariables","offset","batchQuery","getInstrumentsChart","getBatchVariables","mainData","topicalInstruments","map","name","length","instruments","merge","chartData","getRecords","fetchPolicy","useEffect","instrument","_ref2","chart","_ref3","handleTabClick","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","TableWidget","PaginationComponent","Pagination","currentPage","disabled","recordsPerPage","totalRecords","DEFAULT_TOTAL_COUNT","onPageChange","TabsComponent","Tabs","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","getHeaderConfig","headerConfig","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n getHeaderConfig,\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.name\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TopicalInstrumentsWidget = void 0;
|
|
7
|
+
var _client = require("@apollo/client");
|
|
8
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _translations = require("../translations");
|
|
11
|
+
var _Main = require("./Main");
|
|
12
|
+
var _types = require("./types");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
14
|
const TopicalInstrumentsWidget = _ref => {
|
|
8
15
|
let {
|
|
9
16
|
graphqlUrl,
|
|
@@ -19,13 +26,13 @@ const TopicalInstrumentsWidget = _ref => {
|
|
|
19
26
|
removePadding,
|
|
20
27
|
logoLink
|
|
21
28
|
} = _ref;
|
|
22
|
-
const client = new ApolloClient({
|
|
29
|
+
const client = new _client.ApolloClient({
|
|
23
30
|
uri: graphqlUrl,
|
|
24
|
-
cache: new InMemoryCache()
|
|
31
|
+
cache: new _client.InMemoryCache()
|
|
25
32
|
});
|
|
26
|
-
const divisionCode = division === Division.Opt ? Division.Ogm : division;
|
|
27
|
-
const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';
|
|
28
|
-
return
|
|
33
|
+
const divisionCode = division === _types.Division.Opt ? _types.Division.Ogm : division;
|
|
34
|
+
const dataSource = divisionCode === _types.Division.Ogm ? 'MT5' : 'V20';
|
|
35
|
+
return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
|
|
29
36
|
client: client,
|
|
30
37
|
liveRates: {
|
|
31
38
|
url: liveRatesUrl,
|
|
@@ -39,12 +46,12 @@ const TopicalInstrumentsWidget = _ref => {
|
|
|
39
46
|
removePadding
|
|
40
47
|
},
|
|
41
48
|
theme: theme,
|
|
42
|
-
translations: translations
|
|
43
|
-
},
|
|
49
|
+
translations: _translations.translations
|
|
50
|
+
}, _react.default.createElement(_labsWidgetCommon.WidgetWrapper, {
|
|
44
51
|
isParamError: isParamError,
|
|
45
52
|
linkArea: "logo",
|
|
46
53
|
logoLink: logoLink
|
|
47
|
-
},
|
|
54
|
+
}, _react.default.createElement(_Main.Main, {
|
|
48
55
|
assetClass: assetClass,
|
|
49
56
|
columns: columns,
|
|
50
57
|
count: count,
|
|
@@ -52,5 +59,5 @@ const TopicalInstrumentsWidget = _ref => {
|
|
|
52
59
|
sort: sort
|
|
53
60
|
})));
|
|
54
61
|
};
|
|
55
|
-
|
|
62
|
+
exports.TopicalInstrumentsWidget = TopicalInstrumentsWidget;
|
|
56
63
|
//# sourceMappingURL=TopicalInstrumentsWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopicalInstrumentsWidget.js","names":["
|
|
1
|
+
{"version":3,"file":"TopicalInstrumentsWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_translations","_Main","_types","e","__esModule","default","TopicalInstrumentsWidget","_ref","graphqlUrl","liveRatesUrl","sort","division","assetClass","count","columns","locale","theme","isParamError","removePadding","logoLink","client","ApolloClient","uri","cache","InMemoryCache","divisionCode","Division","Opt","Ogm","dataSource","createElement","WidgetProvider","liveRates","url","options","styling","translations","WidgetWrapper","linkArea","Main","exports"],"sources":["../../../src/TopicalInstrumentsWidget/TopicalInstrumentsWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport type { TopicalInstrumentsConfig } from './types';\nimport { Division } from './types';\n\nconst TopicalInstrumentsWidget = ({\n graphqlUrl,\n liveRatesUrl,\n sort,\n division,\n assetClass,\n count,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n logoLink,\n}: TopicalInstrumentsConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <WidgetProvider\n client={client}\n liveRates={{\n url: liveRatesUrl,\n options: { divisionCode, dataSource },\n }}\n locale={locale}\n styling={{\n removePadding,\n }}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main\n assetClass={assetClass}\n columns={columns}\n count={count}\n division={division}\n sort={sort}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { TopicalInstrumentsWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AAAmC,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEnC,MAAMG,wBAAwB,GAAGC,IAAA,IAaD;EAAA,IAbE;IAChCC,UAAU;IACVC,YAAY;IACZC,IAAI;IACJC,QAAQ;IACRC,UAAU;IACVC,KAAK;IACLC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,aAAa;IACbC;EACwB,CAAC,GAAAZ,IAAA;EACzB,MAAMa,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEd,UAAU;IACfe,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAGd,QAAQ,KAAKe,eAAQ,CAACC,GAAG,GAAGD,eAAQ,CAACE,GAAG,GAAGjB,QAAQ;EACxE,MAAMkB,UAAU,GAAGJ,YAAY,KAAKC,eAAQ,CAACE,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACE9B,MAAA,CAAAO,OAAA,CAAAyB,aAAA,CAACjC,iBAAA,CAAAkC,cAAc;IACbX,MAAM,EAAEA,MAAO;IACfY,SAAS,EAAE;MACTC,GAAG,EAAExB,YAAY;MACjByB,OAAO,EAAE;QAAET,YAAY;QAAEI;MAAW;IACtC,CAAE;IACFd,MAAM,EAAEA,MAAO;IACfoB,OAAO,EAAE;MACPjB;IACF,CAAE;IACFF,KAAK,EAAEA,KAAM;IACboB,YAAY,EAAEA;EAAa,GAE3BtC,MAAA,CAAAO,OAAA,CAAAyB,aAAA,CAACjC,iBAAA,CAAAwC,aAAa;IACZpB,YAAY,EAAEA,YAAa;IAC3BqB,QAAQ,EAAC,MAAM;IACfnB,QAAQ,EAAEA;EAAS,GAEnBrB,MAAA,CAAAO,OAAA,CAAAyB,aAAA,CAAC7B,KAAA,CAAAsC,IAAI;IACH3B,UAAU,EAAEA,UAAW;IACvBE,OAAO,EAAEA,OAAQ;IACjBD,KAAK,EAAEA,KAAM;IACbF,QAAQ,EAAEA,QAAS;IACnBD,IAAI,EAAEA;EAAK,CACZ,CACY,CACD,CAAC;AAErB,CAAC;AAAC8B,OAAA,CAAAlC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.navigationConfigOC = exports.navigationConfigDefault = exports.headerConfig = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _graphql = require("../gql/types/graphql");
|
|
9
|
+
const headerConfig = exports.headerConfig = {
|
|
10
|
+
[_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
|
|
5
11
|
displayName: 'instrument',
|
|
6
12
|
additionalStyles: {
|
|
7
13
|
align: 'left',
|
|
8
14
|
minWidth: '130px'
|
|
9
15
|
}
|
|
10
16
|
},
|
|
11
|
-
[DataRecordType.SELL]: {
|
|
17
|
+
[_labsWidgetCommon.DataRecordType.SELL]: {
|
|
12
18
|
displayName: 'sell',
|
|
13
19
|
additionalStyles: {
|
|
14
20
|
align: 'right',
|
|
@@ -16,7 +22,7 @@ const headerConfig = {
|
|
|
16
22
|
paddingRight: true
|
|
17
23
|
}
|
|
18
24
|
},
|
|
19
|
-
[DataRecordType.BUY]: {
|
|
25
|
+
[_labsWidgetCommon.DataRecordType.BUY]: {
|
|
20
26
|
displayName: 'buy',
|
|
21
27
|
additionalStyles: {
|
|
22
28
|
align: 'right',
|
|
@@ -24,28 +30,28 @@ const headerConfig = {
|
|
|
24
30
|
paddingRight: true
|
|
25
31
|
}
|
|
26
32
|
},
|
|
27
|
-
[DataRecordType.DAILY_CHANGE]: {
|
|
33
|
+
[_labsWidgetCommon.DataRecordType.DAILY_CHANGE]: {
|
|
28
34
|
displayName: 'daily_percent_change',
|
|
29
35
|
additionalStyles: {
|
|
30
36
|
align: 'right',
|
|
31
37
|
minWidth: '80px'
|
|
32
38
|
}
|
|
33
39
|
},
|
|
34
|
-
[DataRecordType.CHART]: {
|
|
40
|
+
[_labsWidgetCommon.DataRecordType.CHART]: {
|
|
35
41
|
displayName: '24h_chart',
|
|
36
42
|
additionalStyles: {
|
|
37
43
|
align: 'center',
|
|
38
44
|
minWidth: '100px'
|
|
39
45
|
}
|
|
40
46
|
},
|
|
41
|
-
[DataRecordType.SPREAD]: {
|
|
47
|
+
[_labsWidgetCommon.DataRecordType.SPREAD]: {
|
|
42
48
|
displayName: 'spread',
|
|
43
49
|
additionalStyles: {
|
|
44
50
|
align: 'right',
|
|
45
51
|
minWidth: '50px'
|
|
46
52
|
}
|
|
47
53
|
},
|
|
48
|
-
[DataRecordType.SENTIMENT]: {
|
|
54
|
+
[_labsWidgetCommon.DataRecordType.SENTIMENT]: {
|
|
49
55
|
displayName: 'sentiment',
|
|
50
56
|
additionalStyles: {
|
|
51
57
|
align: 'center',
|
|
@@ -53,37 +59,36 @@ const headerConfig = {
|
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
};
|
|
56
|
-
const navigationConfigDefault = [{
|
|
57
|
-
id: TopicalSort.Popular,
|
|
62
|
+
const navigationConfigDefault = exports.navigationConfigDefault = [{
|
|
63
|
+
id: _graphql.TopicalSort.Popular,
|
|
58
64
|
label: 'popular'
|
|
59
65
|
}, {
|
|
60
|
-
id: TopicalSort.Hot,
|
|
66
|
+
id: _graphql.TopicalSort.Hot,
|
|
61
67
|
label: 'hot'
|
|
62
68
|
}, {
|
|
63
|
-
id: TopicalSort.Volatile,
|
|
69
|
+
id: _graphql.TopicalSort.Volatile,
|
|
64
70
|
label: 'volatile'
|
|
65
71
|
}, {
|
|
66
|
-
id: TopicalSort.Bullish,
|
|
72
|
+
id: _graphql.TopicalSort.Bullish,
|
|
67
73
|
label: 'bullish'
|
|
68
74
|
}, {
|
|
69
|
-
id: TopicalSort.Bearish,
|
|
75
|
+
id: _graphql.TopicalSort.Bearish,
|
|
70
76
|
label: 'bearish'
|
|
71
77
|
}];
|
|
72
|
-
const navigationConfigOC = [{
|
|
73
|
-
id: TopicalSort.Popular,
|
|
78
|
+
const navigationConfigOC = exports.navigationConfigOC = [{
|
|
79
|
+
id: _graphql.TopicalSort.Popular,
|
|
74
80
|
label: 'most_traded'
|
|
75
81
|
}, {
|
|
76
|
-
id: TopicalSort.Hot,
|
|
82
|
+
id: _graphql.TopicalSort.Hot,
|
|
77
83
|
label: 'high_volume'
|
|
78
84
|
}, {
|
|
79
|
-
id: TopicalSort.Volatile,
|
|
85
|
+
id: _graphql.TopicalSort.Volatile,
|
|
80
86
|
label: 'volatile'
|
|
81
87
|
}, {
|
|
82
|
-
id: TopicalSort.Bullish,
|
|
88
|
+
id: _graphql.TopicalSort.Bullish,
|
|
83
89
|
label: 'net_long'
|
|
84
90
|
}, {
|
|
85
|
-
id: TopicalSort.Bearish,
|
|
91
|
+
id: _graphql.TopicalSort.Bearish,
|
|
86
92
|
label: 'net_short'
|
|
87
93
|
}];
|
|
88
|
-
export { headerConfig, navigationConfigDefault, navigationConfigOC };
|
|
89
94
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["
|
|
1
|
+
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","navigationConfigDefault","id","TopicalSort","Popular","label","Hot","Volatile","Bullish","Bearish","navigationConfigOC"],"sources":["../../../src/TopicalInstrumentsWidget/config.ts"],"sourcesContent":["import type { HeaderConfigType } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { TopicalSort } from '../gql/types/graphql';\n\nconst headerConfig: HeaderConfigType = {\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '130px',\n },\n },\n [DataRecordType.SELL]: {\n displayName: 'sell',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.BUY]: {\n displayName: 'buy',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.CHART]: {\n displayName: '24h_chart',\n additionalStyles: {\n align: 'center',\n minWidth: '100px',\n },\n },\n [DataRecordType.SPREAD]: {\n displayName: 'spread',\n additionalStyles: {\n align: 'right',\n minWidth: '50px',\n },\n },\n [DataRecordType.SENTIMENT]: {\n displayName: 'sentiment',\n additionalStyles: {\n align: 'center',\n minWidth: '190px',\n },\n },\n};\n\nconst navigationConfigDefault = [\n {\n id: TopicalSort.Popular,\n label: 'popular',\n },\n {\n id: TopicalSort.Hot,\n label: 'hot',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'bullish',\n },\n {\n id: TopicalSort.Bearish,\n label: 'bearish',\n },\n];\n\nconst navigationConfigOC = [\n {\n id: TopicalSort.Popular,\n label: 'most_traded',\n },\n {\n id: TopicalSort.Hot,\n label: 'high_volume',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'net_long',\n },\n {\n id: TopicalSort.Bearish,\n label: 'net_short',\n },\n];\n\nexport { headerConfig, navigationConfigDefault, navigationConfigOC };\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,YAA8B,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrC,CAACE,gCAAc,CAACC,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACM,IAAI,GAAG;IACrBJ,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACP,gCAAc,CAACQ,GAAG,GAAG;IACpBN,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACP,gCAAc,CAACS,YAAY,GAAG;IAC7BP,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACU,KAAK,GAAG;IACtBR,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACW,MAAM,GAAG;IACvBT,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACY,SAAS,GAAG;IAC1BV,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,MAAMQ,uBAAuB,GAAAd,OAAA,CAAAc,uBAAA,GAAG,CAC9B;EACEC,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAAvB,OAAA,CAAAuB,kBAAA,GAAG,CACzB;EACER,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF","ignoreList":[]}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.INSTRUMENT_TOOLTIP_ID = exports.DEFAULT_TOTAL_COUNT = exports.DEFAULT_COUNT = exports.DEFAULT_COLUMNS = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
const DEFAULT_COUNT = exports.DEFAULT_COUNT = 10;
|
|
9
|
+
const DEFAULT_TOTAL_COUNT = exports.DEFAULT_TOTAL_COUNT = 50;
|
|
10
|
+
const DEFAULT_COLUMNS = exports.DEFAULT_COLUMNS = [_labsWidgetCommon.DataRecordType.SELL, _labsWidgetCommon.DataRecordType.BUY, _labsWidgetCommon.DataRecordType.DAILY_CHANGE, _labsWidgetCommon.DataRecordType.CHART, _labsWidgetCommon.DataRecordType.SPREAD, _labsWidgetCommon.DataRecordType.SENTIMENT];
|
|
11
|
+
const INSTRUMENT_TOOLTIP_ID = exports.INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
|
|
7
12
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["
|
|
1
|
+
{"version":3,"file":"constant.js","names":["_labsWidgetCommon","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","DataRecordType","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/TopicalInstrumentsWidget/constant.ts"],"sourcesContent":["import { DataRecordType } from '@oanda/labs-widget-common';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n DataRecordType.SELL,\n DataRecordType.BUY,\n DataRecordType.DAILY_CHANGE,\n DataRecordType.CHART,\n DataRecordType.SPREAD,\n DataRecordType.SENTIMENT,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,EAAE;AAExB,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,CACtBC,gCAAc,CAACC,IAAI,EACnBD,gCAAc,CAACE,GAAG,EAClBF,gCAAc,CAACG,YAAY,EAC3BH,gCAAc,CAACI,KAAK,EACpBJ,gCAAc,CAACK,MAAM,EACrBL,gCAAc,CAACM,SAAS,CACzB;AAED,MAAMC,qBAAqB,GAAAV,OAAA,CAAAU,qBAAA,GAAG,uBAAuB","ignoreList":[]}
|
|
@@ -1,3 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _TopicalInstrumentsWidget = require("./TopicalInstrumentsWidget");
|
|
7
|
+
Object.keys(_TopicalInstrumentsWidget).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _TopicalInstrumentsWidget[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _TopicalInstrumentsWidget[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _types = require("./types");
|
|
18
|
+
Object.keys(_types).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _types[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _types[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
3
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/TopicalInstrumentsWidget/index.ts"],"sourcesContent":["export * from './TopicalInstrumentsWidget';\nexport * from './types';\n"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["_TopicalInstrumentsWidget","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_types"],"sources":["../../../src/TopicalInstrumentsWidget/index.ts"],"sourcesContent":["export * from './TopicalInstrumentsWidget';\nexport * from './types';\n"],"mappings":";;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,yBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,yBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,yBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,MAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,MAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,MAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,MAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _client = require("react-dom/client");
|
|
6
|
+
var _graphql = require("../gql/types/graphql");
|
|
7
|
+
var _TopicalInstrumentsWidget = require("./TopicalInstrumentsWidget");
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
9
|
const {
|
|
7
10
|
graphqlUrl: configGraphQlUrl,
|
|
8
11
|
liveRatesUrl: configLiveRatesUrl,
|
|
@@ -20,7 +23,7 @@ const {
|
|
|
20
23
|
const topicalInstrumentsParamsElements = document.querySelectorAll('div[data-topical-instruments-params]');
|
|
21
24
|
if (topicalInstrumentsParamsElements.length > 0) {
|
|
22
25
|
topicalInstrumentsParamsElements.forEach(element => {
|
|
23
|
-
const root = createRoot(element);
|
|
26
|
+
const root = (0, _client.createRoot)(element);
|
|
24
27
|
const params = element.getAttribute('data-topical-instruments-params');
|
|
25
28
|
const mode = element.getAttribute('data-mode');
|
|
26
29
|
const {
|
|
@@ -33,23 +36,23 @@ if (topicalInstrumentsParamsElements.length > 0) {
|
|
|
33
36
|
logoLink
|
|
34
37
|
} = JSON.parse(params);
|
|
35
38
|
const countValue = count !== undefined ? parseInt(count, 10) : count;
|
|
36
|
-
const isParamError = validateToolParams({
|
|
39
|
+
const isParamError = (0, _labsWidgetCommon.validateToolParams)({
|
|
37
40
|
division,
|
|
38
41
|
locale,
|
|
39
42
|
graphqlUrl,
|
|
40
43
|
liveRatesUrl
|
|
41
44
|
}, [{
|
|
42
45
|
name: 'locale',
|
|
43
|
-
valueCheck: value => validateLocale(value)
|
|
46
|
+
valueCheck: value => (0, _labsWidgetCommon.validateLocale)(value)
|
|
44
47
|
}, {
|
|
45
48
|
name: 'division',
|
|
46
|
-
valueCheck: value => Object.values(Division).includes(value)
|
|
49
|
+
valueCheck: value => Object.values(_graphql.Division).includes(value)
|
|
47
50
|
}, {
|
|
48
51
|
name: 'graphqlUrl'
|
|
49
52
|
}, {
|
|
50
53
|
name: 'liveRatesUrl'
|
|
51
54
|
}]);
|
|
52
|
-
root.render(
|
|
55
|
+
root.render(_react.default.createElement(_TopicalInstrumentsWidget.TopicalInstrumentsWidget, {
|
|
53
56
|
assetClass: assetClass,
|
|
54
57
|
columns: columns,
|
|
55
58
|
count: countValue,
|
|
@@ -65,8 +68,8 @@ if (topicalInstrumentsParamsElements.length > 0) {
|
|
|
65
68
|
});
|
|
66
69
|
} else {
|
|
67
70
|
const container = document.querySelector(configRenderElementId);
|
|
68
|
-
const root = createRoot(container);
|
|
69
|
-
root.render(
|
|
71
|
+
const root = (0, _client.createRoot)(container);
|
|
72
|
+
root.render(_react.default.createElement(_TopicalInstrumentsWidget.TopicalInstrumentsWidget, {
|
|
70
73
|
columns: configColumns,
|
|
71
74
|
count: configCount,
|
|
72
75
|
division: configDivision,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["
|
|
1
|
+
{"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_TopicalInstrumentsWidget","e","__esModule","default","graphqlUrl","configGraphQlUrl","liveRatesUrl","configLiveRatesUrl","sort","configSort","division","configDivision","count","configCount","columns","configColumns","renderElementId","configRenderElementId","locale","configLocale","window","topicalInstrumentsWidgetConfig","widgetsConfig","topicalInstrumentsParamsElements","document","querySelectorAll","length","forEach","element","root","createRoot","params","getAttribute","mode","assetClass","logoLink","JSON","parse","countValue","undefined","parseInt","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","TopicalInstrumentsWidget","theme","container","querySelector"],"sources":["../../../src/TopicalInstrumentsWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { TopicalInstrumentsWidget } from './TopicalInstrumentsWidget';\n\nconst {\n graphqlUrl: configGraphQlUrl,\n liveRatesUrl: configLiveRatesUrl,\n sort: configSort,\n division: configDivision,\n count: configCount,\n columns: configColumns,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.topicalInstrumentsWidgetConfig || {};\n\nconst { graphqlUrl, liveRatesUrl } = window.widgetsConfig || {};\n\nconst topicalInstrumentsParamsElements = document.querySelectorAll(\n 'div[data-topical-instruments-params]'\n);\n\nif (topicalInstrumentsParamsElements.length > 0) {\n topicalInstrumentsParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-topical-instruments-params');\n const mode = element.getAttribute('data-mode');\n const { sort, assetClass, count, columns, division, locale, logoLink } =\n JSON.parse(params as string);\n\n const countValue =\n count !== undefined ? parseInt(count as string, 10) : count;\n\n const isParamError = validateToolParams(\n {\n division,\n locale,\n graphqlUrl,\n liveRatesUrl,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n {\n name: 'liveRatesUrl',\n },\n ]\n );\n\n root.render(\n <TopicalInstrumentsWidget\n assetClass={assetClass}\n columns={columns}\n count={countValue}\n division={division}\n graphqlUrl={graphqlUrl}\n isParamError={isParamError}\n liveRatesUrl={liveRatesUrl}\n locale={locale}\n logoLink={logoLink}\n sort={sort}\n theme={mode as Theme}\n />\n );\n });\n} else {\n const container: HTMLElement | null = document.querySelector(\n configRenderElementId\n );\n\n const root = createRoot(container!);\n\n root.render(\n <TopicalInstrumentsWidget\n columns={configColumns}\n count={configCount}\n division={configDivision}\n graphqlUrl={configGraphQlUrl}\n liveRatesUrl={configLiveRatesUrl}\n locale={configLocale}\n sort={configSort}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|