(duplicates)
| 15380 | directoryHeaderContainer.style.display = 'flex'; |
| 15381 | directoryHeaderContainer.style.alignItems = 'center'; |
| 15382 | directoryHeaderContainer.style.cursor = 'pointer'; |
| 15383 | directoryHeaderContainer.style.userSelect = 'none'; |
| 15384 | const folderIcon = createSVGIcon('<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 -960 960 960" width="16px" fill="#aaa"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h240l80 80h320q33 0 56.5 23.5T880-640v400q0 33-23.5 56.5T800-160H160Zm0-80h640v-400H447l-80-80H160v480Zm0 0v-480 480Z"/></svg>', 16); |
| 15385 | directoryHeaderContainer.appendChild(folderIcon); |
| 15386 | const directoryHeader = createSortableHeader('Parent Directory', 'directory', 'auto'); |
| 15387 | directoryHeader.style.flex = '1'; |
| 15388 | directoryHeader.style.minWidth = '0'; |
| 15389 | // Make the container clickable - forward clicks to the header |
| 15390 | directoryHeaderContainer.addEventListener('click', (e) => { |
| 15391 | // If click is on the icon, trigger the header's click handler |
| 15392 | if (e.target === folderIcon || folderIcon.contains(e.target)) { |
| 15393 | directoryHeader.click(); |
| 15394 | } |
| 15395 | }); |
| 15396 | directoryHeaderContainer.appendChild(directoryHeader); |
| 15397 | attachListViewColumnResizeHandle(directoryHeaderContainer, 'directory'); |
| 15398 | headerInfo.appendChild(directoryHeaderContainer); |
| 15399 | |
| 15400 | // Designer column header (sortable with icon) |
| 15401 | const designerWrap = document.createElement('div'); |
| 15402 | designerWrap.className = 'list-view-col'; |
| 15403 | designerWrap.dataset.listCol = 'designer'; |
| 15404 | designerWrap.style.position = 'relative'; |
| 15405 | const designerHeader = document.createElement('div'); |
| 15406 | designerHeader.className = 'sortable-header'; |
| 15407 | designerHeader.dataset.sortKey = 'designer'; |
| 15408 | designerHeader.style.flexShrink = '0'; |
| 15409 | designerHeader.style.width = '100%'; |
| 15410 | designerHeader.style.fontSize = '12px'; |
| 15411 | designerHeader.style.fontWeight = '600'; |
| 15412 | designerHeader.style.color = '#aaa'; |
| 15413 | designerHeader.style.textTransform = 'uppercase'; |
| 15414 | designerHeader.style.letterSpacing = '0.5px'; |
| 15415 | designerHeader.style.cursor = 'pointer'; |
| 15416 | designerHeader.style.display = 'flex'; |
| 15417 | designerHeader.style.alignItems = 'center'; |
| 15418 | designerHeader.style.gap = '6px'; |
| 15419 | designerHeader.style.userSelect = 'none'; |
| 15420 | |
| 15421 | const designerIcon = createSVGIcon('<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 -960 960 960" width="16px" fill="#a855f7"><path d="m352-522 86-87-56-57-44 44-56-56 43-44-45-45-87 87 159 158Zm328 329 87-87-45-45-44 43-56-56 43-44-57-56-86 86 158 159Zm24-567 57 57-57-57ZM290-120H120v-170l175-175L80-680l200-200 216 216 151-152q12-12 27-18t31-6q16 0 31 6t27 18l53 54q12 12 18 27t6 31q0 16-6 30.5T816-647L665-495l215 215L680-80 465-295 290-120Zm-90-80h56l392-391-57-57-391 392v56Zm420-419-29-29 57 57-28-28Z"/></svg>', 16); |
| 15422 | designerHeader.appendChild(designerIcon); |
| 15423 | |
| 15424 | const designerLabel = document.createElement('span'); |
| 15425 | designerLabel.textContent = 'Designer'; |
| 15426 | designerHeader.appendChild(designerLabel); |
| 15427 | |
| 15428 | const designerSortIndicator = document.createElement('span'); |
| 15429 | designerSortIndicator.className = 'sort-indicator'; |
| 15430 | designerSortIndicator.style.display = 'inline-flex'; |
| 15431 | designerSortIndicator.style.alignItems = 'center'; |
| 15432 | designerSortIndicator.style.marginLeft = '4px'; |
| 15433 | designerSortIndicator.style.opacity = '0'; |
| 15434 | designerSortIndicator.style.transition = 'opacity 0.2s ease'; |
| 15435 | designerHeader.appendChild(designerSortIndicator); |
| 15436 | |
| 15437 | // Add click handler |
| 15438 | designerHeader.addEventListener('click', async () => { |
| 15439 | const sortSelect = document.getElementById('sort-select'); |
nothing calls this directly
no test coverage detected