v0.34.8
This commit is contained in:
1 parent
58c7d63194
commit
5a0a063031
15 files changed
+124
-53
No files matched your search
+15
-3
@@ -97,6 +97,18 @@
|
||||
return { node: field, read() { if (inputNode.value.trim()) consume(inputNode.value); return [...values]; }, count: () => values.length, input: inputNode };
|
||||
}
|
||||
function legacyHostname(assignment) { return assignment?.hostname || assignment?.subdomain || ""; }
|
||||
function legacyDockerName(service) {
|
||||
const key = service?.key || "";
|
||||
const compose = /^compose:([^/]+)\/([^/]+)\/([^:]+):(\d+)\/tcp$/.exec(key);
|
||||
const container = /^container:(.*):(\d+)\/tcp$/.exec(key);
|
||||
if (!compose && !container) return null;
|
||||
const base = compose ? `${compose[1]}-${compose[2]}${compose[3] === "1" ? "" : `-${compose[3]}`}-${compose[4]}` : `${container[1]}-${container[2]}`;
|
||||
return base.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 48).replace(/-$/, "");
|
||||
}
|
||||
function displayHostname(assignment, service) {
|
||||
const host = legacyHostname(assignment);
|
||||
return service && host === legacyDockerName(service) ? service.technical_name : (host || service?.technical_name || "");
|
||||
}
|
||||
function serviceBindings(service) {
|
||||
if (!service) return [];
|
||||
if (Array.isArray(service.bindings) && service.bindings.length) return service.bindings;
|
||||
@@ -384,7 +396,7 @@
|
||||
const key = assignment?.service_key || service.key, row = el("article", undefined, "docker-service-row"); row.dataset.key = key; row.dataset.viewKey = viewKey(agent.id, key);
|
||||
const runtime = runtimeFor(agent.id, key), member = runtime?.members?.[0], technicalName = service?.technical_name || assignment?.service_key || "";
|
||||
row.dockerSort = {
|
||||
service: technicalName.toLowerCase(), hostname: String(legacyHostname(assignment) || technicalName).toLowerCase(),
|
||||
service: technicalName.toLowerCase(), hostname: String(displayHostname(assignment, service) || technicalName).toLowerCase(),
|
||||
status: stale ? 4 : assignment?.enabled === false || !assignment ? 3 : member?.status === "up" ? 0 : member?.status === "down" ? 1 : 2,
|
||||
backend: String(assignment?.target_ip || agent.default_target_ip || inventory?.public_ip || "").toLowerCase(), scheme: String(assignment?.scheme || "http"), published: assignment && assignment.enabled !== false ? 0 : 1,
|
||||
};
|
||||
@@ -411,12 +423,12 @@
|
||||
liveLogs.disabled = !publish.checked || !poolRoutes.some(item => item.agent_id === agent.id && item.service_key === key && item.pool_id);
|
||||
publish.setAttribute("aria-checked", String(publish.checked));
|
||||
};
|
||||
syncOpenActions(legacyHostname(assignment));
|
||||
syncOpenActions(displayHostname(assignment, service));
|
||||
const quickActions = el("div", undefined, "docker-service-quick-actions"); quickActions.append(openApp, liveLogs);
|
||||
const headActions = el("div", undefined, "docker-service-head-actions"); headActions.append(runtimeSummary(runtime, assignment, stale), quickActions, visibility); top.append(publishLabel, meta, headActions); row.append(top);
|
||||
|
||||
const editor = el("details", undefined, "docker-service-editor"), editorSummary = el("summary"), editorTitle = el("span", t("dockerConfigureService")), editorHint = el("small", "", "fine docker-config-hint"); editorSummary.append(editorTitle, editorHint); editor.append(editorSummary);
|
||||
const route = el("div", undefined, "docker-route-grid"), host = input(legacyHostname(assignment) || service?.technical_name || "", "text", "docker-hostname"); host.maxLength = 253; host.placeholder = service?.technical_name || "app1";
|
||||
const route = el("div", undefined, "docker-route-grid"), host = input(displayHostname(assignment, service), "text", "docker-hostname"); host.maxLength = 253; host.placeholder = service?.technical_name || "app1";
|
||||
row.dockerSyncActions = () => syncOpenActions(host.value);
|
||||
let aliases; const aliasChanged = () => { updateHint?.(); row.dispatchEvent(new Event("input", { bubbles: true })); }; aliases = aliasEditor(assignment?.aliases || [], aliasChanged); row._readAliases = aliases.read;
|
||||
const target = el("select", undefined, "docker-target-ip"), auto = el("option", agent.default_target_ip ? `${t("dockerBackendIpAuto")} (${agent.default_target_ip})` : t("dockerBackendIpAuto")); auto.value = ""; target.append(auto); for (const [ip, label] of targetOptions(inventory, service, assignment, agent)) { const option = el("option", label); option.value = ip; target.append(option); } target.value = assignment?.target_ip || "";
|
||||
|
||||
Reference in new issue
Block a user