@oanda/labs-value-at-risk-widget 1.0.144 → 1.0.146
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 +1017 -21865
- package/dist/module/ValueAtRiskWidget/ChartWithData.js +27 -20
- package/dist/module/ValueAtRiskWidget/ChartWithData.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/Tool.js +37 -29
- package/dist/module/ValueAtRiskWidget/Tool.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ToolWithData.js +25 -18
- package/dist/module/ValueAtRiskWidget/ToolWithData.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js +21 -14
- package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/Widget.js +22 -15
- package/dist/module/ValueAtRiskWidget/Widget.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js +27 -19
- package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/constants.js +12 -6
- package/dist/module/ValueAtRiskWidget/components/Chart/constants.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js +46 -39
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getPercentValueByPips.js +8 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getPercentValueByPips.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/index.js +16 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/index.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/types.js +5 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js +13 -6
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js +27 -20
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js +32 -25
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js +35 -28
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/constants.js +7 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/constants.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/index.js +27 -2
- package/dist/module/ValueAtRiskWidget/components/Legend/index.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/types.js +7 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/types.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/index.js +16 -1
- package/dist/module/ValueAtRiskWidget/index.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/render.js +13 -10
- package/dist/module/ValueAtRiskWidget/render.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/types.js +5 -1
- package/dist/module/ValueAtRiskWidget/utils.js +9 -1
- package/dist/module/ValueAtRiskWidget/utils.js.map +1 -1
- package/dist/module/gql/getValueAtRiskAssetClasses.js +8 -2
- package/dist/module/gql/getValueAtRiskAssetClasses.js.map +1 -1
- package/dist/module/gql/getValueAtRiskChart.js +8 -2
- package/dist/module/gql/getValueAtRiskChart.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/getValueAtRiskAssetClasses.d.ts +1 -1
- package/dist/types/gql/getValueAtRiskChart.d.ts +1 -1
- package/lokalise.config.json +1 -1
- package/package.json +8 -4
- package/tsconfig.types.json +2 -4
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ChartWithData = void 0;
|
|
7
|
+
var _client = require("@apollo/client");
|
|
8
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _getValueAtRiskChart = require("../gql/getValueAtRiskChart");
|
|
12
|
+
var _Chart = require("./components/Chart");
|
|
13
|
+
var _Legend = require("./components/Legend");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
15
|
const ChartWithData = _ref => {
|
|
9
16
|
let {
|
|
10
17
|
instrument,
|
|
@@ -14,13 +21,13 @@ const ChartWithData = _ref => {
|
|
|
14
21
|
} = _ref;
|
|
15
22
|
const {
|
|
16
23
|
size
|
|
17
|
-
} = useLayoutProvider();
|
|
18
|
-
const isDesktop = size === Size.DESKTOP;
|
|
24
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
25
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
19
26
|
const {
|
|
20
27
|
loading,
|
|
21
28
|
data,
|
|
22
29
|
error
|
|
23
|
-
} = useQuery(getValueAtRiskChart, {
|
|
30
|
+
} = (0, _client.useQuery)(_getValueAtRiskChart.getValueAtRiskChart, {
|
|
24
31
|
variables: {
|
|
25
32
|
instrument,
|
|
26
33
|
division,
|
|
@@ -32,23 +39,23 @@ const ChartWithData = _ref => {
|
|
|
32
39
|
});
|
|
33
40
|
const showChart = data?.valueAtRiskChart?.down?.points && data.valueAtRiskChart.down.points.length > 0 && data?.valueAtRiskChart?.up?.points && data.valueAtRiskChart.up.points.length > 0;
|
|
34
41
|
const showError = !!error || !loading && !showChart;
|
|
35
|
-
return
|
|
36
|
-
className:
|
|
42
|
+
return _react.default.createElement(_react.default.Fragment, null, (loading || !instrument) && _react.default.createElement("div", {
|
|
43
|
+
className: (0, _classnames.default)('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {
|
|
37
44
|
'lw-h-[460px]': isDesktop,
|
|
38
45
|
'lw-h-[566px]': !isDesktop
|
|
39
46
|
})
|
|
40
|
-
},
|
|
41
|
-
size: SpinnerSize.lg
|
|
42
|
-
})), !loading && showChart &&
|
|
47
|
+
}, _react.default.createElement(_labsWidgetCommon.Spinner, {
|
|
48
|
+
size: _labsWidgetCommon.SpinnerSize.lg
|
|
49
|
+
})), !loading && showChart && _react.default.createElement("div", {
|
|
43
50
|
className: "lw-relative",
|
|
44
51
|
"data-testid": "value-at-risk-chart"
|
|
45
|
-
},
|
|
52
|
+
}, _react.default.createElement(_Legend.Legend, {
|
|
46
53
|
data: data
|
|
47
|
-
}),
|
|
54
|
+
}), _react.default.createElement(_Chart.Chart, {
|
|
48
55
|
values: data
|
|
49
|
-
})), showError &&
|
|
56
|
+
})), showError && _react.default.createElement("div", {
|
|
50
57
|
className: "lw-flex lw-h-[460px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
|
|
51
|
-
},
|
|
58
|
+
}, _react.default.createElement(_labsWidgetCommon.ChartError, null)));
|
|
52
59
|
};
|
|
53
|
-
|
|
60
|
+
exports.ChartWithData = ChartWithData;
|
|
54
61
|
//# sourceMappingURL=ChartWithData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["_client","require","_labsWidgetCommon","_classnames","_interopRequireDefault","_react","_getValueAtRiskChart","_Chart","_Legend","e","__esModule","default","ChartWithData","_ref","instrument","duration","bars","division","size","useLayoutProvider","isDesktop","Size","DESKTOP","loading","data","error","useQuery","getValueAtRiskChart","variables","fetchPolicy","skip","showChart","valueAtRiskChart","down","points","length","up","showError","createElement","Fragment","className","classnames","Spinner","SpinnerSize","lg","Legend","Chart","values","ChartError","exports"],"sources":["../../../src/ValueAtRiskWidget/ChartWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getValueAtRiskChart } from '../gql/getValueAtRiskChart';\nimport type {\n GetValueAtRiskChartQuery,\n GetValueAtRiskChartQueryVariables,\n} from '../gql/types/graphql';\nimport { Chart } from './components/Chart';\nimport { Legend } from './components/Legend';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({\n instrument,\n duration,\n bars,\n division,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetValueAtRiskChartQuery,\n GetValueAtRiskChartQueryVariables\n >(getValueAtRiskChart, {\n variables: {\n instrument,\n division,\n duration,\n bars,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart =\n data?.valueAtRiskChart?.down?.points &&\n data.valueAtRiskChart.down.points.length > 0 &&\n data?.valueAtRiskChart?.up?.points &&\n data.valueAtRiskChart.up.points.length > 0;\n\n const showError = !!error || (!loading && !showChart);\n\n return (\n <>\n {(loading || !instrument) && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[460px]': isDesktop,\n 'lw-h-[566px]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && showChart && (\n <div className=\"lw-relative\" data-testid=\"value-at-risk-chart\">\n <Legend data={data} />\n <Chart values={data} />\n </div>\n )}\n {showError && (\n <div className=\"lw-flex lw-h-[460px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,oBAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAA6C,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG7C,MAAMG,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,wCAAmB,EAAE;IACrBC,SAAS,EAAE;MACTd,UAAU;MACVG,QAAQ;MACRF,QAAQ;MACRC;IACF,CAAC;IACDa,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAAChB;EACT,CAAC,CAAC;EAEF,MAAMiB,SAAS,GACbP,IAAI,EAAEQ,gBAAgB,EAAEC,IAAI,EAAEC,MAAM,IACpCV,IAAI,CAACQ,gBAAgB,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,IAC5CX,IAAI,EAAEQ,gBAAgB,EAAEI,EAAE,EAAEF,MAAM,IAClCV,IAAI,CAACQ,gBAAgB,CAACI,EAAE,CAACF,MAAM,CAACC,MAAM,GAAG,CAAC;EAE5C,MAAME,SAAS,GAAG,CAAC,CAACZ,KAAK,IAAK,CAACF,OAAO,IAAI,CAACQ,SAAU;EAErD,OACE1B,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAAAjC,MAAA,CAAAM,OAAA,CAAA4B,QAAA,QACG,CAAChB,OAAO,IAAI,CAACT,UAAU,KACtBT,MAAA,CAAAM,OAAA,CAAA2B,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EACnB,sFAAsF,EACtF;MACE,cAAc,EAAErB,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CACF;EAAE,GAEFf,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAACpC,iBAAA,CAAAwC,OAAO;IAACxB,IAAI,EAAEyB,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACrB,OAAO,IAAIQ,SAAS,IACpB1B,MAAA,CAAAM,OAAA,CAAA2B,aAAA;IAAKE,SAAS,EAAC,aAAa;IAAC,eAAY;EAAqB,GAC5DnC,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAAC9B,OAAA,CAAAqC,MAAM;IAACrB,IAAI,EAAEA;EAAK,CAAE,CAAC,EACtBnB,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAAC/B,MAAA,CAAAuC,KAAK;IAACC,MAAM,EAAEvB;EAAK,CAAE,CACnB,CACN,EACAa,SAAS,IACRhC,MAAA,CAAAM,OAAA,CAAA2B,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHnC,MAAA,CAAAM,OAAA,CAAA2B,aAAA,CAACpC,iBAAA,CAAA8C,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAACC,OAAA,CAAArC,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Tool = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _graphql = require("../gql/types/graphql");
|
|
12
|
+
var _ChartWithData = require("./ChartWithData");
|
|
13
|
+
var _utils = require("./utils");
|
|
14
|
+
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); }
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
16
|
const Tool = _ref => {
|
|
9
17
|
let {
|
|
10
18
|
data,
|
|
@@ -12,73 +20,73 @@ const Tool = _ref => {
|
|
|
12
20
|
} = _ref;
|
|
13
21
|
const {
|
|
14
22
|
lang
|
|
15
|
-
} = useLocale();
|
|
23
|
+
} = (0, _monoI18n.useLocale)();
|
|
16
24
|
const {
|
|
17
25
|
size
|
|
18
|
-
} = useLayoutProvider();
|
|
19
|
-
const isDesktop = size === Size.DESKTOP;
|
|
20
|
-
const assetClassesOptions = getAssetClassesList(data.valueAtRiskAssetClasses);
|
|
21
|
-
const initInstrumentsOptions = getInstrumentsByAssetClassId(data.valueAtRiskAssetClasses, assetClassesOptions[0].id);
|
|
22
|
-
const holdTimeOptions = Object.values(ValueAtRiskDuration).map(duration => ({
|
|
26
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
27
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
28
|
+
const assetClassesOptions = (0, _utils.getAssetClassesList)(data.valueAtRiskAssetClasses);
|
|
29
|
+
const initInstrumentsOptions = (0, _utils.getInstrumentsByAssetClassId)(data.valueAtRiskAssetClasses, assetClassesOptions[0].id);
|
|
30
|
+
const holdTimeOptions = Object.values(_graphql.ValueAtRiskDuration).map(duration => ({
|
|
23
31
|
id: duration,
|
|
24
32
|
label: lang('day', {
|
|
25
33
|
count: +duration.substring(1)
|
|
26
34
|
})
|
|
27
35
|
}));
|
|
28
|
-
const calculationPeriodOptions = Object.values(ValueAtRiskBars).map(bars => ({
|
|
36
|
+
const calculationPeriodOptions = Object.values(_graphql.ValueAtRiskBars).map(bars => ({
|
|
29
37
|
id: bars,
|
|
30
38
|
label: lang('day', {
|
|
31
39
|
count: +bars.substring(1)
|
|
32
40
|
})
|
|
33
41
|
}));
|
|
34
|
-
const [selectedAssetClass, setSelectedAssetClass] = useState(assetClassesOptions[0]);
|
|
35
|
-
const [instrumentsList, setInstrumentsList] = useState(initInstrumentsOptions);
|
|
36
|
-
const [selectedInstrument, setSelectedInstrument] = useState(initInstrumentsOptions[0]);
|
|
37
|
-
const [selectedHoldTime, setSelectedHoldTime] = useState(holdTimeOptions[0]);
|
|
38
|
-
const [selectedCalculationPeriod, setSelectedCalculationPeriod] = useState(calculationPeriodOptions[0]);
|
|
42
|
+
const [selectedAssetClass, setSelectedAssetClass] = (0, _react.useState)(assetClassesOptions[0]);
|
|
43
|
+
const [instrumentsList, setInstrumentsList] = (0, _react.useState)(initInstrumentsOptions);
|
|
44
|
+
const [selectedInstrument, setSelectedInstrument] = (0, _react.useState)(initInstrumentsOptions[0]);
|
|
45
|
+
const [selectedHoldTime, setSelectedHoldTime] = (0, _react.useState)(holdTimeOptions[0]);
|
|
46
|
+
const [selectedCalculationPeriod, setSelectedCalculationPeriod] = (0, _react.useState)(calculationPeriodOptions[0]);
|
|
39
47
|
const handleAssetClassSelect = selectedOption => {
|
|
40
|
-
const list = getInstrumentsByAssetClassId(data.valueAtRiskAssetClasses, selectedOption.id);
|
|
48
|
+
const list = (0, _utils.getInstrumentsByAssetClassId)(data.valueAtRiskAssetClasses, selectedOption.id);
|
|
41
49
|
setSelectedAssetClass(selectedOption);
|
|
42
50
|
setInstrumentsList(list);
|
|
43
51
|
setSelectedInstrument(list[0]);
|
|
44
52
|
};
|
|
45
53
|
const showAssetClassesSelect = assetClassesOptions.length > 1;
|
|
46
|
-
return
|
|
54
|
+
return _react.default.createElement("div", {
|
|
47
55
|
className: "lw-relative lw-text-sm lw-tracking-normal",
|
|
48
56
|
"data-testid": "value-at-risk-tool-wrapper"
|
|
49
|
-
},
|
|
50
|
-
className:
|
|
57
|
+
}, _react.default.createElement("div", {
|
|
58
|
+
className: (0, _classnames.default)('lw-mb-8 lw-grid', {
|
|
51
59
|
'lw-grid-cols-4 lw-gap-2': isDesktop && showAssetClassesSelect,
|
|
52
60
|
'lw-grid-cols-3 lw-gap-2.5': isDesktop && !showAssetClassesSelect,
|
|
53
61
|
'lw-grid-cols-1 lw-gap-4': !isDesktop
|
|
54
62
|
})
|
|
55
|
-
}, showAssetClassesSelect ?
|
|
63
|
+
}, showAssetClassesSelect ? _react.default.createElement(_labsWidgetCommon.Select, {
|
|
56
64
|
options: assetClassesOptions,
|
|
57
65
|
selectLabel: lang('instrument_type'),
|
|
58
66
|
selectedOption: selectedAssetClass,
|
|
59
67
|
setSelectedOption: handleAssetClassSelect
|
|
60
|
-
}) : null,
|
|
68
|
+
}) : null, _react.default.createElement(_labsWidgetCommon.Select, {
|
|
61
69
|
options: instrumentsList,
|
|
62
70
|
searchPlaceholder: lang('search'),
|
|
63
71
|
selectLabel: lang('instrument'),
|
|
64
72
|
selectedOption: selectedInstrument,
|
|
65
73
|
setSelectedOption: setSelectedInstrument
|
|
66
|
-
}),
|
|
74
|
+
}), _react.default.createElement(_labsWidgetCommon.Select, {
|
|
67
75
|
options: holdTimeOptions,
|
|
68
76
|
selectLabel: lang('hold_time'),
|
|
69
77
|
selectedOption: selectedHoldTime,
|
|
70
78
|
setSelectedOption: setSelectedHoldTime
|
|
71
|
-
}),
|
|
79
|
+
}), _react.default.createElement(_labsWidgetCommon.Select, {
|
|
72
80
|
options: calculationPeriodOptions,
|
|
73
81
|
selectLabel: lang('calculation_period'),
|
|
74
82
|
selectedOption: selectedCalculationPeriod,
|
|
75
83
|
setSelectedOption: setSelectedCalculationPeriod
|
|
76
|
-
})),
|
|
84
|
+
})), _react.default.createElement(_ChartWithData.ChartWithData, {
|
|
77
85
|
bars: selectedCalculationPeriod.id,
|
|
78
86
|
division: division,
|
|
79
87
|
duration: selectedHoldTime.id,
|
|
80
88
|
instrument: selectedInstrument.id
|
|
81
89
|
}));
|
|
82
90
|
};
|
|
83
|
-
|
|
91
|
+
exports.Tool = Tool;
|
|
84
92
|
//# sourceMappingURL=Tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["
|
|
1
|
+
{"version":3,"file":"Tool.js","names":["_labsWidgetCommon","require","_monoI18n","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_graphql","_ChartWithData","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Tool","_ref","data","division","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","assetClassesOptions","getAssetClassesList","valueAtRiskAssetClasses","initInstrumentsOptions","getInstrumentsByAssetClassId","id","holdTimeOptions","values","ValueAtRiskDuration","map","duration","label","count","substring","calculationPeriodOptions","ValueAtRiskBars","bars","selectedAssetClass","setSelectedAssetClass","useState","instrumentsList","setInstrumentsList","selectedInstrument","setSelectedInstrument","selectedHoldTime","setSelectedHoldTime","selectedCalculationPeriod","setSelectedCalculationPeriod","handleAssetClassSelect","selectedOption","list","showAssetClassesSelect","length","createElement","className","classnames","Select","options","selectLabel","setSelectedOption","searchPlaceholder","ChartWithData","instrument","exports"],"sources":["../../../src/ValueAtRiskWidget/Tool.tsx"],"sourcesContent":["import type { SelectOption } from '@oanda/labs-widget-common';\nimport { Select, Size, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { ValueAtRiskBars, ValueAtRiskDuration } from '../gql/types/graphql';\nimport { ChartWithData } from './ChartWithData';\nimport type { ToolProps } from './types';\nimport { getAssetClassesList, getInstrumentsByAssetClassId } from './utils';\n\nconst Tool = ({ data, division }: ToolProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const assetClassesOptions = getAssetClassesList(\n data!.valueAtRiskAssetClasses!\n );\n const initInstrumentsOptions = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n assetClassesOptions[0].id\n );\n\n const holdTimeOptions = Object.values(ValueAtRiskDuration).map(\n (duration) => ({\n id: duration as string,\n label: lang('day', { count: +duration.substring(1) }),\n })\n );\n const calculationPeriodOptions = Object.values(ValueAtRiskBars).map(\n (bars) => ({\n id: bars as string,\n label: lang('day', { count: +bars.substring(1) }),\n })\n );\n\n const [selectedAssetClass, setSelectedAssetClass] = useState(\n assetClassesOptions[0]\n );\n const [instrumentsList, setInstrumentsList] = useState(\n initInstrumentsOptions\n );\n const [selectedInstrument, setSelectedInstrument] = useState(\n initInstrumentsOptions[0]\n );\n const [selectedHoldTime, setSelectedHoldTime] = useState(holdTimeOptions[0]);\n const [selectedCalculationPeriod, setSelectedCalculationPeriod] = useState(\n calculationPeriodOptions[0]\n );\n\n const handleAssetClassSelect = (selectedOption: SelectOption) => {\n const list = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n selectedOption.id\n );\n\n setSelectedAssetClass(selectedOption);\n setInstrumentsList(list);\n setSelectedInstrument(list[0]);\n };\n\n const showAssetClassesSelect = assetClassesOptions.length > 1;\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n data-testid=\"value-at-risk-tool-wrapper\"\n >\n <div\n className={classnames('lw-mb-8 lw-grid', {\n 'lw-grid-cols-4 lw-gap-2': isDesktop && showAssetClassesSelect,\n 'lw-grid-cols-3 lw-gap-2.5': isDesktop && !showAssetClassesSelect,\n 'lw-grid-cols-1 lw-gap-4': !isDesktop,\n })}\n >\n {showAssetClassesSelect ? (\n <Select\n options={assetClassesOptions}\n selectLabel={lang('instrument_type')}\n selectedOption={selectedAssetClass}\n setSelectedOption={handleAssetClassSelect}\n />\n ) : null}\n <Select\n options={instrumentsList}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={selectedInstrument}\n setSelectedOption={setSelectedInstrument}\n />\n <Select\n options={holdTimeOptions}\n selectLabel={lang('hold_time')}\n selectedOption={selectedHoldTime}\n setSelectedOption={setSelectedHoldTime}\n />\n <Select\n options={calculationPeriodOptions}\n selectLabel={lang('calculation_period')}\n selectedOption={selectedCalculationPeriod}\n setSelectedOption={setSelectedCalculationPeriod}\n />\n </div>\n <ChartWithData\n bars={selectedCalculationPeriod.id as ValueAtRiskBars}\n division={division}\n duration={selectedHoldTime.id as ValueAtRiskDuration}\n instrument={selectedInstrument.id}\n />\n </div>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,42 +1,49 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToolWithData = void 0;
|
|
7
|
+
var _client = require("@apollo/client");
|
|
8
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _getValueAtRiskAssetClasses = require("../gql/getValueAtRiskAssetClasses");
|
|
12
|
+
var _Tool = require("./Tool");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
14
|
const ToolWithData = _ref => {
|
|
8
15
|
let {
|
|
9
16
|
division
|
|
10
17
|
} = _ref;
|
|
11
18
|
const {
|
|
12
19
|
size
|
|
13
|
-
} = useLayoutProvider();
|
|
14
|
-
const isDesktop = size === Size.DESKTOP;
|
|
20
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
21
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
15
22
|
const {
|
|
16
23
|
loading,
|
|
17
24
|
data,
|
|
18
25
|
error
|
|
19
|
-
} = useQuery(getValueAtRiskAssetClasses, {
|
|
26
|
+
} = (0, _client.useQuery)(_getValueAtRiskAssetClasses.getValueAtRiskAssetClasses, {
|
|
20
27
|
variables: {
|
|
21
28
|
division
|
|
22
29
|
},
|
|
23
30
|
fetchPolicy: 'cache-and-network'
|
|
24
31
|
});
|
|
25
|
-
return
|
|
32
|
+
return _react.default.createElement("div", {
|
|
26
33
|
"data-testid": "value-at-risk-wrapper"
|
|
27
|
-
}, (loading || !size) &&
|
|
28
|
-
className:
|
|
34
|
+
}, (loading || !size) && _react.default.createElement("div", {
|
|
35
|
+
className: (0, _classnames.default)('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {
|
|
29
36
|
'lw-h-[566px]': isDesktop,
|
|
30
37
|
'lw-h-[840px]': !isDesktop
|
|
31
38
|
})
|
|
32
|
-
},
|
|
33
|
-
size: SpinnerSize.lg
|
|
34
|
-
})), !loading && data &&
|
|
39
|
+
}, _react.default.createElement(_labsWidgetCommon.Spinner, {
|
|
40
|
+
size: _labsWidgetCommon.SpinnerSize.lg
|
|
41
|
+
})), !loading && data && _react.default.createElement(_Tool.Tool, {
|
|
35
42
|
data: data,
|
|
36
43
|
division: division
|
|
37
|
-
}), !loading && error &&
|
|
44
|
+
}), !loading && error && _react.default.createElement("div", {
|
|
38
45
|
className: "lw-flex lw-h-[500px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
|
|
39
|
-
},
|
|
46
|
+
}, _react.default.createElement(_labsWidgetCommon.ChartError, null)));
|
|
40
47
|
};
|
|
41
|
-
|
|
48
|
+
exports.ToolWithData = ToolWithData;
|
|
42
49
|
//# sourceMappingURL=ToolWithData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolWithData.js","names":["
|
|
1
|
+
{"version":3,"file":"ToolWithData.js","names":["_client","require","_labsWidgetCommon","_classnames","_interopRequireDefault","_react","_getValueAtRiskAssetClasses","_Tool","e","__esModule","default","ToolWithData","_ref","division","size","useLayoutProvider","isDesktop","Size","DESKTOP","loading","data","error","useQuery","getValueAtRiskAssetClasses","variables","fetchPolicy","createElement","className","classnames","Spinner","SpinnerSize","lg","Tool","ChartError","exports"],"sources":["../../../src/ValueAtRiskWidget/ToolWithData.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getValueAtRiskAssetClasses } from '../gql/getValueAtRiskAssetClasses';\nimport type {\n GetValueAtRiskAssetClassesQuery,\n GetValueAtRiskAssetClassesQueryVariables,\n} from '../gql/types/graphql';\nimport { Tool } from './Tool';\nimport type { ToolWithDataProps } from './types';\n\nconst ToolWithData = ({ division }: ToolWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { loading, data, error } = useQuery<\n GetValueAtRiskAssetClassesQuery,\n GetValueAtRiskAssetClassesQueryVariables\n >(getValueAtRiskAssetClasses, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n return (\n <div data-testid=\"value-at-risk-wrapper\">\n {(loading || !size) && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[566px]': isDesktop,\n 'lw-h-[840px]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data && <Tool data={data} division={division} />}\n {!loading && error && (\n <div className=\"lw-flex lw-h-[500px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </div>\n );\n};\n\nexport { ToolWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAOA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,2BAAA,GAAAL,OAAA;AAKA,IAAAM,KAAA,GAAAN,OAAA;AAA8B,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9B,MAAMG,YAAY,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC;EAA4B,CAAC,GAAAD,IAAA;EACnD,MAAM;IAAEE;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EACvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,sDAA0B,EAAE;IAC5BC,SAAS,EAAE;MACTX;IACF,CAAC;IACDY,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OACEpB,MAAA,CAAAK,OAAA,CAAAgB,aAAA;IAAK,eAAY;EAAuB,GACrC,CAACP,OAAO,IAAI,CAACL,IAAI,KAChBT,MAAA,CAAAK,OAAA,CAAAgB,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,sFAAsF,EACtF;MACE,cAAc,EAAEZ,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CACF;EAAE,GAEFX,MAAA,CAAAK,OAAA,CAAAgB,aAAA,CAACxB,iBAAA,CAAA2B,OAAO;IAACf,IAAI,EAAEgB,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACZ,OAAO,IAAIC,IAAI,IAAIf,MAAA,CAAAK,OAAA,CAAAgB,aAAA,CAACnB,KAAA,CAAAyB,IAAI;IAACZ,IAAI,EAAEA,IAAK;IAACP,QAAQ,EAAEA;EAAS,CAAE,CAAC,EAC5D,CAACM,OAAO,IAAIE,KAAK,IAChBhB,MAAA,CAAAK,OAAA,CAAAgB,aAAA;IAAKC,SAAS,EAAC;EAAmG,GAChHtB,MAAA,CAAAK,OAAA,CAAAgB,aAAA,CAACxB,iBAAA,CAAA+B,UAAU,MAAE,CACV,CAEJ,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAvB,YAAA,GAAAA,YAAA","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.ValueAtRiskWidget = 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 _ToolWithData = require("./ToolWithData");
|
|
12
|
+
var _Widget = require("./Widget");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
14
|
const ValueAtRiskWidget = _ref => {
|
|
8
15
|
let {
|
|
9
16
|
graphqlUrl,
|
|
@@ -16,28 +23,28 @@ const ValueAtRiskWidget = _ref => {
|
|
|
16
23
|
bars,
|
|
17
24
|
logoLink
|
|
18
25
|
} = _ref;
|
|
19
|
-
const client = new ApolloClient({
|
|
26
|
+
const client = new _client.ApolloClient({
|
|
20
27
|
uri: graphqlUrl,
|
|
21
|
-
cache: new InMemoryCache()
|
|
28
|
+
cache: new _client.InMemoryCache()
|
|
22
29
|
});
|
|
23
30
|
const isWidget = !!instrument && !!duration && !!bars;
|
|
24
|
-
return
|
|
31
|
+
return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
|
|
25
32
|
client: client,
|
|
26
33
|
locale: locale,
|
|
27
34
|
theme: theme,
|
|
28
|
-
translations: translations
|
|
29
|
-
},
|
|
35
|
+
translations: _translations.translations
|
|
36
|
+
}, _react.default.createElement(_labsWidgetCommon.WidgetWrapper, {
|
|
30
37
|
isParamError: isParamError,
|
|
31
38
|
linkArea: "logo",
|
|
32
39
|
logoLink: logoLink
|
|
33
|
-
}, isWidget ?
|
|
40
|
+
}, isWidget ? _react.default.createElement(_Widget.Widget, {
|
|
34
41
|
bars: bars,
|
|
35
42
|
division: division,
|
|
36
43
|
duration: duration,
|
|
37
44
|
instrument: instrument
|
|
38
|
-
}) :
|
|
45
|
+
}) : _react.default.createElement(_ToolWithData.ToolWithData, {
|
|
39
46
|
division: division
|
|
40
47
|
})));
|
|
41
48
|
};
|
|
42
|
-
|
|
49
|
+
exports.ValueAtRiskWidget = ValueAtRiskWidget;
|
|
43
50
|
//# sourceMappingURL=ValueAtRiskWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueAtRiskWidget.js","names":["
|
|
1
|
+
{"version":3,"file":"ValueAtRiskWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_translations","_ToolWithData","_Widget","e","__esModule","default","ValueAtRiskWidget","_ref","graphqlUrl","locale","division","theme","isParamError","instrument","duration","bars","logoLink","client","ApolloClient","uri","cache","InMemoryCache","isWidget","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Widget","ToolWithData","exports"],"sources":["../../../src/ValueAtRiskWidget/ValueAtRiskWidget.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 { ToolWithData } from './ToolWithData';\nimport type { ValueAtRiskConfig } from './types';\nimport { Widget } from './Widget';\n\nconst ValueAtRiskWidget = ({\n graphqlUrl,\n locale,\n division,\n theme,\n isParamError,\n instrument,\n duration,\n bars,\n logoLink,\n}: ValueAtRiskConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n const isWidget = !!instrument && !!duration && !!bars;\n\n return (\n <WidgetProvider\n client={client}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n {isWidget ? (\n <Widget\n bars={bars}\n division={division}\n duration={duration}\n instrument={instrument}\n />\n ) : (\n <ToolWithData division={division} />\n )}\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { ValueAtRiskWidget };\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,aAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAAkC,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,iBAAiB,GAAGC,IAAA,IAUD;EAAA,IAVE;IACzBC,UAAU;IACVC,MAAM;IACNC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACiB,CAAC,GAAAT,IAAA;EAClB,MAAMU,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEX,UAAU;IACfY,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EACF,MAAMC,QAAQ,GAAG,CAAC,CAACT,UAAU,IAAI,CAAC,CAACC,QAAQ,IAAI,CAAC,CAACC,IAAI;EAErD,OACEjB,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAAC1B,iBAAA,CAAA2B,cAAc;IACbP,MAAM,EAAEA,MAAO;IACfR,MAAM,EAAEA,MAAO;IACfE,KAAK,EAAEA,KAAM;IACbc,YAAY,EAAEA;EAAa,GAE3B3B,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAAC1B,iBAAA,CAAA6B,aAAa;IACZd,YAAY,EAAEA,YAAa;IAC3Be,QAAQ,EAAC,MAAM;IACfX,QAAQ,EAAEA;EAAS,GAElBM,QAAQ,GACPxB,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAACrB,OAAA,CAAA0B,MAAM;IACLb,IAAI,EAAEA,IAAK;IACXL,QAAQ,EAAEA,QAAS;IACnBI,QAAQ,EAAEA,QAAS;IACnBD,UAAU,EAAEA;EAAW,CACxB,CAAC,GAEFf,MAAA,CAAAO,OAAA,CAAAkB,aAAA,CAACtB,aAAA,CAAA4B,YAAY;IAACnB,QAAQ,EAAEA;EAAS,CAAE,CAExB,CACD,CAAC;AAErB,CAAC;AAACoB,OAAA,CAAAxB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Widget = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _ChartWithData = require("./ChartWithData");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
13
|
const Widget = _ref => {
|
|
7
14
|
let {
|
|
8
15
|
division,
|
|
@@ -12,29 +19,29 @@ const Widget = _ref => {
|
|
|
12
19
|
} = _ref;
|
|
13
20
|
const {
|
|
14
21
|
lang
|
|
15
|
-
} = useLocale();
|
|
22
|
+
} = (0, _monoI18n.useLocale)();
|
|
16
23
|
const {
|
|
17
24
|
size
|
|
18
|
-
} = useLayoutProvider();
|
|
19
|
-
const isDesktop = size === Size.DESKTOP;
|
|
20
|
-
return
|
|
25
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
26
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
27
|
+
return _react.default.createElement("div", {
|
|
21
28
|
className: "lw-relative lw-text-sm lw-tracking-normal",
|
|
22
29
|
"data-testid": "value-at-risk-widget-wrapper"
|
|
23
|
-
}, size &&
|
|
24
|
-
className:
|
|
30
|
+
}, size && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
|
|
31
|
+
className: (0, _classnames.default)('lw-font-bold', {
|
|
25
32
|
'lw-mb-11 lw-text-center lw-text-xl': isDesktop,
|
|
26
33
|
'lw-mb-6 lw-text-lg': !isDesktop
|
|
27
34
|
})
|
|
28
|
-
},
|
|
35
|
+
}, _react.default.createElement("div", null, `${lang('hold_time')}: ${lang('day', {
|
|
29
36
|
count: +duration.substring(1)
|
|
30
|
-
})}`),
|
|
37
|
+
})}`), _react.default.createElement("div", null, `${lang('calculation_period')}: ${lang('day', {
|
|
31
38
|
count: +bars.substring(1)
|
|
32
|
-
})}`)),
|
|
39
|
+
})}`)), _react.default.createElement(_ChartWithData.ChartWithData, {
|
|
33
40
|
bars: bars,
|
|
34
41
|
division: division,
|
|
35
42
|
duration: duration,
|
|
36
43
|
instrument: instrument
|
|
37
44
|
})));
|
|
38
45
|
};
|
|
39
|
-
|
|
46
|
+
exports.Widget = Widget;
|
|
40
47
|
//# sourceMappingURL=Widget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["
|
|
1
|
+
{"version":3,"file":"Widget.js","names":["_labsWidgetCommon","require","_monoI18n","_classnames","_interopRequireDefault","_react","_ChartWithData","e","__esModule","default","Widget","_ref","division","instrument","duration","bars","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","createElement","className","Fragment","classnames","count","substring","ChartWithData","exports"],"sources":["../../../src/ValueAtRiskWidget/Widget.tsx"],"sourcesContent":["import { Size, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { ChartWithData } from './ChartWithData';\nimport type { WidgetProps } from './types';\n\nconst Widget = ({ division, instrument, duration, bars }: WidgetProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n data-testid=\"value-at-risk-widget-wrapper\"\n >\n {size && (\n <>\n <div\n className={classnames('lw-font-bold', {\n 'lw-mb-11 lw-text-center lw-text-xl': isDesktop,\n 'lw-mb-6 lw-text-lg': !isDesktop,\n })}\n >\n <div>{`${lang('hold_time')}: ${lang('day', { count: +duration.substring(1) })}`}</div>\n <div>{`${lang('calculation_period')}: ${lang('day', { count: +bars.substring(1) })}`}</div>\n </div>\n <ChartWithData\n bars={bars}\n division={division}\n duration={duration}\n instrument={instrument}\n />\n </>\n )}\n </div>\n );\n};\n\nexport { Widget };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAAgD,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhD,MAAMG,MAAM,GAAGC,IAAA,IAA2D;EAAA,IAA1D;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAAJ,IAAA;EACnE,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,OACEjB,MAAA,CAAAI,OAAA,CAAAc,aAAA;IACEC,SAAS,EAAC,2CAA2C;IACrD,eAAY;EAA8B,GAEzCN,IAAI,IACHb,MAAA,CAAAI,OAAA,CAAAc,aAAA,CAAAlB,MAAA,CAAAI,OAAA,CAAAgB,QAAA,QACEpB,MAAA,CAAAI,OAAA,CAAAc,aAAA;IACEC,SAAS,EAAE,IAAAE,mBAAU,EAAC,cAAc,EAAE;MACpC,oCAAoC,EAAEN,SAAS;MAC/C,oBAAoB,EAAE,CAACA;IACzB,CAAC;EAAE,GAEHf,MAAA,CAAAI,OAAA,CAAAc,aAAA,cAAM,GAAGP,IAAI,CAAC,WAAW,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEW,KAAK,EAAE,CAACb,QAAQ,CAACc,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CAAC,EACtFvB,MAAA,CAAAI,OAAA,CAAAc,aAAA,cAAM,GAAGP,IAAI,CAAC,oBAAoB,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEW,KAAK,EAAE,CAACZ,IAAI,CAACa,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CACvF,CAAC,EACNvB,MAAA,CAAAI,OAAA,CAAAc,aAAA,CAACjB,cAAA,CAAAuB,aAAa;IACZd,IAAI,EAAEA,IAAK;IACXH,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBD,UAAU,EAAEA;EAAW,CACxB,CACD,CAED,CAAC;AAEV,CAAC;AAACiB,OAAA,CAAApB,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -1,33 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
echarts
|
|
12
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Chart = void 0;
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
9
|
+
var _charts = require("echarts/charts");
|
|
10
|
+
var _components = require("echarts/components");
|
|
11
|
+
var echarts = _interopRequireWildcard(require("echarts/core"));
|
|
12
|
+
var _renderers = require("echarts/renderers");
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _constants = require("./constants");
|
|
15
|
+
var _getOption = require("./getOption");
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
+
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); }
|
|
18
|
+
echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TitleComponent, _charts.LineChart, _renderers.CanvasRenderer, _components.DatasetComponent, _components.VisualMapComponent, _charts.CustomChart, _components.MarkLineComponent, _components.MarkPointComponent, _components.AxisPointerComponent]);
|
|
19
|
+
echarts.registerTheme('dark_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Dark));
|
|
20
|
+
echarts.registerTheme('light_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Light));
|
|
13
21
|
const Chart = _ref => {
|
|
14
22
|
let {
|
|
15
23
|
values
|
|
16
24
|
} = _ref;
|
|
17
25
|
const {
|
|
18
26
|
lang
|
|
19
|
-
} = useLocale();
|
|
27
|
+
} = (0, _monoI18n.useLocale)();
|
|
20
28
|
const {
|
|
21
29
|
isDark,
|
|
22
30
|
size
|
|
23
|
-
} = useLayoutProvider();
|
|
24
|
-
const isDesktop = size === Size.DESKTOP;
|
|
25
|
-
return
|
|
26
|
-
chartHeight: CHART_HEIGHT,
|
|
31
|
+
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
32
|
+
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
33
|
+
return _react.default.createElement(_labsWidgetCommon.BaseChart, {
|
|
34
|
+
chartHeight: _constants.CHART_HEIGHT,
|
|
27
35
|
echarts: echarts,
|
|
28
36
|
isDark: isDark,
|
|
29
|
-
option: getOption(values, lang, isDark, isDesktop)
|
|
37
|
+
option: (0, _getOption.getOption)(values, lang, isDark, isDesktop)
|
|
30
38
|
});
|
|
31
39
|
};
|
|
32
|
-
|
|
40
|
+
exports.Chart = Chart;
|
|
33
41
|
//# sourceMappingURL=Chart.js.map
|