20 lines
733 B
JavaScript
20 lines
733 B
JavaScript
// rmFile — удалить файл из списка (если не busy).
|
|
|
|
import { render } from './render.js';
|
|
|
|
export function rmFile(state, els, cfg, i) {
|
|
if (state.busy) return;
|
|
const nm = state.files[i].name;
|
|
state.overNames.delete(nm);
|
|
state.fileMeta.delete(nm);
|
|
state.files.splice(i, 1);
|
|
// Синхронизировать input.files (DataTransfer) — чтобы повторный выбор того же
|
|
// файла сработал (change не сработает, если files не обновлён).
|
|
if (els.fileInput && els.fileInput.files) {
|
|
const d = new DataTransfer();
|
|
state.files.forEach(f => d.items.add(f));
|
|
els.fileInput.files = d.files;
|
|
}
|
|
render(state, els, cfg);
|
|
}
|