(itemValue)
| 16437 | const designerSelect = event.target; |
| 16438 | const newDesigner = designerSelect.value; |
| 16439 | |
| 16440 | if (newDesigner && newDesigner !== 'Unknown') { |
| 16441 | const designers = await window.electron.getDesigners(); |
| 16442 | if (!designers.includes(newDesigner)) { |
| 16443 | console.log('New designer will be added:', newDesigner); |
| 16444 | } |
| 16445 | } |
| 16446 | }); |
| 16447 | |
| 16448 | async function populateDesignerDropdown() { |
| 16449 | const designerSelect = document.getElementById('designer-select'); |
| 16450 | designerSelect.innerHTML = '<option value="">All Designers</option>'; |
| 16451 | // Add an option to filter for models with no designer set |
| 16452 | designerSelect.innerHTML += '<option value="__none__">None</option>'; |
| 16453 | try { |
| 16454 | const designers = await window.electron.getDesigners(); |
| 16455 | designers.forEach(designer => { |
| 16456 | const option = document.createElement('option'); |
| 16457 | option.value = designer; |
| 16458 | option.textContent = designer; |
| 16459 | designerSelect.appendChild(option); |
| 16460 | }); |
| 16461 | } catch (error) { |
| 16462 | console.error('Error fetching designers:', error); |
| 16463 | } |
| 16464 | } |
| 16465 | |
| 16466 | // Add these event listeners after your existing ones |
| 16467 | document.getElementById('add-new-designer-button')?.addEventListener('click', () => { |
| 16468 | const dialog = document.getElementById('new-designer-dialog'); |
| 16469 | dialog.showModal(); |
| 16470 | }); |
| 16471 | |
| 16472 | document.getElementById('cancel-designer-button')?.addEventListener('click', () => { |
| 16473 | const dialog = document.getElementById('new-designer-dialog'); |
| 16474 | dialog.close(); |
| 16475 | }); |
| 16476 | |
| 16477 | document.getElementById('new-designer-dialog').addEventListener('submit', async (event) => { |
| 16478 | event.preventDefault(); |
| 16479 | const newDesignerName = document.getElementById('new-designer-name').value.trim(); |
| 16480 | const sourceDropdownId = event.target.closest('dialog').dataset.sourceDropdown; |
| 16481 | |
| 16482 | if (newDesignerName) { |
| 16483 | // Trigger auto-save first (before repopulating dropdowns) |
| 16484 | if (sourceDropdownId === 'multi-designer') { |
no test coverage detected