| 144 | } |
| 145 | |
| 146 | private importSelected() { |
| 147 | if (this.selectedIds.size === 0) { |
| 148 | new Notice("Select at least one model."); |
| 149 | return; |
| 150 | } |
| 151 | try { |
| 152 | const selection = this.allModels.filter((m) => this.selectedIds.has(m.name)); |
| 153 | const qaModels = selection.map((model) => ({ ...model })); |
| 154 | if (!qaModels.length) { |
| 155 | new Notice("No models selected to import."); |
| 156 | return; |
| 157 | } |
| 158 | this.resolved = true; |
| 159 | this.resolvePromise({ imported: qaModels, mode: this.mode }); |
| 160 | this.close(); |
| 161 | } catch (err) { |
| 162 | new Notice(`Import failed: ${(err as { message?: string }).message ?? err}`); |
| 163 | } |
| 164 | } |
| 165 | |
| 166 | onClose(): void { |
| 167 | if (!this.resolved) { |