v0.15.6
This commit is contained in:
@@ -366,22 +366,39 @@ $('#tokenForm').addEventListener('submit', async event => {
|
||||
$('#discoverForm').addEventListener('submit', async event => {
|
||||
event.preventDefault(); const form = event.currentTarget, raw = Object.fromEntries(new FormData(form));
|
||||
await runFormTask(form, async () => {
|
||||
const result = await api('/api/discovery', { method: 'POST', body: { protocol_version: Number(raw.protocol_version), passes: Number(raw.passes), timeout_ms: Number(raw.timeout_ms) } });
|
||||
form.closest('dialog').close(); await loadBootstrap(); toast(tr('toast.found', { count: result.count })); showDiscoveryNames(result.new_device_ids || []);
|
||||
const protocolVersion = Number(raw.protocol_version);
|
||||
const result = await api('/api/discovery/scan', { method: 'POST', body: { protocol_version: protocolVersion, passes: Number(raw.passes), timeout_ms: Number(raw.timeout_ms) } });
|
||||
form.closest('dialog').close();
|
||||
toast(tr('toast.found', { count: result.count }));
|
||||
showDiscoveryNames(result.devices || []);
|
||||
}, { busyKey: 'actions.discovering' });
|
||||
});
|
||||
|
||||
$('#discoveryNamesForm').addEventListener('submit', async event => {
|
||||
event.preventDefault();
|
||||
const form = event.currentTarget;
|
||||
const inputs = $$('input[data-device-id]', form);
|
||||
const selected = $$('[data-discovery-select]:checked', form);
|
||||
if (!selected.length) {
|
||||
toast(tr('discovery.selectAtLeastOne'), true);
|
||||
return;
|
||||
}
|
||||
await runFormTask(form, async () => {
|
||||
const updated = await Promise.all(inputs.map(input => api(`/api/devices/${encodeURIComponent(input.dataset.deviceId)}`, { method: 'PATCH', body: { name: input.value.trim() } })));
|
||||
updated.forEach(updateDevice);
|
||||
const devices = selected.map(input => {
|
||||
const index = Number(input.dataset.discoveryIndex);
|
||||
const candidate = app.localDiscoveryCandidates[index];
|
||||
const nameInput = $(`[data-discovery-name="${index}"]`, form);
|
||||
return { ...candidate, name: String(nameInput?.value || candidate?.name || '').trim() };
|
||||
}).filter(Boolean);
|
||||
const result = await api('/api/discovery/add', {
|
||||
method: 'POST',
|
||||
body: { devices },
|
||||
});
|
||||
await loadBootstrap();
|
||||
form.closest('dialog').close();
|
||||
app.localDiscoveryCandidates = [];
|
||||
renderAll();
|
||||
toast(tr('common.saved'));
|
||||
});
|
||||
toast(tr('discovery.addedCount', { count: result.count }));
|
||||
}, { validate: false });
|
||||
});
|
||||
|
||||
$('#renameDeviceForm').addEventListener('submit', async event => {
|
||||
|
||||
Reference in New Issue
Block a user