Various AT Protocol integrations with obsidian
20
fork

Configure Feed

Select the types of activity you want to include in your feed.

filter collectiosn when editing

+17
+17
src/components/editItemModal.ts
··· 160 160 const collectionsGroup = form.createEl("div", { cls: "atmosphere-form-group" }); 161 161 collectionsGroup.createEl("label", { text: "Collections" }); 162 162 163 + const searchInput = collectionsGroup.createEl("input", { 164 + type: "text", 165 + cls: "atmosphere-input atmosphere-collection-search", 166 + attr: { placeholder: "Search collections..." }, 167 + }); 168 + 163 169 const collectionsList = collectionsGroup.createEl("div", { cls: "atmosphere-collection-list" }); 170 + 171 + const rows: { el: HTMLElement; name: string }[] = []; 164 172 for (const state of this.collectionStates) { 165 173 const item = collectionsList.createEl("label", { cls: "atmosphere-collection-item" }); 166 174 ··· 176 184 177 185 const sourceIcon = item.createEl("span", { cls: "atmosphere-collection-source-icon" }); 178 186 setIcon(sourceIcon, state.source === "semble" ? "atmosphere-semble" : "atmosphere-margin"); 187 + 188 + rows.push({ el: item, name: state.name.toLowerCase() }); 179 189 } 190 + 191 + searchInput.addEventListener("input", () => { 192 + const query = searchInput.value.toLowerCase(); 193 + for (const row of rows) { 194 + row.el.style.display = row.name.includes(query) ? "" : "none"; 195 + } 196 + }); 180 197 } 181 198 182 199 const actions = contentEl.createEl("div", { cls: "atmosphere-modal-actions" });