MCPcopy Create free account
hub / github.com/TechJeeper/Printventory / refreshMetadataDropdowns

Function refreshMetadataDropdowns

renderer.js:6947–6974  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6945 }
6946 });
6947
6948 // Update label
6949 const label = document.getElementById('metadata-type-label');
6950 const labels = {
6951 'designer': 'Designers',
6952 'parentModel': 'Parent Models',
6953 'license': 'Licenses'
6954 };
6955 if (label) {
6956 label.textContent = labels[currentMetadataType] || 'Metadata';
6957 }
6958 }
6959
6960 async function refreshMetadataList(type, searchTerm = '') {
6961 const metadataList = document.getElementById('metadata-editor-list');
6962 metadataList.innerHTML = '';
6963
6964 try {
6965 // Always refresh metadata to ensure we have the latest data
6966 allMetadata = await window.electron.getAllMetadata();
6967
6968 // Filter metadata by type and search term
6969 let filteredMetadata = allMetadata.filter(item => item.type === type);
6970
6971 // Deduplicate by name (case-insensitive) - keep the one with the highest model_count
6972 const metadataMap = new Map();
6973 filteredMetadata.forEach(item => {
6974 const key = item.name.toLowerCase();
6975 const existing = metadataMap.get(key);
6976 if (!existing || (item.model_count || 0) > (existing.model_count || 0)) {
6977 metadataMap.set(key, item);

Callers 1

refreshMetadataListFunction · 0.85

Calls 6

populateDesignerDropdownFunction · 0.85
populateLicenseFilterFunction · 0.85

Tested by

no test coverage detected