|
import { AutoCompleteOption } from './AutoCompleteOption.js'; |
|
|
|
export class MacroAutoCompleteOption extends AutoCompleteOption { |
|
fullName; |
|
description; |
|
|
|
|
|
constructor(name, fullName, description) { |
|
super(name, '{}'); |
|
this.fullName = fullName; |
|
this.description = description; |
|
this.nameOffset = 2; |
|
} |
|
|
|
|
|
renderItem() { |
|
let li; |
|
li = this.makeItem(`${this.fullName}`, '{}', true, [], [], null, this.description); |
|
li.setAttribute('data-name', this.name); |
|
li.setAttribute('data-option-type', 'macro'); |
|
return li; |
|
} |
|
|
|
|
|
renderDetails() { |
|
const frag = document.createDocumentFragment(); |
|
const specs = document.createElement('div'); { |
|
specs.classList.add('specs'); |
|
const name = document.createElement('div'); { |
|
name.classList.add('name'); |
|
name.classList.add('monospace'); |
|
name.textContent = this.fullName; |
|
specs.append(name); |
|
} |
|
frag.append(specs); |
|
} |
|
const help = document.createElement('span'); { |
|
help.classList.add('help'); |
|
help.innerHTML = this.description; |
|
frag.append(help); |
|
} |
|
return frag; |
|
} |
|
} |
|
|