@oanda/labs-sentiment-widget 1.0.122 → 1.0.124
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 +964 -0
- package/dist/main/SentimentWidget/Tool.js +5 -4
- package/dist/main/SentimentWidget/Tool.js.map +1 -1
- package/dist/main/SentimentWidget/Widget.js +3 -2
- package/dist/main/SentimentWidget/Widget.js.map +1 -1
- package/dist/main/constant.js +1 -2
- package/dist/main/constant.js.map +1 -1
- package/dist/module/SentimentWidget/Tool.js +6 -5
- package/dist/module/SentimentWidget/Tool.js.map +1 -1
- package/dist/module/SentimentWidget/Widget.js +5 -4
- package/dist/module/SentimentWidget/Widget.js.map +1 -1
- package/dist/module/constant.js +1 -2
- package/dist/module/constant.js.map +1 -1
- package/dist/types/constant.d.ts +1 -2
- package/package.json +3 -3
- package/src/SentimentWidget/Tool.tsx +5 -5
- package/src/SentimentWidget/Widget.tsx +3 -4
- package/src/constant.ts +1 -3
|
@@ -40,12 +40,12 @@ const Tool = _ref => {
|
|
|
40
40
|
const {
|
|
41
41
|
lang
|
|
42
42
|
} = (0, _monoI18n.useLocale)();
|
|
43
|
-
const [updatedTimestamp, setUpdatedTimestamp] = (0, _react.useState)(
|
|
43
|
+
const [updatedTimestamp, setUpdatedTimestamp] = (0, _react.useState)(_labsWidgetCommon.EMPTY_VALUE);
|
|
44
44
|
(0, _react.useEffect)(() => {
|
|
45
45
|
if (data) {
|
|
46
46
|
var _;
|
|
47
47
|
setSortedData((0, _utils.sortData)(data, sort));
|
|
48
|
-
setUpdatedTimestamp((
|
|
48
|
+
setUpdatedTimestamp((_ = data.sentimentList[0]) === null || _ === void 0 ? void 0 : _.updatedAt);
|
|
49
49
|
}
|
|
50
50
|
}, [data, sort]);
|
|
51
51
|
return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement("div", {
|
|
@@ -93,8 +93,9 @@ const Tool = _ref => {
|
|
|
93
93
|
id: _constant.INSTRUMENT_TOOLTIP_ID
|
|
94
94
|
}), !error && _react.default.createElement("div", {
|
|
95
95
|
className: "lw-mt-2 lw-h-8"
|
|
96
|
-
}, _react.default.createElement(_labsWidgetCommon.
|
|
97
|
-
|
|
96
|
+
}, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
|
|
97
|
+
timestamp: updatedTimestamp,
|
|
98
|
+
labelCallback: lang
|
|
98
99
|
}))));
|
|
99
100
|
};
|
|
100
101
|
exports.Tool = Tool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Tool","_ref","division","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","lang","useLocale","updatedTimestamp","setUpdatedTimestamp","EMPTY_VALUE","useEffect","_","sortData","formatUpdatedTimestamp","sentimentList","updatedAt","createElement","Fragment","className","length","ChartError","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","classNames","map","item","index","key","name","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","isLoading","height","SentimentHeight","sentiment","Tooltip","id","InfoBox","concat","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Loader,\n LoaderSize,\n ChartError,\n Truncate,\n Tooltip,\n InfoBox,\n formatUpdatedTimestamp,\n ThemeContext,\n Size,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { EMPTY_VALUE, INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(formatUpdatedTimestamp(data.sentimentList![0]?.updatedAt, lang('today')));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, sort]);\n\n return (\n <>\n {size && (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error\n && (\n <div className=\"lw-mt-2 lw-h-8\">\n <InfoBox text={`${lang('last_updated')}: ${updatedTimestamp}`} />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Tool","_ref","division","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","lang","useLocale","updatedTimestamp","setUpdatedTimestamp","EMPTY_VALUE","useEffect","_","sortData","sentimentList","updatedAt","createElement","Fragment","className","length","ChartError","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","classNames","map","item","index","key","name","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","isLoading","height","SentimentHeight","sentiment","Tooltip","id","LastUpdated","timestamp","labelCallback","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Loader,\n LoaderSize,\n ChartError,\n Truncate,\n Tooltip,\n ThemeContext,\n Size,\n EMPTY_VALUE,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(data.sentimentList![0]?.updatedAt);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, sort]);\n\n return (\n <>\n {size && (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error\n && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedTimestamp} labelCallback={lang} />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -77,8 +77,9 @@ const Widget = _ref => {
|
|
|
77
77
|
sentiment: sentiment
|
|
78
78
|
})), !loading && isError && _react.default.createElement(_labsWidgetCommon.Error, null)), !isError && updatedAt && _react.default.createElement("div", {
|
|
79
79
|
className: "lw-mt-2 lw-h-8"
|
|
80
|
-
}, _react.default.createElement(_labsWidgetCommon.
|
|
81
|
-
|
|
80
|
+
}, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
|
|
81
|
+
timestamp: updatedAt,
|
|
82
|
+
labelCallback: lang
|
|
82
83
|
}))));
|
|
83
84
|
};
|
|
84
85
|
exports.Widget = Widget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_monoI18n","_client","_getInstrumentSentiment","_constant","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Widget","_ref","_data$sentiment","instrument","division","includeDescriptionLabels","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","lang","useLocale","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","classNames","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","Sentiment","withError","isLoading","height","SentimentHeight","Error","
|
|
1
|
+
{"version":3,"file":"Widget.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_monoI18n","_client","_getInstrumentSentiment","_constant","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Widget","_ref","_data$sentiment","instrument","division","includeDescriptionLabels","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","lang","useLocale","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","classNames","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","Sentiment","withError","isLoading","height","SentimentHeight","Error","LastUpdated","timestamp","labelCallback","exports"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Error,\n Loader,\n LoaderSize,\n Truncate,\n ThemeContext,\n Size,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { useQuery } from '@apollo/client';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport { SentimentWidgetConfig } from './types';\nimport { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Widget = ({\n instrument,\n division,\n includeDescriptionLabels = false,\n}: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const { lang } = useLocale();\n\n const { displayName, sentiment, updatedAt } = data?.sentiment?.[0] || {};\n\n const isError = error\n || (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0)\n || sentiment?.shortPercent === undefined\n || sentiment?.longPercent === undefined;\n\n return (\n <>\n {size && (\n <>\n <div\n data-testid=\"sentiment-widget\"\n className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\"\n >\n {includeDescriptionLabels\n && (\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n )}\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n withError={false}\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={sentiment}\n />\n </div>\n\n {!loading && isError && <Error />}\n </div>\n {!isError && updatedAt && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedAt} labelCallback={lang} />\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nexport { Widget };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/main/constant.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.INSTRUMENT_TOOLTIP_ID =
|
|
7
|
-
const EMPTY_VALUE = exports.EMPTY_VALUE = '\u2014';
|
|
6
|
+
exports.INSTRUMENT_TOOLTIP_ID = void 0;
|
|
8
7
|
const INSTRUMENT_TOOLTIP_ID = exports.INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
|
|
9
8
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["
|
|
1
|
+
{"version":3,"file":"constant.js","names":["INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../src/constant.ts"],"sourcesContent":["const INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport { INSTRUMENT_TOOLTIP_ID };\n"],"mappings":";;;;;;AAAA,MAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,uBAAuB","ignoreList":[]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { useEffect, useState, useContext } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import { Sentiment, SentimentHeight, Loader, LoaderSize, ChartError, Truncate, Tooltip,
|
|
3
|
+
import { Sentiment, SentimentHeight, Loader, LoaderSize, ChartError, Truncate, Tooltip, ThemeContext, Size, EMPTY_VALUE, LastUpdated } from '@oanda/labs-widget-common';
|
|
4
4
|
import { useQuery } from '@apollo/client';
|
|
5
5
|
import { useLocale } from '@oanda/mono-i18n';
|
|
6
6
|
import { getSentimentList } from '../gql/getSentimentList';
|
|
7
7
|
import { sortData } from './utils';
|
|
8
8
|
import { SelectedArrow, SortSwitch } from './components/SortSwitch';
|
|
9
9
|
import { Sort } from '../gql/types/graphql';
|
|
10
|
-
import {
|
|
10
|
+
import { INSTRUMENT_TOOLTIP_ID } from '../constant';
|
|
11
11
|
const Tool = _ref => {
|
|
12
12
|
let {
|
|
13
13
|
division
|
|
@@ -36,7 +36,7 @@ const Tool = _ref => {
|
|
|
36
36
|
if (data) {
|
|
37
37
|
var _;
|
|
38
38
|
setSortedData(sortData(data, sort));
|
|
39
|
-
setUpdatedTimestamp(
|
|
39
|
+
setUpdatedTimestamp((_ = data.sentimentList[0]) === null || _ === void 0 ? void 0 : _.updatedAt);
|
|
40
40
|
}
|
|
41
41
|
}, [data, sort]);
|
|
42
42
|
return React.createElement(React.Fragment, null, size && React.createElement("div", {
|
|
@@ -84,8 +84,9 @@ const Tool = _ref => {
|
|
|
84
84
|
id: INSTRUMENT_TOOLTIP_ID
|
|
85
85
|
}), !error && React.createElement("div", {
|
|
86
86
|
className: "lw-mt-2 lw-h-8"
|
|
87
|
-
}, React.createElement(
|
|
88
|
-
|
|
87
|
+
}, React.createElement(LastUpdated, {
|
|
88
|
+
timestamp: updatedTimestamp,
|
|
89
|
+
labelCallback: lang
|
|
89
90
|
}))));
|
|
90
91
|
};
|
|
91
92
|
export { Tool };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["React","useEffect","useState","useContext","classNames","Sentiment","SentimentHeight","Loader","LoaderSize","ChartError","Truncate","Tooltip","
|
|
1
|
+
{"version":3,"file":"Tool.js","names":["React","useEffect","useState","useContext","classNames","Sentiment","SentimentHeight","Loader","LoaderSize","ChartError","Truncate","Tooltip","ThemeContext","Size","EMPTY_VALUE","LastUpdated","useQuery","useLocale","getSentimentList","sortData","SelectedArrow","SortSwitch","Sort","INSTRUMENT_TOOLTIP_ID","Tool","_ref","division","size","isDesktop","DESKTOP","sort","setSort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","variables","fetchPolicy","lang","updatedTimestamp","setUpdatedTimestamp","_","sentimentList","updatedAt","createElement","Fragment","className","length","disabled","selected","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","map","item","index","key","name","md","maxWidth","tooltipId","text","displayName","isLoading","height","sentiment","id","timestamp","labelCallback"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Loader,\n LoaderSize,\n ChartError,\n Truncate,\n Tooltip,\n ThemeContext,\n Size,\n EMPTY_VALUE,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(data.sentimentList![0]?.updatedAt);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, sort]);\n\n return (\n <>\n {size && (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error\n && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedTimestamp} labelCallback={lang} />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useContext } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import { Sentiment, SentimentHeight, Error, Loader, LoaderSize, Truncate,
|
|
3
|
+
import { Sentiment, SentimentHeight, Error, Loader, LoaderSize, Truncate, ThemeContext, Size, LastUpdated } from '@oanda/labs-widget-common';
|
|
4
4
|
import { useLocale } from '@oanda/mono-i18n';
|
|
5
5
|
import { useQuery } from '@apollo/client';
|
|
6
6
|
import { getInstrumentSentiment } from '../gql/getInstrumentSentiment';
|
|
7
|
-
import {
|
|
7
|
+
import { INSTRUMENT_TOOLTIP_ID } from '../constant';
|
|
8
8
|
const Widget = _ref => {
|
|
9
9
|
var _data$sentiment;
|
|
10
10
|
let {
|
|
@@ -68,8 +68,9 @@ const Widget = _ref => {
|
|
|
68
68
|
sentiment: sentiment
|
|
69
69
|
})), !loading && isError && React.createElement(Error, null)), !isError && updatedAt && React.createElement("div", {
|
|
70
70
|
className: "lw-mt-2 lw-h-8"
|
|
71
|
-
}, React.createElement(
|
|
72
|
-
|
|
71
|
+
}, React.createElement(LastUpdated, {
|
|
72
|
+
timestamp: updatedAt,
|
|
73
|
+
labelCallback: lang
|
|
73
74
|
}))));
|
|
74
75
|
};
|
|
75
76
|
export { Widget };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["React","useContext","classNames","Sentiment","SentimentHeight","Error","Loader","LoaderSize","Truncate","
|
|
1
|
+
{"version":3,"file":"Widget.js","names":["React","useContext","classNames","Sentiment","SentimentHeight","Error","Loader","LoaderSize","Truncate","ThemeContext","Size","LastUpdated","useLocale","useQuery","getInstrumentSentiment","INSTRUMENT_TOOLTIP_ID","Widget","_ref","_data$sentiment","instrument","division","includeDescriptionLabels","loading","data","error","variables","name","fetchPolicy","size","isDesktop","DESKTOP","lang","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","md","maxWidth","tooltipId","text","withError","isLoading","height","timestamp","labelCallback"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Error,\n Loader,\n LoaderSize,\n Truncate,\n ThemeContext,\n Size,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { useQuery } from '@apollo/client';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport { SentimentWidgetConfig } from './types';\nimport { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Widget = ({\n instrument,\n division,\n includeDescriptionLabels = false,\n}: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const { lang } = useLocale();\n\n const { displayName, sentiment, updatedAt } = data?.sentiment?.[0] || {};\n\n const isError = error\n || (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0)\n || sentiment?.shortPercent === undefined\n || sentiment?.longPercent === undefined;\n\n return (\n <>\n {size && (\n <>\n <div\n data-testid=\"sentiment-widget\"\n className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\"\n >\n {includeDescriptionLabels\n && (\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n )}\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n withError={false}\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={sentiment}\n />\n </div>\n\n {!loading && isError && <Error />}\n </div>\n {!isError && updatedAt && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedAt} labelCallback={lang} />\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nexport { Widget };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/module/constant.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["
|
|
1
|
+
{"version":3,"file":"constant.js","names":["INSTRUMENT_TOOLTIP_ID"],"sources":["../../src/constant.ts"],"sourcesContent":["const INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport { INSTRUMENT_TOOLTIP_ID };\n"],"mappings":"AAAA,MAAMA,qBAAqB,GAAG,uBAAuB;AAErD,SAASA,qBAAqB","ignoreList":[]}
|
package/dist/types/constant.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-sentiment-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.124",
|
|
4
4
|
"description": "Labs Sentiment Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"license": "UNLICENSED",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@apollo/client": "3.9.9",
|
|
16
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
16
|
+
"@oanda/labs-widget-common": "^1.0.124",
|
|
17
17
|
"@oanda/mono-i18n": "10.0.1",
|
|
18
18
|
"graphql": "16.8.1"
|
|
19
19
|
},
|
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
"@graphql-codegen/cli": "5.0.0",
|
|
22
22
|
"@graphql-codegen/client-preset": "4.1.0"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "cd4689a75028e88528598248bcc293314f8e45a4"
|
|
25
25
|
}
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
ChartError,
|
|
9
9
|
Truncate,
|
|
10
10
|
Tooltip,
|
|
11
|
-
InfoBox,
|
|
12
|
-
formatUpdatedTimestamp,
|
|
13
11
|
ThemeContext,
|
|
14
12
|
Size,
|
|
13
|
+
EMPTY_VALUE,
|
|
14
|
+
LastUpdated,
|
|
15
15
|
} from '@oanda/labs-widget-common';
|
|
16
16
|
import { useQuery } from '@apollo/client';
|
|
17
17
|
import { useLocale } from '@oanda/mono-i18n';
|
|
@@ -22,7 +22,7 @@ import { SelectedArrow, SortSwitch } from './components/SortSwitch';
|
|
|
22
22
|
import {
|
|
23
23
|
GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,
|
|
24
24
|
} from '../gql/types/graphql';
|
|
25
|
-
import {
|
|
25
|
+
import { INSTRUMENT_TOOLTIP_ID } from '../constant';
|
|
26
26
|
|
|
27
27
|
const Tool = ({ division }: SentimentToolConfig) => {
|
|
28
28
|
const { size } = useContext(ThemeContext);
|
|
@@ -45,7 +45,7 @@ const Tool = ({ division }: SentimentToolConfig) => {
|
|
|
45
45
|
useEffect(() => {
|
|
46
46
|
if (data) {
|
|
47
47
|
setSortedData(sortData(data, sort));
|
|
48
|
-
setUpdatedTimestamp(
|
|
48
|
+
setUpdatedTimestamp(data.sentimentList![0]?.updatedAt);
|
|
49
49
|
}
|
|
50
50
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
51
|
}, [data, sort]);
|
|
@@ -112,7 +112,7 @@ const Tool = ({ division }: SentimentToolConfig) => {
|
|
|
112
112
|
{!error
|
|
113
113
|
&& (
|
|
114
114
|
<div className="lw-mt-2 lw-h-8">
|
|
115
|
-
<
|
|
115
|
+
<LastUpdated timestamp={updatedTimestamp} labelCallback={lang} />
|
|
116
116
|
</div>
|
|
117
117
|
)}
|
|
118
118
|
</div>
|
|
@@ -7,17 +7,16 @@ import {
|
|
|
7
7
|
Loader,
|
|
8
8
|
LoaderSize,
|
|
9
9
|
Truncate,
|
|
10
|
-
InfoBox,
|
|
11
|
-
formatUpdatedTimestamp,
|
|
12
10
|
ThemeContext,
|
|
13
11
|
Size,
|
|
12
|
+
LastUpdated,
|
|
14
13
|
} from '@oanda/labs-widget-common';
|
|
15
14
|
import { useLocale } from '@oanda/mono-i18n';
|
|
16
15
|
import { useQuery } from '@apollo/client';
|
|
17
16
|
import { getInstrumentSentiment } from '../gql/getInstrumentSentiment';
|
|
18
17
|
import { SentimentWidgetConfig } from './types';
|
|
19
18
|
import { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';
|
|
20
|
-
import {
|
|
19
|
+
import { INSTRUMENT_TOOLTIP_ID } from '../constant';
|
|
21
20
|
|
|
22
21
|
const Widget = ({
|
|
23
22
|
instrument,
|
|
@@ -95,7 +94,7 @@ const Widget = ({
|
|
|
95
94
|
</div>
|
|
96
95
|
{!isError && updatedAt && (
|
|
97
96
|
<div className="lw-mt-2 lw-h-8">
|
|
98
|
-
<
|
|
97
|
+
<LastUpdated timestamp={updatedAt} labelCallback={lang} />
|
|
99
98
|
</div>
|
|
100
99
|
)}
|
|
101
100
|
</>
|
package/src/constant.ts
CHANGED