MCPcopy Create free account
hub / github.com/error311/FileRise / pruneMovedFilesFromInactivePane

Function pruneMovedFilesFromInactivePane

public/js/fileListView.js:2667–2712  ·  view source on GitHub ↗
(sourceFolder, movedFiles, sourceId = '')

Source from the content-addressed store, hash-verified

2665}
2666
2667function pruneMovedFilesFromInactivePane(sourceFolder, movedFiles, sourceId = '') {
2668 if (!window.dualPaneEnabled || !sourceFolder || !window.__frPaneState) return;
2669
2670 const names = Array.isArray(movedFiles)
2671 ? movedFiles.map(f => {
2672 if (!f) return '';
2673 if (typeof f === 'string') return f;
2674 if (typeof f === 'object') {
2675 return String(f.name || f.file || f.filename || f.fileName || '');
2676 }
2677 return String(f);
2678 }).map(n => String(n || '').trim()).filter(Boolean)
2679 : [];
2680 if (!names.length) return;
2681
2682 const nameSet = new Set();
2683 names.forEach(name => {
2684 const raw = String(name || '').trim();
2685 if (!raw) return;
2686 nameSet.add(raw);
2687 const decoded = decodeHtmlEntities(raw);
2688 if (decoded && decoded !== raw) {
2689 nameSet.add(decoded);
2690 }
2691 });
2692 ['primary', 'secondary'].forEach(paneKey => {
2693 const state = window.__frPaneState[paneKey];
2694 if (!state || state.currentFolder !== sourceFolder) return;
2695 if (sourceId && state.sourceId && state.sourceId !== sourceId) return;
2696
2697 if (Array.isArray(state.fileData)) {
2698 state.fileData = state.fileData.filter(f => f && !nameSet.has(f.name));
2699 }
2700
2701 const list = getPaneListForKey(paneKey);
2702 if (!list) return;
2703
2704 list.querySelectorAll('tr[data-file-name], .gallery-card[data-file-name]').forEach(row => {
2705 const raw = row.getAttribute('data-file-name') || '';
2706 const decoded = decodeHtmlEntities(raw);
2707 if (nameSet.has(raw) || nameSet.has(decoded)) {
2708 row.remove();
2709 }
2710 });
2711 });
2712}
2713
2714async function paneDropHandler(e) {
2715 if (!window.dualPaneEnabled) return;

Callers 1

paneDropHandlerFunction · 0.85

Calls 2

decodeHtmlEntitiesFunction · 0.85
getPaneListForKeyFunction · 0.85

Tested by

no test coverage detected