e81343ae91
option 增加 data-trade-style;修复 JS 初始化顺序。杠杆隐藏输入,显示 BTC/ETH 10x 其它 5x。 Co-authored-by: Cursor <cursoragent@cursor.com>
63 lines
2.2 KiB
JavaScript
63 lines
2.2 KiB
JavaScript
(function (global) {
|
|
function tradeStyleForSelect(sel) {
|
|
if (!sel || !sel.value) return "trend";
|
|
var opt = sel.options[sel.selectedIndex];
|
|
if (opt && opt.getAttribute) {
|
|
var ds = opt.getAttribute("data-trade-style");
|
|
if (ds === "swing" || ds === "trend") return ds;
|
|
}
|
|
var map = global.ORDER_ENTRY_MODEL_TRADE_STYLE || {};
|
|
return map[sel.value] || "trend";
|
|
}
|
|
|
|
function syncOrderEntryModelTradeStyle() {
|
|
var sel = document.getElementById("order-entry-model");
|
|
var hidden = document.getElementById("order-trade-style-hidden");
|
|
var hint = document.getElementById("order-trade-style-hint");
|
|
if (!sel || !hidden) return;
|
|
var labels = { trend: "趋势单", swing: "波段单" };
|
|
var ts = tradeStyleForSelect(sel);
|
|
hidden.value = ts;
|
|
if (hint) hint.textContent = labels[ts] || ts;
|
|
}
|
|
|
|
function initOrderEntryModelSelect(root) {
|
|
var scope = root && root.querySelector ? root : document;
|
|
var sel =
|
|
scope === document
|
|
? document.getElementById("order-entry-model")
|
|
: scope.querySelector("#order-entry-model");
|
|
if (!sel) return;
|
|
if (sel.dataset.entryModelWired !== "1") {
|
|
sel.dataset.entryModelWired = "1";
|
|
sel.addEventListener("change", syncOrderEntryModelTradeStyle);
|
|
}
|
|
syncOrderEntryModelTradeStyle();
|
|
}
|
|
|
|
global.paintOrderLeverageHint = function (leverage) {
|
|
var hidden = document.getElementById("order-leverage");
|
|
var hint = document.getElementById("order-leverage-hint");
|
|
if (!hidden && !hint) return;
|
|
var lev = parseInt(leverage, 10);
|
|
if (!Number.isFinite(lev) || lev <= 0) {
|
|
if (hint) hint.textContent = "杠杆 —";
|
|
if (hidden) hidden.value = "";
|
|
return;
|
|
}
|
|
if (hidden) hidden.value = String(lev);
|
|
if (hint) hint.textContent = "杠杆 " + lev + "x";
|
|
};
|
|
|
|
global.initOrderEntryModelSelect = initOrderEntryModelSelect;
|
|
global.syncOrderEntryModelTradeStyle = syncOrderEntryModelTradeStyle;
|
|
|
|
if (document.readyState === "loading") {
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
initOrderEntryModelSelect();
|
|
});
|
|
} else {
|
|
initOrderEntryModelSelect();
|
|
}
|
|
})(typeof window !== "undefined" ? window : globalThis);
|