(selectedId)
| 673 | } |
| 674 | |
| 675 | function renderPortalSourceOptions(selectedId) { |
| 676 | const active = normalizePortalSourceId(selectedId) || getPortalSourceFallbackId(); |
| 677 | return __portalSources.map(src => { |
| 678 | const label = src.name || src.id; |
| 679 | const disabledTag = src.enabled ? '' : ' (disabled)'; |
| 680 | return `<option value="${escapeHTML(src.id)}"${src.id === active ? ' selected' : ''}>${escapeHTML(label)}${escapeHTML(disabledTag)}</option>`; |
| 681 | }).join(''); |
| 682 | } |
| 683 | |
| 684 | async function loadPortalFolderList(sourceId = '') { |
| 685 | const sourceKey = normalizePortalSourceId(sourceId) || getPortalSourceFallbackId(); |
no test coverage detected