Skip to content

Commit ee5860a

Browse files
Fix folder editor member bulk move live refresh
1 parent 1490875 commit ee5860a

6 files changed

Lines changed: 15 additions & 10 deletions

File tree

archive/folderview.plus-2026.04.04.15.txz.sha256

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cc1e9907a049687f126e7b99fede8bead13f4d2b3768b5378d83b6a80ac625f3 folderview.plus-2026.04.05.11.txz

folderview.plus.plg

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@
66
<!ENTITY launch "Settings/FolderViewPlus">
77
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
88
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/folderview.plus.plg">
9-
<!ENTITY version "2026.04.05.10">
10-
<!ENTITY md5 "3a4004b27877f1a3bc0698d9d12f9329">
9+
<!ENTITY version "2026.04.05.11">
10+
<!ENTITY md5 "23ac7408c2a596e977f5bae322b2cbd5">
1111
]>
1212

1313
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" icon="folder-icon.png" support="https://forums.unraid.net/topic/197631-plugin-folderview-plus/" min="7.0.0">
1414
<CHANGES>
1515

16+
###2026.04.05.11
17+
- Fix: Folder editor Members-tab bulk move now removes reassigned Docker containers and VMs from the live member list immediately instead of keeping them visible until the editor is submitted or reloaded.
18+
19+
1620
###2026.04.05.10
1721
- UX: Folder editor flows, previews, and bootstrap behavior.
1822

src/folderview.plus/usr/local/emhttp/plugins/folderview.plus/scripts/folder.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4422,16 +4422,14 @@ const applyMemberBulkMoveResultLocally = (targetFolderId, movedNames = []) => {
44224422
};
44234423
}
44244424

4425-
const movedSelectedMembers = [];
44264425
selected = selected.filter((member) => {
44274426
const safeName = String(member?.Name || '').trim();
4428-
if (safeName && movedSet.has(safeName)) {
4429-
movedSelectedMembers.push(member);
4430-
return false;
4431-
}
4432-
return true;
4427+
return !(safeName && movedSet.has(safeName));
4428+
});
4429+
choose = choose.filter((member) => {
4430+
const safeName = String(member?.Name || '').trim();
4431+
return !(safeName && movedSet.has(safeName));
44334432
});
4434-
choose = mergeMembersByName(choose, movedSelectedMembers);
44354433
updateList(() => {
44364434
syncMemberSnapshotBaseline();
44374435
renderMemberBulkMoveTargets();

tests/folder-editor-member-bulk-move.test.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ test('folder editor members tab renders compact bulk move controls and blocks un
3636
assert.match(folderJs, /renderMemberBulkMoveTargets\(\);/);
3737
assert.match(folderJs, /applyMemberBulkMoveResultLocally\(plan\.targetFolderId/);
3838
assert.match(folderJs, /syncMemberSnapshotBaseline\(\);/);
39+
assert.match(folderJs, /selected = selected\.filter\(\(member\) => \{/);
40+
assert.match(folderJs, /choose = choose\.filter\(\(member\) => \{/);
3941
assert.match(folderJs, /memberBulkMoveUndoState = \{/);
4042
assert.match(folderJs, /id="fvMemberBulkUndo"/);
4143
assert.match(folderJs, /void undoEditorMemberBulkMove\(\);/);
44+
assert.doesNotMatch(folderJs, /choose = mergeMembersByName\(choose, movedSelectedMembers\);/);
4245
assert.doesNotMatch(folderJs, /title: 'Bulk move complete'/);
4346
});
4447

0 commit comments

Comments
 (0)