(root: JQuery, list: PopulateItem[])
| 105 | } |
| 106 | |
| 107 | private static populate(root: JQuery, list: PopulateItem[]) { |
| 108 | root.find('li:not(.template)').remove(); |
| 109 | const template = root.find('.template'); |
| 110 | for (const elem of list) { |
| 111 | const clone = template.clone(); |
| 112 | clone.removeClass('template').appendTo(root).find('a').text(elem.name).on('click', elem.load); |
| 113 | const deleteButton = clone.find('button.delete'); |
| 114 | if (elem.delete !== undefined) { |
| 115 | deleteButton.on('click', () => elem.delete?.()); |
| 116 | } |
| 117 | const overwriteButton = clone.find('button.overwrite'); |
| 118 | if (elem.overwrite !== undefined) { |
| 119 | overwriteButton.on('click', () => elem.overwrite?.()); |
| 120 | } |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | private async populateBuiltins() { |
| 125 | const builtins = (await this.fetchBuiltins()).filter(entry => this.currentLanguage?.id === entry.lang); |
no test coverage detected