BUILD125 — параметры нижней панели + сортировка игроков
This commit is contained in:
@@ -6833,29 +6833,17 @@ function openTimerQuickEditor(focusActionId = "") {
|
||||
const limit = Math.max(1, Number(props.rosterLimit) || 40);
|
||||
const players = (Array.isArray(rows) ? rows : [])
|
||||
.map((row, index) => normalizeHockeyPlayer(component, row, side, index));
|
||||
const hasLineData = players.some((player) => String(player.line || "").trim());
|
||||
// BUILD125: the main “Игра” roster is always a jersey-number list.
|
||||
// Line/five ordering belongs only to the dedicated “Пятёрки” workspace.
|
||||
players.sort((left, right) => {
|
||||
if (hasLineData) {
|
||||
const lineValue = (player) => {
|
||||
const raw = String(player.line || "").trim();
|
||||
if (!raw) return 10000;
|
||||
const number = Number(raw);
|
||||
return Number.isFinite(number) ? number : 9000;
|
||||
};
|
||||
const lineDiff = lineValue(left) - lineValue(right);
|
||||
if (lineDiff) return lineDiff;
|
||||
const leftOrder = Number(left.lineSortOrder || 0) || 10000;
|
||||
const rightOrder = Number(right.lineSortOrder || 0) || 10000;
|
||||
if (leftOrder !== rightOrder) return leftOrder - rightOrder;
|
||||
}
|
||||
const leftNumber = String(left.number || "").replace(/^#/, "");
|
||||
const rightNumber = String(right.number || "").replace(/^#/, "");
|
||||
const leftNumber = String(left.number || "").replace(/^#/, "").trim();
|
||||
const rightNumber = String(right.number || "").replace(/^#/, "").trim();
|
||||
if (!leftNumber && rightNumber) return 1;
|
||||
if (leftNumber && !rightNumber) return -1;
|
||||
return leftNumber.localeCompare(rightNumber, undefined, {
|
||||
numeric: true,
|
||||
sensitivity: "base",
|
||||
}) || left.name.localeCompare(right.name);
|
||||
}) || left.name.localeCompare(right.name, "ru", { numeric: true, sensitivity: "base" });
|
||||
});
|
||||
return players.slice(0, limit);
|
||||
}
|
||||
@@ -8888,8 +8876,8 @@ function openHockeyPrematchButtonsEditor() {
|
||||
<label>Вкладка<select data-quick-selector-field="group_id" data-quick-selector-id="${escapeHtml(selector.id)}">${hockeyPrematchGroupOptions(draftGroups, selector.group_id)}</select></label>
|
||||
<label>Рядом с кнопкой<select data-quick-selector-field="button_id" data-quick-selector-id="${escapeHtml(selector.id)}">${hockeyQuickPanelButtonOptions(draft, selector.button_id)}</select></label>
|
||||
<label>Вид<select data-quick-selector-field="style" data-quick-selector-id="${escapeHtml(selector.id)}">${triggerSelectOptions([["segments","Маленькие кнопки"],["select","Выпадающий список"]], selector.style)}</select></label>
|
||||
<label class="quick-selector-options-field">Варианты <small>значение=подпись; ...</small><input type="text" data-quick-selector-options="${escapeHtml(selector.id)}" value="${escapeHtml(quickPanelSelectorOptionsText(selector))}" placeholder="all=МАТЧ; 1=1; 2=2; 3=3"></label>
|
||||
<label>По умолчанию<input type="text" maxlength="64" data-quick-selector-field="default_value" data-quick-selector-id="${escapeHtml(selector.id)}" value="${escapeHtml(selector.default_value)}"></label>
|
||||
<label class="quick-selector-options-field">Варианты <small>значение=подпись; разделитель — точка с запятой</small><input type="text" data-quick-selector-options="${escapeHtml(selector.id)}" value="${escapeHtml(quickPanelSelectorOptionsText(selector))}" placeholder="all=МАТЧ; 1=1; 2=2; 3=3"></label>
|
||||
<label class="quick-selector-default-field">По умолчанию<input type="text" maxlength="64" data-quick-selector-field="default_value" data-quick-selector-id="${escapeHtml(selector.id)}" value="${escapeHtml(selector.default_value)}"></label>
|
||||
<button type="button" class="icon-btn danger" data-quick-selector-delete="${escapeHtml(selector.id)}" title="Удалить переключатель">×</button>
|
||||
</article>`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user