Hub market: add option expiry Friday yellow dashed splits.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -197,9 +197,11 @@
|
||||
const elPrevCloseLine = document.getElementById("market-prev-close-line");
|
||||
const elPrevHlLines = document.getElementById("market-prev-hl-lines");
|
||||
const elDaySplit = document.getElementById("market-day-split");
|
||||
const elOptionExpirySplit = document.getElementById("market-option-expiry-split");
|
||||
const PREV_CLOSE_LINE_STORAGE_KEY = "hub-market-prev-close-line";
|
||||
const PREV_HL_LINES_STORAGE_KEY = "hub-market-prev-hl-lines";
|
||||
const DAY_SPLIT_STORAGE_KEY = "hub-market-day-split";
|
||||
const OPTION_EXPIRY_SPLIT_STORAGE_KEY = "hub-market-option-expiry-split";
|
||||
const BJ_OFFSET_SEC = 8 * 60 * 60;
|
||||
const elFsToolbar = document.getElementById("market-fs-toolbar");
|
||||
const elFsExchange = document.getElementById("market-fs-exchange");
|
||||
@@ -342,6 +344,14 @@
|
||||
saveBoolPref(DAY_SPLIT_STORAGE_KEY, on);
|
||||
}
|
||||
|
||||
function loadOptionExpirySplitPref() {
|
||||
return loadBoolPref(OPTION_EXPIRY_SPLIT_STORAGE_KEY, false);
|
||||
}
|
||||
|
||||
function saveOptionExpirySplitPref(on) {
|
||||
saveBoolPref(OPTION_EXPIRY_SPLIT_STORAGE_KEY, on);
|
||||
}
|
||||
|
||||
function loadPrevCloseLinePref() {
|
||||
return loadBoolPref(PREV_CLOSE_LINE_STORAGE_KEY, false);
|
||||
}
|
||||
@@ -456,6 +466,18 @@
|
||||
applyTradingDaySplit(on);
|
||||
}
|
||||
|
||||
function applyOptionExpirySplit(enabled) {
|
||||
if (window.HubChartDraw && typeof window.HubChartDraw.setOptionExpirySplit === "function") {
|
||||
window.HubChartDraw.setOptionExpirySplit(enabled);
|
||||
}
|
||||
}
|
||||
|
||||
function syncOptionExpirySplitUi() {
|
||||
const on = !!(elOptionExpirySplit && elOptionExpirySplit.checked);
|
||||
saveOptionExpirySplitPref(on);
|
||||
applyOptionExpirySplit(on);
|
||||
}
|
||||
|
||||
function ensureDrawLayer() {
|
||||
if (drawAttached || !window.HubChartDraw || !chart || !candleSeries) return;
|
||||
window.HubChartDraw.attach({
|
||||
@@ -471,6 +493,9 @@
|
||||
});
|
||||
window.HubChartDraw.setViewKey(currentChartViewKey());
|
||||
applyTradingDaySplit(elDaySplit ? elDaySplit.checked : loadDaySplitPref());
|
||||
applyOptionExpirySplit(
|
||||
elOptionExpirySplit ? elOptionExpirySplit.checked : loadOptionExpirySplitPref()
|
||||
);
|
||||
drawAttached = true;
|
||||
}
|
||||
|
||||
@@ -3481,6 +3506,11 @@
|
||||
elDaySplit.addEventListener("change", syncTradingDaySplitUi);
|
||||
applyTradingDaySplit(elDaySplit.checked);
|
||||
}
|
||||
if (elOptionExpirySplit) {
|
||||
elOptionExpirySplit.checked = loadOptionExpirySplitPref();
|
||||
elOptionExpirySplit.addEventListener("change", syncOptionExpirySplitUi);
|
||||
applyOptionExpirySplit(elOptionExpirySplit.checked);
|
||||
}
|
||||
const pageMarket = document.getElementById("page-market");
|
||||
const fsKeyTargets = [window, pageMarket, elChartWrap, chartHost].filter(Boolean);
|
||||
fsKeyTargets.forEach(function (el) {
|
||||
|
||||
Reference in New Issue
Block a user