You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

614 lines
17 KiB

(window.webpackJsonp = window.webpackJsonp || []).push([
["symbol-info-dialog-impl"], {
"1Z/g": function(e, t, n) {
"use strict";
(function(e, o) {
var r, i = n("PT1i").linking,
s = n("+6ja").availableTimezones,
c = n("kcTO").PriceFormatter,
a = n("e3/o"),
u = n("q1tI"),
l = n("i8i4"),
d = n("ZzxF").SymbolInfoDialog,
p = n("5mo2").SessionSpec,
f = n("jCNj"),
m = n("kcTO").numberToStringWithLeadingZero,
b = n("Ialn"),
y = n("IWXC").getQuoteSessionInstance,
h = n("n5al").createSeriesFormatter,
O = n("w3Pp").marketType,
D = n("6vtU").getAdditionalSymbolInfoFields,
j = [f.MONDAY, f.TUESDAY, f.WEDNESDAY, f.THURSDAY, f.FRIDAY, f.SATURDAY, f.SUNDAY],
v = j.reduce((function(t, n) {
return t[n < 7 ? n + 1 : 1] = e.weekdaysMin(n), t
}), {});
function w(e) {
return ! function(e) {
return e && e.type && "economic" === e.type
}(e) && ! function(e, t) {
return e && e.listed_exchange && t.indexOf(e.listed_exchange) >= 0
}(e, ["QUANDL", "BSE_EOD", "NSE_EOD", "LSE_EOD"])
}
function N(e) {
return e.minmove2 > 0 && !e.fractional && e.pricescale
}
function E(e) {
if (N(e)) return new c(e.pricescale / e.minmove2).format(e.minmove2 / e.pricescale)
}
function k(e) {
return void 0 === e.minmov || void 0 === e.pricescale ? null : h(e).format(e
.minmov / e.pricescale)
}
function S(e) {
return O(e.type, e.typespecs)
}
function g(e) {
return e.original_currency_code || e.currency_code || null
}
function A(e, t) {
return e(t.original_unit_id || t.unit_id) || null
}
function _(e) {
return e && e.type && "futures" === e.type && e.front_contract
}
function M(e) {
r || (r = document.createElement("div"), document.body.appendChild(r)), l.render(u
.createElement(d, e), r)
}
function Y(e) {
for (var t = s, n = 0; n < t.length; n++)
if (t[n].id === e) return t[n].title;
return e
}
function T(e) {
var t, n = new p("Etc/UTC", e);
return (t = n.entries(), j.reduce((function(e, n) {
var o = t.filter((function(e) {
return e.dayOfWeek() === n
})),
r = v[n] + " ";
if (0 === o.length) return e.push(r + window.t("Closed")), e;
var i = o.reduce((function(e, t) {
var n = t.sessionStartDayOfWeek(),
o = t.sessionStartDaysOffset(),
r = function(e, t) {
for (var n = e + t; n > f.SATURDAY;)
n -= f.SATURDAY;
return n
}(n, o === t.sessionEndDaysOffset() ? 0 :
o),
i = n !== t.dayOfWeek(),
s = i && r !== t.dayOfWeek(),
c = i ? v[n] : "",
a = s ? v[r] : "",
u = W(t.start()) + c + "-" + W(t.start() + t
.length()) + a;
return e.push(u), e
}), []);
return e.push(r + i.join(", ")), e
}), [])).join("<br>")
}
function U(e) {
return e || "-"
}
function R(e, t) {
for (var n = 0, o = 0; o < t.length; o++)
if (void 0 === t[o].getter) {
var r = t[o].propName,
i = t[o].altPropName,
s = r in e ? r : void 0 !== i && i in e ? i : void 0;
if (void 0 !== s) {
var c = e[s];
t[o].value = (t[o].formatter || U)(c), n++
}
} else {
var a = t[o].getter(e);
null !== a && (t[o].value = a), n++
} return n -= function(e, t) {
for (var n = 0, o = 0; o < t.length; o++) {
var r = t[o];
void 0 === r.visibility || r.visibility(e) || (t.splice(o, 1), o--, n++)
}
return n
}(e, t)
}
function W(e) {
for (; e > f.minutesPerDay;) e -= f.minutesPerDay;
var t = e % 60,
n = m((e - t) / 60, 2) + ":" + m(t, 2);
return b.isRtl() ? b.startWithLTR(n) : n
}
t.showSymbolInfoDialog = function(e, t) {
if (M({
isOpened: !1
}), null == e && (e = i.symbol.value()), null != e) {
e += "";
var n = t && t.symbolInfo,
s = [{
title: window.t("Symbol Name"),
propName: o.enabled("charting_library_base") ? "name" :
"pro_name"
}, {
title: window.t("Symbol Description"),
propName: "description"
}, {
title: window.t("Symbol Type"),
propName: "type",
getter: S
}, {
title: window.t("Current Contract"),
propName: "front_contract",
visibility: _
}, {
title: window.t("Point Value"),
propName: "pointvalue"
}, {
title: window.t("Exchange"),
propName: "exchange"
}, {
title: window.t("Listed Exchange"),
propName: "listed_exchange"
}, {
title: window.t("Currency"),
propName: "currency_code",
getter: g,
formatter: function(e) {
return e || ""
},
defValue: ""
}, {
title: window.t("Unit"),
propName: "unit_id",
getter: A.bind(null, t.unitName),
visibility: function() {
return t.showUnit
},
formatter: function(e) {
return e || ""
},
defValue: ""
}, {
title: window.t("Pip Size"),
propName: "pip_size",
getter: E,
visibility: N
}, {
title: window.t("Tick Size"),
propName: "tick_size",
getter: k
}, {
title: window.t("Sector"),
propName: "sector"
}, {
title: window.t("Industry"),
propName: "industry"
}, {
title: window.t("Timezone"),
propName: "timezone",
formatter: Y,
visibility: w
}, {
title: window.t("Session"),
propName: "session_display",
altPropName: "session",
formatter: T,
visibility: w,
setHtml: !0
}],
c = D();
if (c && c.length > 0)
for (const e of c) s.push({
title: e.title,
propName: e.propertyName
});
var u = 0;
if (n && (u = R(n, s)), u < s.length) {
var d = "symbolinfodialog." + a.guid(),
p = y("full");
p.subscribe(d, e, (function(t, n) {
R(n.values, s), p.unsubscribe(d, e), M(f)
}))
}
var f = {
isOpened: !0,
onClose: function() {
M({
isOpened: !1
}), l.unmountComponentAtNode(r), r = null
},
fields: s
};
M(f)
}
}
}).call(this, n("ldgD"), n("Kxc7"))
},
"4nwx": function(e, t, n) {
"use strict";
n.r(t), n.d(t, "monthsFullNames", (function() {
return i
})), n.d(t, "monthsShortNames", (function() {
return s
})), n.d(t, "weekDaysFullNames", (function() {
return c
})), n.d(t, "weekDaysShortNames", (function() {
return a
})), n.d(t, "weekDaysMiniNames", (function() {
return u
}));
var o = n("YFKU"),
r = n("99ZO");
const i = {
[r.Months.JANUARY]: Object(o.t)("January"),
[r.Months.FEBRUARY]: Object(o.t)("February"),
[r.Months.MARCH]: Object(o.t)("March"),
[r.Months.APRIL]: Object(o.t)("April"),
[r.Months.MAY]: Object(o.t)("May"),
[r.Months.JUNE]: Object(o.t)("June"),
[r.Months.JULY]: Object(o.t)("July"),
[r.Months.AUGUST]: Object(o.t)("August"),
[r.Months.SEPTEMBER]: Object(o.t)("September"),
[r.Months.OCTOBER]: Object(o.t)("October"),
[r.Months.NOVEMBER]: Object(o.t)("November"),
[r.Months.DECEMBER]: Object(o.t)("December")
},
s = {
[r.Months.JANUARY]: Object(o.t)("Jan"),
[r.Months.FEBRUARY]: Object(o.t)("Feb"),
[r.Months.MARCH]: Object(o.t)("Mar"),
[r.Months.APRIL]: Object(o.t)("Apr"),
[r.Months.MAY]: Object(o.t)("May", {
context: "short"
}),
[r.Months.JUNE]: Object(o.t)("Jun"),
[r.Months.JULY]: Object(o.t)("Jul"),
[r.Months.AUGUST]: Object(o.t)("Aug"),
[r.Months.SEPTEMBER]: Object(o.t)("Sep"),
[r.Months.OCTOBER]: Object(o.t)("Oct"),
[r.Months.NOVEMBER]: Object(o.t)("Nov"),
[r.Months.DECEMBER]: Object(o.t)("Dec")
},
c = {
[r.WeekDays.SUNDAY]: Object(o.t)("Sunday"),
[r.WeekDays.MONDAY]: Object(o.t)("Monday"),
[r.WeekDays.TUESDAY]: Object(o.t)("Tuesday"),
[r.WeekDays.WEDNESDAY]: Object(o.t)("Wednesday"),
[r.WeekDays.THURSDAY]: Object(o.t)("Thursday"),
[r.WeekDays.FRIDAY]: Object(o.t)("Friday"),
[r.WeekDays.SATURDAY]: Object(o.t)("Saturday")
},
a = {
[r.WeekDays.SUNDAY]: Object(o.t)("Sun"),
[r.WeekDays.MONDAY]: Object(o.t)("Mon"),
[r.WeekDays.TUESDAY]: Object(o.t)("Tue"),
[r.WeekDays.WEDNESDAY]: Object(o.t)("Wed"),
[r.WeekDays.THURSDAY]: Object(o.t)("Thu"),
[r.WeekDays.FRIDAY]: Object(o.t)("Fri"),
[r.WeekDays.SATURDAY]: Object(o.t)("Sat")
},
u = {
[r.WeekDays.SUNDAY]: Object(o.t)("Su", {
context: "day_of_week"
}),
[r.WeekDays.MONDAY]: Object(o.t)("Mo", {
context: "day_of_week"
}),
[r.WeekDays.TUESDAY]: Object(o.t)("Tu", {
context: "day_of_week"
}),
[r.WeekDays.WEDNESDAY]: Object(o.t)("We", {
context: "day_of_week"
}),
[r.WeekDays.THURSDAY]: Object(o.t)("Th", {
context: "day_of_week"
}),
[r.WeekDays.FRIDAY]: Object(o.t)("Fr", {
context: "day_of_week"
}),
[r.WeekDays.SATURDAY]: Object(o.t)("Sa", {
context: "day_of_week"
})
}
},
R5JZ: function(e, t, n) {
"use strict";
function o(e, t, n, o, r) {
function i(r) {
if (e > r.timeStamp) return;
const i = r.target;
void 0 !== n && null !== t && null !== i && i.ownerDocument === o && (t.contains(i) ||
n(r))
}
return r.click && o.addEventListener("click", i, !1), r.mouseDown && o.addEventListener(
"mousedown", i, !1), r.touchEnd && o.addEventListener("touchend", i, !1), r
.touchStart && o.addEventListener("touchstart", i, !1), () => {
o.removeEventListener("click", i, !1), o.removeEventListener("mousedown", i, !1), o
.removeEventListener("touchend", i, !1), o.removeEventListener("touchstart", i,
!1)
}
}
n.d(t, "a", (function() {
return o
}))
},
XYXm: function(e, t, n) {
e.exports = {
body: "body-2IgbkgW8"
}
},
ZzxF: function(e, t, n) {
"use strict";
n.r(t);
n("YFKU");
var o = n("q1tI"),
r = n("WXjp"),
i = n("TSYQ"),
s = n("kgsH"),
c = n("uo4K"),
a = n("Iivm");
function u(e) {
const t = e.hideIcon ? null : o.createElement(a.a, {
className: s.close,
icon: c,
onClick: e.onClose
});
return o.createElement("div", {
className: i(s.header, e.className),
"data-dragg-area": !0,
ref: e.reference
}, e.children, t)
}
n("kQXJ");
var l = n("XYXm");
function d(e) {
return o.createElement("div", {
className: i(l.body, e.className),
ref: e.reference
}, e.children)
}
n("8Rai"), n("cJj4");
var p = n("ycI/"),
f = n("FQhm"),
m = n("ZjKI"),
b = n("g9Yu");
n.d(t, "SymbolInfoDialog", (function() {
return y
}));
class y extends o.PureComponent {
constructor() {
super(...arguments), this._close = () => this.props.onClose()
}
componentDidMount() {
f.subscribe(m.CLOSE_POPUPS_AND_DIALOGS_COMMAND, this._close, null)
}
componentWillUnmount() {
f.unsubscribe(m.CLOSE_POPUPS_AND_DIALOGS_COMMAND, this._close, null)
}
render() {
return o.createElement(r.a, {
className: b.popupDialog,
isOpened: this.props.isOpened,
onClickOutside: this.props.onClose
}, o.createElement(u, {
onClose: this.props.onClose
}, window.t("Symbol Info")), o.createElement(d, null, o.createElement(p
.a, {
keyCode: 27,
handler: this.props.onClose
}), o.createElement("div", {
className: b.content,
"data-symbol-info-dialog-content": !0
}, this._renderFields())))
}
_renderFields() {
return this.props.fields ? this.props.fields.map((e, t) => o.createElement(
"div", {
key: e.propName + t.toString(),
className: b.row
}, o.createElement("div", {
className: i(b.column, b.columnTitle)
}, o.createElement("span", {
className: b.title
}, e.title)), o.createElement("div", {
className: i(b.column, b.columnValue)
}, o.createElement("span", {
className: b.value
}, function(e) {
const t = e.value || e.defValue || "-";
if (e.setHtml) return o.createElement("span", {
dangerouslySetInnerHTML: {
__html: t
}
});
return t
}(e))))) : []
}
}
},
cJj4: function(e, t, n) {
e.exports = {
message: "message-2dEP78zc",
error: "error-2dEP78zc"
}
},
g9Yu: function(e, t, n) {
e.exports = {
popupDialog: "popupDialog-2uQzjNpP",
content: "content-2uQzjNpP",
row: "row-2uQzjNpP",
column: "column-2uQzjNpP",
title: "title-2uQzjNpP",
value: "value-2uQzjNpP",
columnTitle: "columnTitle-2uQzjNpP",
columnValue: "columnValue-2uQzjNpP"
}
},
ijHL: function(e, t, n) {
"use strict";
function o(e) {
return i(e, s)
}
function r(e) {
return i(e, c)
}
function i(e, t) {
const n = Object.entries(e).filter(t),
o = {};
for (const [e, t] of n) o[e] = t;
return o
}
function s(e) {
const [t, n] = e;
return 0 === t.indexOf("data-") && "string" == typeof n
}
function c(e) {
return 0 === e[0].indexOf("aria-")
}
n.d(t, "b", (function() {
return o
})), n.d(t, "a", (function() {
return r
})), n.d(t, "c", (function() {
return i
})), n.d(t, "e", (function() {
return s
})), n.d(t, "d", (function() {
return c
}))
},
kQXJ: function(e, t, n) {
e.exports = {
footer: "footer-16Va6-EJ"
}
},
kgsH: function(e, t, n) {
e.exports = {
header: "header-2ibjJG9Z",
close: "close-2ibjJG9Z"
}
},
qoI1: function(e, t, n) {
var o = {
"./en-gb": "Oaa7",
"./en-gb.js": "Oaa7",
"./es": "iYuL",
"./es.js": "iYuL",
"./it": "bpih",
"./it.js": "bpih",
"./ja": "B55N",
"./ja.js": "B55N",
"./ko": "Ivi+",
"./ko.js": "Ivi+",
"./pl": "jVdC",
"./pl.js": "jVdC",
"./pt": "8mBD",
"./pt-br": "0tRk",
"./pt-br.js": "0tRk",
"./pt.js": "8mBD",
"./ru": "lXzo",
"./ru.js": "lXzo",
"./tr": "DoHr",
"./tr.js": "DoHr"
};
function r(e) {
var t = i(e);
return n(t)
}
function i(e) {
if (!n.o(o, e)) {
var t = new Error("Cannot find module '" + e + "'");
throw t.code = "MODULE_NOT_FOUND", t
}
return o[e]
}
r.keys = function() {
return Object.keys(o)
}, r.resolve = i, e.exports = r, r.id = "qoI1"
},
uo4K: function(e, t) {
e.exports =
'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="currentColor" d="M5.18 6.6L1.3 2.7.6 2 2 .59l.7.7 3.9 3.9 3.89-3.9.7-.7L12.61 2l-.71.7L8 6.6l3.89 3.89.7.7-1.4 1.42-.71-.71L6.58 8 2.72 11.9l-.71.7-1.41-1.4.7-.71 3.9-3.9z"/></svg>'
},
w3Pp: function(e, t, n) {
"use strict";
n.r(t), n.d(t, "marketType", (function() {
return a
}));
var o = n("YFKU");
n("HbRj");
const r = new Map,
i = {
context: "market_type"
},
s = {
cfd: Object(o.t)("cfd", i),
bitcoin: Object(o.t)("crypto", i),
crypto: Object(o.t)("crypto", i),
dr: Object(o.t)("dr", i),
forex: Object(o.t)("forex", i),
futures: Object(o.t)("futures", i),
index: Object(o.t)("index", i),
stock: Object(o.t)("stock", i)
},
c = new Set(["cfd", "spreadbet", "defi"]);
function a(e, t = []) {
const n = t.filter(e => c.has(e)),
a = `${e}_${n.sort().join("_")}`,
u = r.get(a);
if (void 0 !== u) return u;
const l = Boolean(t.length) ? Object(o.t)(e, i) + " " + n.join(" ") : s[e] || e;
return r.set(a, l), l
}
},
"ycI/": function(e, t, n) {
"use strict";
n.d(t, "a", (function() {
return r
}));
var o = n("q1tI");
class r extends o.PureComponent {
constructor() {
super(...arguments), this._handleKeyDown = e => {
e.keyCode === this.props.keyCode && this.props.handler(e)
}
}
componentDidMount() {
document.addEventListener(this.props.eventType || "keydown", this
._handleKeyDown, !1)
}
componentWillUnmount() {
document.removeEventListener(this.props.eventType || "keydown", this
._handleKeyDown, !1)
}
render() {
return null
}
}
}
}
]);