({
app,
listEl,
items,
sourcePath,
translate,
onRemove,
}: RenderTaskModalProjectsListOptions)
| 118 | } |
| 119 | |
| 120 | export function renderTaskModalProjectsList({ |
| 121 | app, |
| 122 | listEl, |
| 123 | items, |
| 124 | sourcePath, |
| 125 | translate, |
| 126 | onRemove, |
| 127 | }: RenderTaskModalProjectsListOptions): void { |
| 128 | if (!listEl) { |
| 129 | return; |
| 130 | } |
| 131 | |
| 132 | listEl.empty(); |
| 133 | if (items.length === 0) { |
| 134 | return; |
| 135 | } |
| 136 | |
| 137 | const linkServices: LinkServices = { |
| 138 | metadataCache: app.metadataCache, |
| 139 | workspace: app.workspace, |
| 140 | }; |
| 141 | |
| 142 | for (const item of items) { |
| 143 | const projectItem = listEl.createDiv({ cls: "task-project-item" }); |
| 144 | |
| 145 | if (item.unresolved) { |
| 146 | projectItem.addClass("task-project-item--unresolved"); |
| 147 | } |
| 148 | |
| 149 | const infoEl = projectItem.createDiv({ cls: "task-project-info" }); |
| 150 | const nameEl = infoEl.createDiv({ cls: "task-project-name clickable-project" }); |
| 151 | |
| 152 | if (item.file) { |
| 153 | const projectAsWikilink = generateLinkWithDisplay( |
| 154 | app, |
| 155 | item.file, |
| 156 | sourcePath, |
| 157 | item.file.name |
| 158 | ); |
| 159 | renderProjectLinksWithoutPrefix(nameEl, [projectAsWikilink], linkServices); |
| 160 | |
| 161 | if (item.file.path !== item.file.name) { |
| 162 | infoEl.createDiv({ cls: "task-project-path", text: item.file.path }); |
| 163 | } |
| 164 | } else { |
| 165 | nameEl.textContent = item.name; |
| 166 | setTooltip( |
| 167 | nameEl, |
| 168 | translate("contextMenus.task.dependencies.notices.unresolved", { |
| 169 | name: item.name, |
| 170 | }), |
| 171 | { placement: "top" } |
| 172 | ); |
| 173 | } |
| 174 | |
| 175 | const removeBtn = projectItem.createEl("button", { |
| 176 | cls: "task-project-remove", |
| 177 | text: "×", |
no test coverage detected