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

Function populateSearchEverywhereSources

public/js/fileListView.js:5151–5198  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5149}
5150
5151function populateSearchEverywhereSources() {
5152 if (!searchEverywhereSourceEl) return;
5153 const sources = getSearchEverywhereSources();
5154 const wrap = searchEverywhereSourceEl.closest('.search-everywhere-source-wrap');
5155 searchEverywhereSourceEl.innerHTML = '';
5156
5157 const multiple = sources.length > 1;
5158 if (multiple) {
5159 const opt = document.createElement('option');
5160 opt.value = 'all';
5161 opt.textContent = t('search_everywhere_source_all') || 'All sources';
5162 searchEverywhereSourceEl.appendChild(opt);
5163 }
5164
5165 sources.forEach(src => {
5166 const id = String(src.id || '').trim();
5167 if (!id) return;
5168 const opt = document.createElement('option');
5169 opt.value = id;
5170 const label = formatSourceBadgeText(src) || id;
5171 const lockMark = src.readOnly ? ` \uD83D\uDD12 ${t('read_only') || 'Read-only'}` : '';
5172 opt.textContent = `${label}${lockMark}`;
5173 searchEverywhereSourceEl.appendChild(opt);
5174 });
5175
5176 if (wrap) {
5177 wrap.style.display = (multiple || sources.length > 0) ? '' : 'none';
5178 }
5179 searchEverywhereSourceEl.disabled = sources.length <= 1;
5180
5181 const prev = searchEverywhereSourceEl.getAttribute('data-prev') || '';
5182 const hasPrev = Array.from(searchEverywhereSourceEl.options).some(opt => opt.value === prev);
5183 if (hasPrev) {
5184 searchEverywhereSourceEl.value = prev;
5185 } else if (multiple) {
5186 searchEverywhereSourceEl.value = 'all';
5187 } else if (searchEverywhereSourceEl.options.length) {
5188 searchEverywhereSourceEl.value = searchEverywhereSourceEl.options[0].value;
5189 }
5190 searchEverywhereSourceEl.setAttribute('data-prev', searchEverywhereSourceEl.value || '');
5191
5192 if (!searchEverywhereSourceEl.__wired) {
5193 searchEverywhereSourceEl.__wired = true;
5194 searchEverywhereSourceEl.addEventListener('change', () => {
5195 searchEverywhereSourceEl.setAttribute('data-prev', searchEverywhereSourceEl.value || '');
5196 });
5197 }
5198}
5199
5200function ensureSearchEverywhereModal() {
5201 if (searchEverywhereModal) return searchEverywhereModal;

Callers 2

Calls 3

tFunction · 0.85
formatSourceBadgeTextFunction · 0.85

Tested by

no test coverage detected