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.
765 lines
23 KiB
765 lines
23 KiB
(window.webpackJsonp = window.webpackJsonp || []).push([
|
|
[61], {
|
|
"1yQO": function(e, i, t) {
|
|
"use strict";
|
|
t.d(i, "a", (function() {
|
|
return r
|
|
}));
|
|
var o = t("hY0g"),
|
|
n = t.n(o);
|
|
|
|
function r(e, i, t, o = null) {
|
|
const r = {
|
|
id: i,
|
|
title: t,
|
|
definitions: new n.a(e)
|
|
};
|
|
return null !== o && (r.icon = o), r
|
|
}
|
|
},
|
|
Equz: function(e, i, t) {
|
|
"use strict";
|
|
t.d(i, "a", (function() {
|
|
return T
|
|
}));
|
|
var o = t("Eyy1"),
|
|
n = t("HSjo"),
|
|
r = t("n5al"),
|
|
s = t("hY0g"),
|
|
l = t.n(s),
|
|
c = t("Kxc7"),
|
|
a = t("Z5lT"),
|
|
d = t("25b6");
|
|
const h = window.t("Color Bars Based on Previous Close"),
|
|
u = window.t("HLC Bars"),
|
|
b = window.t("Up Color"),
|
|
p = window.t("Down Color"),
|
|
w = window.t("Thin Bars"),
|
|
y = window.t("Body"),
|
|
C = window.t("Borders"),
|
|
S = window.t("Wick"),
|
|
f = window.t("Price Source"),
|
|
O = window.t("Type"),
|
|
j = window.t("Line"),
|
|
g = window.t("Top Line"),
|
|
v = window.t("Bottom Line"),
|
|
_ = window.t("Fill"),
|
|
m = window.t("Fill Top Area"),
|
|
P = window.t("Fill Bottom Area"),
|
|
L = (window.t("Up bars"), window.t("Down bars"), window.t("Projection up bars"), window.t(
|
|
"Projection down bars"), window.t(
|
|
"Show real prices on price scale (instead of Heikin-Ashi price)"), window.t(
|
|
"Base Level")),
|
|
B = window.t("Body"),
|
|
M = window.t("Borders"),
|
|
k = window.t("Labels");
|
|
|
|
function D(e, i, t, o) {
|
|
const r = Object(d.c)(t);
|
|
return [Object(n.s)({
|
|
checked: Object(n.b)(e, i.drawBody, `Change ${t} Body Visibility`),
|
|
color1: Object(n.v)(e, i.upColor, null, `Change ${t} Up Color`),
|
|
color2: Object(n.v)(e, i.downColor, null, `Change ${t} Down Color`)
|
|
}, {
|
|
id: `${o}Symbol${r}CandlesColor`,
|
|
title: y
|
|
}), Object(n.s)({
|
|
checked: Object(n.b)(e, i.drawBorder, `Change ${t} Border Visibility`),
|
|
color1: Object(n.v)(e, i.borderUpColor, null,
|
|
`Change ${t} Up Border Color`),
|
|
color2: Object(n.v)(e, i.borderDownColor, null,
|
|
`Change ${t} Down Border Color`)
|
|
}, {
|
|
id: `${o}Symbol${r}BordersColor`,
|
|
title: C
|
|
}), Object(n.s)({
|
|
checked: Object(n.b)(e, i.drawWick, `Change ${t} Wick Visibility`),
|
|
color1: Object(n.v)(e, i.wickUpColor, null, `Change ${t} Wick Up Color`),
|
|
color2: Object(n.v)(e, i.wickDownColor, null, `Change ${t} Wick Down Color`)
|
|
}, {
|
|
id: `${o}Symbol${r}WickColors`,
|
|
title: S
|
|
})]
|
|
}
|
|
|
|
function T(e, i, t, s, d) {
|
|
switch (t) {
|
|
case 0:
|
|
return function(e, i, t) {
|
|
return [Object(n.c)({
|
|
checked: Object(n.b)(e, i.barColorsOnPrevClose,
|
|
"Change Color Bars Based on Previous Close")
|
|
}, {
|
|
id: t + "SymbolBarStyleBarColorsOnPrevClose",
|
|
title: h
|
|
}), Object(n.c)({
|
|
checked: Object(n.b)(e, i.dontDrawOpen, "Change HLC Bars")
|
|
}, {
|
|
id: t + "SymbolDontDrawOpen",
|
|
title: u
|
|
}), Object(n.e)({
|
|
color: Object(n.v)(e, i.upColor, null,
|
|
"Change Bar Up Color")
|
|
}, {
|
|
id: t + "SymbolUpColor",
|
|
title: b
|
|
}), Object(n.e)({
|
|
color: Object(n.v)(e, i.downColor, null,
|
|
"Change Bar Down Color")
|
|
}, {
|
|
id: t + "SymbolDownColor",
|
|
title: p
|
|
}), Object(n.c)({
|
|
checked: Object(n.b)(e, i.thinBars, "Change Thin Bars")
|
|
}, {
|
|
id: t + "SymbolBarThinBars",
|
|
title: w
|
|
})]
|
|
}(e, i.barStyle.childs(), d);
|
|
case 1:
|
|
return function(e, i, t) {
|
|
return [Object(n.c)({
|
|
checked: Object(n.b)(e, i.barColorsOnPrevClose,
|
|
"Change Color Bars Based on Previous Close")
|
|
}, {
|
|
id: t + "SymbolCandleStyleBarColorsOnPrevClose",
|
|
title: h
|
|
}), ...D(e, i, "Candle", t)]
|
|
}(e, i.candleStyle.childs(), d);
|
|
case 2:
|
|
return function(e, i, t, o, r) {
|
|
return [Object(n.k)({
|
|
option: Object(n.b)(e, i.priceSource, "Change Price Source")
|
|
}, {
|
|
id: r + "SymbolLinePriceSource",
|
|
title: f,
|
|
options: new l.a(t)
|
|
}), Object(n.k)({
|
|
option: Object(n.b)(e, i.styleType, "Change Line Type")
|
|
}, {
|
|
id: r + "SymbolStyleType",
|
|
title: O,
|
|
options: new l.a(o)
|
|
}), Object(n.i)({
|
|
color: Object(n.v)(e, i.color, null, "Change Line Color"),
|
|
width: Object(n.b)(e, i.linewidth, "Change Line Width")
|
|
}, {
|
|
id: r + "SymbolLineStyle",
|
|
title: j
|
|
})]
|
|
}(e, i.lineStyle.childs(), s.seriesPriceSources, s.lineStyleTypes, d);
|
|
case 3:
|
|
return function(e, i, t, o) {
|
|
return [Object(n.k)({
|
|
option: Object(n.b)(e, i.priceSource,
|
|
"Change Area Price Source")
|
|
}, {
|
|
id: o + "SymbolAreaPriceSource",
|
|
title: f,
|
|
options: new l.a(t)
|
|
}), Object(n.i)({
|
|
color: Object(n.v)(e, i.linecolor, null,
|
|
"Change Area Line Color"),
|
|
width: Object(n.b)(e, i.linewidth, "Change Area Line Width")
|
|
}, {
|
|
id: o + "SymbolAreaLineStyle",
|
|
title: j
|
|
}), Object(n.s)({
|
|
color1: Object(n.v)(e, i.color1, i.transparency,
|
|
"Change Area Fill Color"),
|
|
color2: Object(n.v)(e, i.color2, i.transparency,
|
|
"Change Area Fill Color")
|
|
}, {
|
|
id: o + "SymbolAreaFills",
|
|
title: _
|
|
})]
|
|
}(e, i.areaStyle.childs(), s.seriesPriceSources, d);
|
|
case 9:
|
|
return D(e, i.hollowCandleStyle.childs(), "Hollow Candles", d);
|
|
case 10:
|
|
return function(e, i, t, o) {
|
|
return [Object(n.k)({
|
|
option: Object(n.b)(e, i.priceSource,
|
|
"Change Baseline Price Source")
|
|
}, {
|
|
id: o + "SymbolBaseLinePriceSource",
|
|
title: f,
|
|
options: new l.a(t)
|
|
}), Object(n.i)({
|
|
color: Object(n.v)(e, i.topLineColor, null,
|
|
"Change Baseline Top Line Color"),
|
|
width: Object(n.b)(e, i.topLineWidth,
|
|
"Change Baseline Top Line Width")
|
|
}, {
|
|
id: o + "SymbolBaseLineTopLine",
|
|
title: g
|
|
}), Object(n.i)({
|
|
color: Object(n.v)(e, i.bottomLineColor, null,
|
|
"Change Baseline Bottom Line Color"),
|
|
width: Object(n.b)(e, i.bottomLineWidth,
|
|
"Change Baseline Bottom Line Width")
|
|
}, {
|
|
id: o + "SymbolBaseLineBottomLine",
|
|
title: v
|
|
}), Object(n.s)({
|
|
color1: Object(n.v)(e, i.topFillColor1, null,
|
|
"Change Baseline Fill Top Area Color"),
|
|
color2: Object(n.v)(e, i.topFillColor2, null,
|
|
"Change Baseline Fill Top Area Color")
|
|
}, {
|
|
id: o + "SymbolBaseLineTopFills",
|
|
title: m
|
|
}), Object(n.s)({
|
|
color1: Object(n.v)(e, i.bottomFillColor1, null,
|
|
"Change Baseline Fill Bottom Area Color"),
|
|
color2: Object(n.v)(e, i.bottomFillColor2, null,
|
|
"Change Baseline Fill Bottom Area Color")
|
|
}, {
|
|
id: o + "SymbolBaseLineBottomFills",
|
|
title: P
|
|
}), Object(n.j)({
|
|
value: Object(n.b)(e, i.baseLevelPercentage,
|
|
"Change Base Level", [a.b])
|
|
}, {
|
|
id: o + "SymbolBaseLevelPercentage",
|
|
title: L,
|
|
type: 0,
|
|
min: new l.a(0),
|
|
max: new l.a(100),
|
|
step: new l.a(1),
|
|
unit: new l.a("%")
|
|
})]
|
|
}(e, i.baselineStyle.childs(), s.seriesPriceSources, d)
|
|
}
|
|
if (!i.hasOwnProperty("haStyle")) return [];
|
|
if (s.isJapaneseChartsAvailable && 8 === t) {
|
|
return function(e, i, t) {
|
|
const o = [];
|
|
return o.push(Object(n.c)({
|
|
checked: Object(n.b)(e, i.barColorsOnPrevClose,
|
|
"Change Color Bars Based on Previous Close")
|
|
}, {
|
|
id: t + "SymbolHAStyleBarColorsOnPrevClose",
|
|
title: h
|
|
}), ...D(e, i, "Heikin Ashi", t)), o
|
|
}(e, i.haStyle.childs(), d)
|
|
}
|
|
s.isJapaneseChartsAvailable && c.enabled("japanese_chart_styles");
|
|
if (c.enabled("chart_style_hilo") && 12 === t) {
|
|
const t = i.hiloStyle.childs(),
|
|
l = Object(r.chartStyleStudyId)(12);
|
|
return function(e, i, t, o) {
|
|
const r = Object(n.e)({
|
|
checked: Object(n.b)(e, i.drawBody,
|
|
"Change High-Low Body Visibility"),
|
|
color: Object(n.v)(e, i.color, null, "Change High-Low Body Color")
|
|
}, {
|
|
id: o + "SymbolBodiesColor",
|
|
title: B
|
|
}),
|
|
s = Object(n.e)({
|
|
checked: Object(n.b)(e, i.showBorders,
|
|
"Change Show High-Low Borders"),
|
|
color: Object(n.v)(e, i.borderColor, null,
|
|
"Change High-Low Border Color")
|
|
}, {
|
|
id: o + "SymbolBorderColor",
|
|
title: M
|
|
}),
|
|
l = t.map(e => ({
|
|
title: String(e),
|
|
value: e
|
|
}));
|
|
return [r, s, Object(n.q)({
|
|
checked: Object(n.b)(e, i.showLabels,
|
|
"Change Show High-Low Labels"),
|
|
color: Object(n.v)(e, i.labelColor, null,
|
|
"Change High-Low Labels Color"),
|
|
size: Object(n.b)(e, i.fontSize,
|
|
"Change High-Low Labels Font Size")
|
|
}, {
|
|
id: o + "SymbolLabels",
|
|
title: k,
|
|
isEditable: !1,
|
|
isMultiLine: !1,
|
|
sizeItems: l
|
|
})]
|
|
}(e, t, Object(o.ensure)(s.defaultSeriesFontSizes)[l], d)
|
|
}
|
|
return []
|
|
}
|
|
},
|
|
Z5lT: function(e, i, t) {
|
|
"use strict";
|
|
t.d(i, "b", (function() {
|
|
return n
|
|
})), t.d(i, "a", (function() {
|
|
return r
|
|
})), t.d(i, "c", (function() {
|
|
return s
|
|
}));
|
|
var o = t("T6Of");
|
|
|
|
function n(e) {
|
|
return Math.floor(e)
|
|
}
|
|
|
|
function r(e) {
|
|
return parseInt(String(e))
|
|
}
|
|
|
|
function s(e) {
|
|
const i = new o.LimitedPrecisionNumericFormatter(e);
|
|
return e => {
|
|
if (null === e) return e;
|
|
const t = i.parse(i.format(e));
|
|
return t.res ? t.value : null
|
|
}
|
|
}
|
|
},
|
|
zqjM: function(e, i, t) {
|
|
"use strict";
|
|
var o = t("Eyy1"),
|
|
n = t("HSjo"),
|
|
r = t("hY0g"),
|
|
s = t.n(r),
|
|
l = t("n5al"),
|
|
c = t("dfhE"),
|
|
a = t("Equz"),
|
|
d = t("Z5lT");
|
|
|
|
function h(e) {
|
|
return e.map(e => ({
|
|
value: e,
|
|
title: window.t(e)
|
|
}))
|
|
}
|
|
|
|
function u(e, i, t, r, c, a, u) {
|
|
const b = [];
|
|
return t.forEach(t => {
|
|
if (! function(e, i) {
|
|
return !e.isHidden && (void 0 === e.visible || function(e, i) {
|
|
if (!e) return !0;
|
|
const t = e.split("==");
|
|
return !(t.length < 2) && i[t[0]].value() === t[1]
|
|
}(e.visible, i))
|
|
}(t, r)) return;
|
|
const p = t.id;
|
|
if (!r.hasOwnProperty(p)) return;
|
|
const w = r[p],
|
|
y = function(e, i) {
|
|
return "style" === e.id ? window.t("Box size assignment method") :
|
|
"boxSize" === e.id ? window.t("Box Size") : window.t(i.childs().name
|
|
.value())
|
|
}(t, c[p]);
|
|
if ("options" in t) {
|
|
const i = Object(o.ensure)(t.options);
|
|
b.push(Object(n.k)({
|
|
option: Object(n.b)(e, w, "Change " + y)
|
|
}, {
|
|
id: `${u}${t.name}`,
|
|
title: y,
|
|
options: new s.a(h(i))
|
|
}))
|
|
} else if ("integer" !== t.type) {
|
|
if ("float" === t.type) {
|
|
let o;
|
|
return o = function(e, i) {
|
|
return !((i === Object(l.chartStyleStudyId)(4) || i === Object(l
|
|
.chartStyleStudyId)(6)) && "boxSize" === e || i ===
|
|
Object(l.chartStyleStudyId)(5) && "reversalAmount" === e
|
|
)
|
|
}(p, i) || null === a.value() ? new s.a(t.min) : a, void b.push(
|
|
Object(n.j)({
|
|
value: Object(n.b)(e, w, "Change " + y)
|
|
}, {
|
|
id: `${u}${t.name}`,
|
|
title: y,
|
|
type: 1,
|
|
min: o,
|
|
max: new s.a(t.max),
|
|
defval: t.defval
|
|
}))
|
|
}
|
|
"text" !== t.type ? "bool" !== t.type || b.push(Object(n.c)({
|
|
checked: Object(n.b)(e, w, "Change " + y)
|
|
}, {
|
|
id: `${u}${t.name}`,
|
|
title: y
|
|
})) : b.push(Object(n.q)({
|
|
text: Object(n.b)(e, w, "Change " + y)
|
|
}, {
|
|
id: `${u}${t.name}`,
|
|
title: y,
|
|
isEditable: !0,
|
|
isMultiLine: !1
|
|
}))
|
|
} else b.push(Object(n.j)({
|
|
value: Object(n.b)(e, w, "Change " + y, [d.b])
|
|
}, {
|
|
id: `${u}${t.name}`,
|
|
title: y,
|
|
type: 0,
|
|
min: new s.a(t.min),
|
|
max: new s.a(t.max),
|
|
defval: t.defval
|
|
}))
|
|
}), b
|
|
}
|
|
var b = t("txPx"),
|
|
p = t("Cf1E");
|
|
t.d(i, "b", (function() {
|
|
return A
|
|
})), t.d(i, "c", (function() {
|
|
return $
|
|
})), t.d(i, "d", (function() {
|
|
return W
|
|
})), t.d(i, "a", (function() {
|
|
return V
|
|
}));
|
|
const w = Object(b.getLogger)("Chart.Definitions.Series"),
|
|
y = (window.t("Adjust Data for Dividends"), window.t("Session"), window.t(
|
|
"Pre/Post market hours background")),
|
|
C = window.t("Last Price Line"),
|
|
S = (window.t("Previous Day Close Price Line"), window.t("Bid and Ask lines"), window.t(
|
|
"Pre/Post Market Price Line"),
|
|
window.t("High and low price lines")),
|
|
f = window.t("Average close price line"),
|
|
O = window.t("Precision"),
|
|
j = window.t("Time Zone"),
|
|
g = window.t("Open"),
|
|
v = window.t("High"),
|
|
_ = window.t("Low"),
|
|
m = window.t("Close"),
|
|
P = window.t("(H + L)/2"),
|
|
L = window.t("(H + L + C)/3"),
|
|
B = window.t("(O + H + L + C)/4"),
|
|
M = window.t("Simple"),
|
|
k = window.t("With Markers"),
|
|
D = window.t("Step"),
|
|
T = window.t("Default"),
|
|
E = {
|
|
[Object(l.chartStyleStudyId)(12)]: [7, 8, 9, 10, 11, 12, 14, 16, 20, 24, 28, 32, 40]
|
|
},
|
|
I = [{
|
|
priceScale: 1,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 10,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 100,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e3,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e4,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e5,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e6,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e7,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 1e8,
|
|
minMove: 1,
|
|
frac: !1
|
|
}, {
|
|
priceScale: 2,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 4,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 8,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 16,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 32,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 64,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 128,
|
|
minMove: 1,
|
|
frac: !0
|
|
}, {
|
|
priceScale: 320,
|
|
minMove: 1,
|
|
frac: !0
|
|
}],
|
|
A = [{
|
|
title: g,
|
|
value: "open",
|
|
id: "price-source-open"
|
|
}, {
|
|
title: v,
|
|
value: "high",
|
|
id: "price-source-high"
|
|
}, {
|
|
title: _,
|
|
value: "low",
|
|
id: "price-source-low"
|
|
}, {
|
|
title: m,
|
|
value: "close",
|
|
id: "price-source-close"
|
|
}, {
|
|
title: P,
|
|
value: "hl2",
|
|
id: "price-source-hl2"
|
|
}, {
|
|
title: L,
|
|
value: "hlc3",
|
|
id: "price-source-hlc3"
|
|
}, {
|
|
title: B,
|
|
value: "ohlc4",
|
|
id: "price-source-ohlc4"
|
|
}],
|
|
$ = [{
|
|
title: M,
|
|
value: c.STYLE_LINE_TYPE_SIMPLE
|
|
}, {
|
|
title: k,
|
|
value: c.STYLE_LINE_TYPE_MARKERS
|
|
}, {
|
|
title: D,
|
|
value: c.STYLE_LINE_TYPE_STEP
|
|
}];
|
|
|
|
function W() {
|
|
const e = [{
|
|
title: T,
|
|
value: "default"
|
|
}];
|
|
for (let i = 0; i < I.length; i++) e.push({
|
|
title: `${I[i].minMove}/${I[i].priceScale}`,
|
|
value: `${I[i].priceScale},${I[i].minMove},${I[i].frac}`
|
|
});
|
|
return e
|
|
}
|
|
class V {
|
|
constructor(e, i, t, o, n, r) {
|
|
this._definitions = null, this._inputsSubscriptions = null, this._isDestroyed = !1,
|
|
this._propertyPages = null, this._seriesMinTickWV = null, this
|
|
._sessionIdOptionsWV = new s.a([]), this._disabledSessionSelect = new s.a(!0),
|
|
this._series = e, this._undoModel = i, this._model = this._undoModel.model(),
|
|
this._propertyPageId = t, this._propertyPageName = o, this._propertyPageIcon =
|
|
n, this._timezonePropertyObj = r, this._series.onStyleChanged().subscribe(this,
|
|
this._updateDefinitions), this._series.dataEvents().symbolResolved()
|
|
.subscribe(this, this._updateSeriesMinTickWV), this._series.dataEvents()
|
|
.symbolResolved().subscribe(this, this._updateSessionIdOptionsWV), this
|
|
._updateSeriesMinTickWV(), this._updateSessionIdOptionsWV()
|
|
}
|
|
destroy() {
|
|
null !== this._propertyPages && this._propertyPages.forEach(e => {
|
|
Object(n.u)(e.definitions.value())
|
|
}), this._series.onStyleChanged().unsubscribe(this, this._updateDefinitions),
|
|
this._series.dataEvents().symbolResolved().unsubscribeAll(this), this
|
|
._unsubscribeInputsUpdate(), this._isDestroyed = !0
|
|
}
|
|
propertyPages() {
|
|
return null === this._propertyPages ? this._getDefinitions().then(e => {
|
|
if (this._isDestroyed) throw new Error(
|
|
"SeriesPropertyDefinitionsViewModel already destroyed");
|
|
return null === this._propertyPages && (this._propertyPages = [{
|
|
id: this._propertyPageId,
|
|
title: this._propertyPageName,
|
|
icon: this._propertyPageIcon,
|
|
definitions: new s.a(e)
|
|
}]), this._propertyPages
|
|
}) : Promise.resolve(this._propertyPages)
|
|
}
|
|
_seriesMinTick() {
|
|
const e = this._series.symbolInfo();
|
|
return null !== e ? e.minmov / e.pricescale : null
|
|
}
|
|
_updateSeriesMinTickWV() {
|
|
null === this._seriesMinTickWV ? this._seriesMinTickWV = new s.a(this
|
|
._seriesMinTick()) : this._seriesMinTickWV.setValue(this._seriesMinTick())
|
|
}
|
|
_updateSessionIdOptionsWV() {}
|
|
_updateDefinitions() {
|
|
null !== this._definitions && Object(n.u)(this._definitions), this._definitions =
|
|
null, this._unsubscribeInputsUpdate(), this._createSeriesDefinitions().then(
|
|
e => {
|
|
if (this._isDestroyed) throw new Error(
|
|
"SeriesPropertyDefinitionsViewModel already destroyed");
|
|
Object(o.ensureNotNull)(this._propertyPages)[0].definitions.setValue(e)
|
|
})
|
|
}
|
|
_getDefinitions() {
|
|
return null === this._definitions ? this._createSeriesDefinitions() : Promise
|
|
.resolve(this._definitions)
|
|
}
|
|
_unsubscribeInputsUpdate() {
|
|
null !== this._inputsSubscriptions && (this._inputsSubscriptions.forEach(e => {
|
|
e.unsubscribeAll(this)
|
|
}), this._inputsSubscriptions = null)
|
|
}
|
|
_subscribeInputsUpdate(e, i) {
|
|
const t = [];
|
|
e.forEach(e => {
|
|
if (void 0 !== e.visible) {
|
|
const o = e.visible.split("==");
|
|
if (2 === o.length) {
|
|
const e = i[o[0]]; - 1 === t.indexOf(e) && (e.subscribe(this,
|
|
this._updateDefinitions), t.push(e))
|
|
}
|
|
}
|
|
}), t.length > 0 ? this._inputsSubscriptions = t : this._inputsSubscriptions =
|
|
null
|
|
}
|
|
_createSeriesDefinitions() {
|
|
const e = this._series.properties().childs(),
|
|
i = this._series.getInputsProperties(),
|
|
t = this._series.getInputsInfoProperties(),
|
|
r = e.style.value(),
|
|
c = this._series.getStyleShortName();
|
|
return new Promise(e => {
|
|
const n = Object(l.chartStyleStudyId)(r);
|
|
null !== n ? this._model.studyMetaInfoRepository().findById({
|
|
type: "java",
|
|
studyId: n
|
|
}).then(n => {
|
|
if (this._isDestroyed) throw new Error(
|
|
"SeriesPropertyDefinitionsViewModel already destroyed"
|
|
);
|
|
if (null !== this._definitions) return void e(null);
|
|
const r = Object(o.ensureNotNull)(this._seriesMinTickWV),
|
|
s = u(this._undoModel, n.id, n.inputs, i, t, r, c);
|
|
this._subscribeInputsUpdate(n.inputs, i), e(s)
|
|
}).catch(i => {
|
|
w.logWarn(
|
|
"Find meta info for create series definitions with error - " +
|
|
Object(p.a)(i)), e(null)
|
|
}) : e(null)
|
|
}).then(i => {
|
|
if (this._isDestroyed) throw new Error(
|
|
"SeriesPropertyDefinitionsViewModel already destroyed");
|
|
if (null !== this._definitions) return this._definitions;
|
|
const t = Object(a.a)(this._undoModel, e, r, {
|
|
seriesPriceSources: A,
|
|
lineStyleTypes: $,
|
|
isJapaneseChartsAvailable: !0,
|
|
defaultSeriesFontSizes: E
|
|
}, "mainSeries");
|
|
null !== i && t.push(...i);
|
|
const o = Object(n.k)({
|
|
option: Object(n.b)(this._undoModel, e.minTick,
|
|
"Change Decimal Places")
|
|
}, {
|
|
id: c + "SymbolMinTick",
|
|
title: O,
|
|
options: new s.a(W())
|
|
}),
|
|
l = Object(n.k)({
|
|
option: Object(n.b)(this._undoModel, this
|
|
._timezonePropertyObj.property, "Change Timezone")
|
|
}, {
|
|
id: c + "SymbolTimezone",
|
|
title: j,
|
|
options: new s.a(this._timezonePropertyObj.values)
|
|
});
|
|
return this._definitions = [Object(n.l)(t, "generalSymbolStylesGroup"),
|
|
...this._seriesPriceLinesDefinitions(c), ...this
|
|
._seriesDataDefinitions(c), o, l
|
|
], this._definitions
|
|
})
|
|
}
|
|
_seriesDataDefinitions(e) {
|
|
this._series.dividendsAdjustmentProperty();
|
|
return []
|
|
}
|
|
_createOutOfSessionDefinition(e) {
|
|
const i = this._model.sessions().properties().childs().graphics.childs().backgrounds
|
|
.childs().outOfSession.childs();
|
|
return Object(n.e)({
|
|
color: Object(n.v)(this._undoModel, i.color, i.transparency,
|
|
"Change Extended hours color")
|
|
}, {
|
|
id: e + "SymbolExtendedHoursColors",
|
|
title: y
|
|
})
|
|
}
|
|
_createPrePostMarketDefinition(e) {
|
|
const i = this._model.sessions(),
|
|
t = i.properties().childs().graphics.childs().backgrounds.childs().preMarket
|
|
.childs(),
|
|
o = i.properties().childs().graphics.childs().backgrounds.childs().postMarket
|
|
.childs();
|
|
return Object(n.s)({
|
|
color1: Object(n.v)(this._undoModel, t.color, t.transparency,
|
|
"Change Pre Market Color"),
|
|
color2: Object(n.v)(this._undoModel, o.color, o.transparency,
|
|
"Change Post Market Color")
|
|
}, {
|
|
id: e + "SymbolExtendedHoursColors",
|
|
title: y
|
|
})
|
|
}
|
|
_seriesPriceLinesDefinitions(e) {
|
|
const i = [],
|
|
t = this._series.properties().childs();
|
|
if (this._series.hasClosePrice()) {
|
|
const o = Object(n.i)({
|
|
checked: Object(n.b)(this._undoModel, t.showPriceLine,
|
|
"Change Price Price Line"),
|
|
color: Object(n.v)(this._undoModel, t.priceLineColor, null,
|
|
"Change Price Line Color"),
|
|
width: Object(n.b)(this._undoModel, t.priceLineWidth,
|
|
"Change Price Line Width")
|
|
}, {
|
|
id: e + "SymbolLastValuePriceLine",
|
|
title: C
|
|
});
|
|
i.push(o)
|
|
}
|
|
this._series.hasClosePrice();
|
|
const o = t.highLowAvgPrice,
|
|
r = Object(n.c)({
|
|
checked: Object(n.b)(this._undoModel, o.childs()
|
|
.highLowPriceLinesVisible,
|
|
"Change high/low price lines visibility")
|
|
}, {
|
|
id: e + "SymbolHighLowPriceLines",
|
|
title: S
|
|
}),
|
|
s = Object(n.c)({
|
|
checked: Object(n.b)(this._undoModel, o.childs()
|
|
.averageClosePriceLineVisible,
|
|
"Change average close price line visibility")
|
|
}, {
|
|
id: e + "SymbolAverageClosePriceLine",
|
|
title: f
|
|
});
|
|
return i.push(r, s), i
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]);
|
|
|