@oanda/labs-topical-instruments-widget 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/TopicalInstrumentsWidget/Main.js +1 -1
- package/dist/main/TopicalInstrumentsWidget/Main.js.map +1 -1
- package/dist/main/TopicalInstrumentsWidget/config.js +31 -13
- package/dist/main/TopicalInstrumentsWidget/config.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/Main.js +3 -3
- package/dist/module/TopicalInstrumentsWidget/Main.js.map +1 -1
- package/dist/module/TopicalInstrumentsWidget/config.js +31 -12
- package/dist/module/TopicalInstrumentsWidget/config.js.map +1 -1
- package/dist/types/TopicalInstrumentsWidget/config.d.ts +3 -9
- package/package.json +3 -3
- package/src/TopicalInstrumentsWidget/Main.tsx +3 -2
- package/src/TopicalInstrumentsWidget/config.ts +33 -39
|
@@ -125,7 +125,7 @@ const Main = _ref => {
|
|
|
125
125
|
activeColumns: columns,
|
|
126
126
|
count: count,
|
|
127
127
|
hasError: showError,
|
|
128
|
-
headerColumns: (0,
|
|
128
|
+
headerColumns: (0, _labsWidgetCommon.getHeaderConfig)(columns, _config.headerConfig),
|
|
129
129
|
isChartLoading: loading,
|
|
130
130
|
isLoading: mainLoading,
|
|
131
131
|
pageNumber: pageNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_getInstrumentsChart","_getTopicalInstruments","_graphql","_config","_constant","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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","displayName","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","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 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 getHeaderConfig,\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.displayName\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)}\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","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","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","displayName","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.displayName\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":[]}
|
|
@@ -3,44 +3,62 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.navigationConfigOC = exports.navigationConfigDefault = exports.headerConfig =
|
|
6
|
+
exports.navigationConfigOC = exports.navigationConfigDefault = exports.headerConfig = void 0;
|
|
7
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
8
|
var _graphql = require("../gql/types/graphql");
|
|
9
9
|
const headerConfig = exports.headerConfig = {
|
|
10
10
|
[_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
|
|
11
11
|
displayName: 'instrument',
|
|
12
|
-
additionalStyles:
|
|
12
|
+
additionalStyles: {
|
|
13
|
+
align: 'left',
|
|
14
|
+
minWidth: '130px'
|
|
15
|
+
}
|
|
13
16
|
},
|
|
14
17
|
[_labsWidgetCommon.DataRecordType.SELL]: {
|
|
15
18
|
displayName: 'sell',
|
|
16
|
-
additionalStyles:
|
|
19
|
+
additionalStyles: {
|
|
20
|
+
align: 'right',
|
|
21
|
+
minWidth: '75px',
|
|
22
|
+
paddingRight: true
|
|
23
|
+
}
|
|
17
24
|
},
|
|
18
25
|
[_labsWidgetCommon.DataRecordType.BUY]: {
|
|
19
26
|
displayName: 'buy',
|
|
20
|
-
additionalStyles:
|
|
27
|
+
additionalStyles: {
|
|
28
|
+
align: 'right',
|
|
29
|
+
minWidth: '75px',
|
|
30
|
+
paddingRight: true
|
|
31
|
+
}
|
|
21
32
|
},
|
|
22
33
|
[_labsWidgetCommon.DataRecordType.DAILY_CHANGE]: {
|
|
23
34
|
displayName: 'daily_percent_change',
|
|
24
|
-
additionalStyles:
|
|
35
|
+
additionalStyles: {
|
|
36
|
+
align: 'right',
|
|
37
|
+
minWidth: '80px'
|
|
38
|
+
}
|
|
25
39
|
},
|
|
26
40
|
[_labsWidgetCommon.DataRecordType.CHART]: {
|
|
27
41
|
displayName: '24h_chart',
|
|
28
|
-
additionalStyles:
|
|
42
|
+
additionalStyles: {
|
|
43
|
+
align: 'center',
|
|
44
|
+
minWidth: '100px'
|
|
45
|
+
}
|
|
29
46
|
},
|
|
30
47
|
[_labsWidgetCommon.DataRecordType.SPREAD]: {
|
|
31
48
|
displayName: 'spread',
|
|
32
|
-
additionalStyles:
|
|
49
|
+
additionalStyles: {
|
|
50
|
+
align: 'right',
|
|
51
|
+
minWidth: '50px'
|
|
52
|
+
}
|
|
33
53
|
},
|
|
34
54
|
[_labsWidgetCommon.DataRecordType.SENTIMENT]: {
|
|
35
55
|
displayName: 'sentiment',
|
|
36
|
-
additionalStyles:
|
|
56
|
+
additionalStyles: {
|
|
57
|
+
align: 'center',
|
|
58
|
+
minWidth: '190px'
|
|
59
|
+
}
|
|
37
60
|
}
|
|
38
61
|
};
|
|
39
|
-
const getHeaderConfig = activeColumns => {
|
|
40
|
-
const columns = [_labsWidgetCommon.DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== _labsWidgetCommon.DataRecordType.LOW && item !== _labsWidgetCommon.DataRecordType.HIGH);
|
|
41
|
-
return columns.map(item => headerConfig[item]);
|
|
42
|
-
};
|
|
43
|
-
exports.getHeaderConfig = getHeaderConfig;
|
|
44
62
|
const navigationConfigDefault = exports.navigationConfigDefault = [{
|
|
45
63
|
id: _graphql.TopicalSort.Popular,
|
|
46
64
|
label: 'popular'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","
|
|
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,10 +1,10 @@
|
|
|
1
|
-
import { Pagination, Size, TableWidget, Tabs, useFetchCombinedDataRecords, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
|
|
1
|
+
import { getHeaderConfig, Pagination, Size, TableWidget, Tabs, useFetchCombinedDataRecords, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
|
|
2
2
|
import { useLocale } from '@oanda/mono-i18n';
|
|
3
3
|
import React, { useEffect, useState } from 'react';
|
|
4
4
|
import { getInstrumentsChart } from '../gql/getInstrumentsChart';
|
|
5
5
|
import { getTopicalInstruments } from '../gql/getTopicalInstruments';
|
|
6
6
|
import { Division, TopicalSort } from '../gql/types/graphql';
|
|
7
|
-
import {
|
|
7
|
+
import { headerConfig, navigationConfigDefault, navigationConfigOC } from './config';
|
|
8
8
|
import { DEFAULT_COLUMNS, DEFAULT_COUNT, DEFAULT_TOTAL_COUNT, INSTRUMENT_TOOLTIP_ID } from './constant';
|
|
9
9
|
import { getRecords } from './utils';
|
|
10
10
|
export const Main = _ref => {
|
|
@@ -117,7 +117,7 @@ export const Main = _ref => {
|
|
|
117
117
|
activeColumns: columns,
|
|
118
118
|
count: count,
|
|
119
119
|
hasError: showError,
|
|
120
|
-
headerColumns: getHeaderConfig(columns),
|
|
120
|
+
headerColumns: getHeaderConfig(columns, headerConfig),
|
|
121
121
|
isChartLoading: loading,
|
|
122
122
|
isLoading: mainLoading,
|
|
123
123
|
pageNumber: pageNumber,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["Pagination","Size","TableWidget","Tabs","useFetchCombinedDataRecords","useLayoutProvider","useLiveRatesQuery","useLocale","React","useEffect","useState","getInstrumentsChart","getTopicalInstruments","Division","TopicalSort","getHeaderConfig","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","displayName","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 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 getHeaderConfig,\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.displayName\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)}\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":["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","displayName","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.displayName\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":[]}
|
|
@@ -3,37 +3,56 @@ import { TopicalSort } from '../gql/types/graphql';
|
|
|
3
3
|
const headerConfig = {
|
|
4
4
|
[DataRecordType.INSTRUMENT]: {
|
|
5
5
|
displayName: 'instrument',
|
|
6
|
-
additionalStyles:
|
|
6
|
+
additionalStyles: {
|
|
7
|
+
align: 'left',
|
|
8
|
+
minWidth: '130px'
|
|
9
|
+
}
|
|
7
10
|
},
|
|
8
11
|
[DataRecordType.SELL]: {
|
|
9
12
|
displayName: 'sell',
|
|
10
|
-
additionalStyles:
|
|
13
|
+
additionalStyles: {
|
|
14
|
+
align: 'right',
|
|
15
|
+
minWidth: '75px',
|
|
16
|
+
paddingRight: true
|
|
17
|
+
}
|
|
11
18
|
},
|
|
12
19
|
[DataRecordType.BUY]: {
|
|
13
20
|
displayName: 'buy',
|
|
14
|
-
additionalStyles:
|
|
21
|
+
additionalStyles: {
|
|
22
|
+
align: 'right',
|
|
23
|
+
minWidth: '75px',
|
|
24
|
+
paddingRight: true
|
|
25
|
+
}
|
|
15
26
|
},
|
|
16
27
|
[DataRecordType.DAILY_CHANGE]: {
|
|
17
28
|
displayName: 'daily_percent_change',
|
|
18
|
-
additionalStyles:
|
|
29
|
+
additionalStyles: {
|
|
30
|
+
align: 'right',
|
|
31
|
+
minWidth: '80px'
|
|
32
|
+
}
|
|
19
33
|
},
|
|
20
34
|
[DataRecordType.CHART]: {
|
|
21
35
|
displayName: '24h_chart',
|
|
22
|
-
additionalStyles:
|
|
36
|
+
additionalStyles: {
|
|
37
|
+
align: 'center',
|
|
38
|
+
minWidth: '100px'
|
|
39
|
+
}
|
|
23
40
|
},
|
|
24
41
|
[DataRecordType.SPREAD]: {
|
|
25
42
|
displayName: 'spread',
|
|
26
|
-
additionalStyles:
|
|
43
|
+
additionalStyles: {
|
|
44
|
+
align: 'right',
|
|
45
|
+
minWidth: '50px'
|
|
46
|
+
}
|
|
27
47
|
},
|
|
28
48
|
[DataRecordType.SENTIMENT]: {
|
|
29
49
|
displayName: 'sentiment',
|
|
30
|
-
additionalStyles:
|
|
50
|
+
additionalStyles: {
|
|
51
|
+
align: 'center',
|
|
52
|
+
minWidth: '190px'
|
|
53
|
+
}
|
|
31
54
|
}
|
|
32
55
|
};
|
|
33
|
-
const getHeaderConfig = activeColumns => {
|
|
34
|
-
const columns = [DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== DataRecordType.LOW && item !== DataRecordType.HIGH);
|
|
35
|
-
return columns.map(item => headerConfig[item]);
|
|
36
|
-
};
|
|
37
56
|
const navigationConfigDefault = [{
|
|
38
57
|
id: TopicalSort.Popular,
|
|
39
58
|
label: 'popular'
|
|
@@ -66,5 +85,5 @@ const navigationConfigOC = [{
|
|
|
66
85
|
id: TopicalSort.Bearish,
|
|
67
86
|
label: 'net_short'
|
|
68
87
|
}];
|
|
69
|
-
export {
|
|
88
|
+
export { headerConfig, navigationConfigDefault, navigationConfigOC };
|
|
70
89
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","names":["DataRecordType","TopicalSort","headerConfig","INSTRUMENT","displayName","additionalStyles","
|
|
1
|
+
{"version":3,"file":"config.js","names":["DataRecordType","TopicalSort","headerConfig","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","navigationConfigDefault","id","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,SAASA,cAAc,QAAQ,2BAA2B;AAE1D,SAASC,WAAW,QAAQ,sBAAsB;AAElD,MAAMC,YAA8B,GAAG;EACrC,CAACF,cAAc,CAACG,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACQ,IAAI,GAAG;IACrBJ,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACT,cAAc,CAACU,GAAG,GAAG;IACpBN,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACT,cAAc,CAACW,YAAY,GAAG;IAC7BP,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACY,KAAK,GAAG;IACtBR,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACa,MAAM,GAAG;IACvBT,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACc,SAAS,GAAG;IAC1BV,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,MAAMQ,uBAAuB,GAAG,CAC9B;EACEC,EAAE,EAAEf,WAAW,CAACgB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACkB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACmB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACoB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACqB,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAG,CACzB;EACEP,EAAE,EAAEf,WAAW,CAACgB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACkB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACmB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACoB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACqB,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,SAAShB,YAAY,EAAEa,uBAAuB,EAAEQ,kBAAkB","ignoreList":[]}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { DataRecordType } from '@oanda/labs-widget-common';
|
|
1
|
+
import type { HeaderConfigType } from '@oanda/labs-widget-common';
|
|
3
2
|
import { TopicalSort } from '../gql/types/graphql';
|
|
4
|
-
|
|
5
|
-
declare const headerConfig: Record<HeaderRecordType, {
|
|
6
|
-
displayName: string;
|
|
7
|
-
additionalStyles: string;
|
|
8
|
-
}>;
|
|
9
|
-
declare const getHeaderConfig: (activeColumns: DataRecordType[]) => HeaderColumns[];
|
|
3
|
+
declare const headerConfig: HeaderConfigType;
|
|
10
4
|
declare const navigationConfigDefault: {
|
|
11
5
|
id: TopicalSort;
|
|
12
6
|
label: string;
|
|
@@ -15,4 +9,4 @@ declare const navigationConfigOC: {
|
|
|
15
9
|
id: TopicalSort;
|
|
16
10
|
label: string;
|
|
17
11
|
}[];
|
|
18
|
-
export {
|
|
12
|
+
export { headerConfig, navigationConfigDefault, navigationConfigOC };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-topical-instruments-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.207",
|
|
4
4
|
"description": "Labs Topical Instruments Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"author": "OANDA",
|
|
13
13
|
"license": "UNLICENSED",
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
15
|
+
"@oanda/labs-widget-common": "^1.0.207",
|
|
16
16
|
"@oanda/mono-i18n": "10.0.1",
|
|
17
17
|
"graphql": "16.8.1"
|
|
18
18
|
},
|
|
@@ -20,5 +20,5 @@
|
|
|
20
20
|
"@graphql-codegen/cli": "5.0.0",
|
|
21
21
|
"@graphql-codegen/client-preset": "4.1.0"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "31dcda0050419adc006433a90226fc9f0441b551"
|
|
24
24
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DataRecord } from '@oanda/labs-widget-common';
|
|
2
2
|
import {
|
|
3
|
+
getHeaderConfig,
|
|
3
4
|
Pagination,
|
|
4
5
|
Size,
|
|
5
6
|
TableWidget,
|
|
@@ -22,7 +23,7 @@ import {
|
|
|
22
23
|
TopicalSort,
|
|
23
24
|
} from '../gql/types/graphql';
|
|
24
25
|
import {
|
|
25
|
-
|
|
26
|
+
headerConfig,
|
|
26
27
|
navigationConfigDefault,
|
|
27
28
|
navigationConfigOC,
|
|
28
29
|
} from './config';
|
|
@@ -148,7 +149,7 @@ export const Main = ({
|
|
|
148
149
|
activeColumns={columns}
|
|
149
150
|
count={count}
|
|
150
151
|
hasError={showError}
|
|
151
|
-
headerColumns={getHeaderConfig(columns)}
|
|
152
|
+
headerColumns={getHeaderConfig(columns, headerConfig)}
|
|
152
153
|
isChartLoading={loading}
|
|
153
154
|
isLoading={mainLoading}
|
|
154
155
|
pageNumber={pageNumber}
|
|
@@ -1,63 +1,62 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { HeaderConfigType } from '@oanda/labs-widget-common';
|
|
2
2
|
import { DataRecordType } from '@oanda/labs-widget-common';
|
|
3
3
|
|
|
4
4
|
import { TopicalSort } from '../gql/types/graphql';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
| DataRecordType.INSTRUMENT
|
|
8
|
-
| DataRecordType.SELL
|
|
9
|
-
| DataRecordType.BUY
|
|
10
|
-
| DataRecordType.DAILY_CHANGE
|
|
11
|
-
| DataRecordType.CHART
|
|
12
|
-
| DataRecordType.SPREAD
|
|
13
|
-
| DataRecordType.SENTIMENT;
|
|
14
|
-
|
|
15
|
-
const headerConfig: Record<
|
|
16
|
-
HeaderRecordType,
|
|
17
|
-
{ displayName: string; additionalStyles: string }
|
|
18
|
-
> = {
|
|
6
|
+
const headerConfig: HeaderConfigType = {
|
|
19
7
|
[DataRecordType.INSTRUMENT]: {
|
|
20
8
|
displayName: 'instrument',
|
|
21
|
-
additionalStyles:
|
|
9
|
+
additionalStyles: {
|
|
10
|
+
align: 'left',
|
|
11
|
+
minWidth: '130px',
|
|
12
|
+
},
|
|
22
13
|
},
|
|
23
14
|
[DataRecordType.SELL]: {
|
|
24
15
|
displayName: 'sell',
|
|
25
|
-
additionalStyles:
|
|
16
|
+
additionalStyles: {
|
|
17
|
+
align: 'right',
|
|
18
|
+
minWidth: '75px',
|
|
19
|
+
paddingRight: true,
|
|
20
|
+
},
|
|
26
21
|
},
|
|
27
22
|
[DataRecordType.BUY]: {
|
|
28
23
|
displayName: 'buy',
|
|
29
|
-
additionalStyles:
|
|
24
|
+
additionalStyles: {
|
|
25
|
+
align: 'right',
|
|
26
|
+
minWidth: '75px',
|
|
27
|
+
paddingRight: true,
|
|
28
|
+
},
|
|
30
29
|
},
|
|
31
30
|
[DataRecordType.DAILY_CHANGE]: {
|
|
32
31
|
displayName: 'daily_percent_change',
|
|
33
|
-
additionalStyles:
|
|
32
|
+
additionalStyles: {
|
|
33
|
+
align: 'right',
|
|
34
|
+
minWidth: '80px',
|
|
35
|
+
},
|
|
34
36
|
},
|
|
35
37
|
[DataRecordType.CHART]: {
|
|
36
38
|
displayName: '24h_chart',
|
|
37
|
-
additionalStyles:
|
|
39
|
+
additionalStyles: {
|
|
40
|
+
align: 'center',
|
|
41
|
+
minWidth: '100px',
|
|
42
|
+
},
|
|
38
43
|
},
|
|
39
44
|
[DataRecordType.SPREAD]: {
|
|
40
45
|
displayName: 'spread',
|
|
41
|
-
additionalStyles:
|
|
46
|
+
additionalStyles: {
|
|
47
|
+
align: 'right',
|
|
48
|
+
minWidth: '50px',
|
|
49
|
+
},
|
|
42
50
|
},
|
|
43
51
|
[DataRecordType.SENTIMENT]: {
|
|
44
52
|
displayName: 'sentiment',
|
|
45
|
-
additionalStyles:
|
|
53
|
+
additionalStyles: {
|
|
54
|
+
align: 'center',
|
|
55
|
+
minWidth: '190px',
|
|
56
|
+
},
|
|
46
57
|
},
|
|
47
58
|
};
|
|
48
59
|
|
|
49
|
-
const getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {
|
|
50
|
-
const columns: HeaderRecordType[] = [
|
|
51
|
-
DataRecordType.INSTRUMENT,
|
|
52
|
-
...activeColumns,
|
|
53
|
-
].filter(
|
|
54
|
-
(item): item is HeaderRecordType =>
|
|
55
|
-
item !== DataRecordType.LOW && item !== DataRecordType.HIGH
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
return columns.map((item) => headerConfig[item]);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
60
|
const navigationConfigDefault = [
|
|
62
61
|
{
|
|
63
62
|
id: TopicalSort.Popular,
|
|
@@ -104,9 +103,4 @@ const navigationConfigOC = [
|
|
|
104
103
|
},
|
|
105
104
|
];
|
|
106
105
|
|
|
107
|
-
export {
|
|
108
|
-
getHeaderConfig,
|
|
109
|
-
headerConfig,
|
|
110
|
-
navigationConfigDefault,
|
|
111
|
-
navigationConfigOC,
|
|
112
|
-
};
|
|
106
|
+
export { headerConfig, navigationConfigDefault, navigationConfigOC };
|