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

Function buildTrashRow

public/js/trashRestoreDelete.js:169–210  ·  view source on GitHub ↗
(item)

Source from the content-addressed store, hash-verified

167}
168
169function buildTrashRow(item) {
170 const row = document.createElement("div");
171 row.className = "restore-row";
172 row.setAttribute("role", "option");
173 row.setAttribute("tabindex", "0");
174 row.dataset.trashName = item.trashName;
175
176 const checkbox = document.createElement("input");
177 checkbox.type = "checkbox";
178 checkbox.value = item.trashName;
179 checkbox.className = "restore-checkbox";
180
181 const textWrap = document.createElement("div");
182 textWrap.className = "restore-row-text";
183
184 const primary = document.createElement("div");
185 primary.className = "restore-primary";
186 primary.textContent = item.originalName || item.trashName;
187
188 const meta = document.createElement("div");
189 meta.className = "restore-meta";
190 const deletedBy = item.deletedBy || tr("unknown_user", "Unknown");
191 const trashedDate = item.trashedAt ? new Date(item.trashedAt * 1000).toLocaleString() : "";
192 meta.textContent = trashedDate ? `${deletedBy} • ${trashedDate}` : deletedBy;
193
194 textWrap.append(primary, meta);
195 row.append(checkbox, textWrap);
196
197 checkbox.addEventListener("change", () => updateRowSelection(row, checkbox.checked));
198 row.addEventListener("click", (e) => {
199 if (e.target === checkbox) return;
200 toggleRow(row, checkbox);
201 });
202 row.addEventListener("keydown", (e) => {
203 if (e.key === " " || e.key === "Enter") {
204 e.preventDefault();
205 toggleRow(row, checkbox);
206 }
207 });
208
209 return row;
210}
211
212function renderTrashList(trashItems) {
213 const { list } = getModalElements();

Callers 1

renderTrashListFunction · 0.85

Calls 3

trFunction · 0.85
updateRowSelectionFunction · 0.85
toggleRowFunction · 0.85

Tested by

no test coverage detected