mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
35 lines
921 B
HTML
35 lines
921 B
HTML
<p>Please define the target widget note in the promoted attributes. The widget will be used to render the launchbar icon.</p>
|
|
|
|
<h4>Example launchbar widget</h4>
|
|
|
|
<pre>
|
|
const TPL = `<div style="height: 53px; width: 53px;"></div>`;
|
|
|
|
class ExampleLaunchbarWidget extends api.NoteContextAwareWidget {
|
|
doRender() {
|
|
this.$widget = $(TPL);
|
|
}
|
|
|
|
async refreshWithNote(note) {
|
|
this.$widget.css("background-color", this.stringToColor(note.title));
|
|
}
|
|
|
|
stringToColor(str) {
|
|
let hash = 0;
|
|
for (let i = 0; i < str.length; i++) {
|
|
hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
|
}
|
|
|
|
let color = '#';
|
|
for (let i = 0; i < 3; i++) {
|
|
const value = (hash >> (i * 8)) & 0xFF;
|
|
color += ('00' + value.toString(16)).substr(-2);
|
|
}
|
|
|
|
return color;
|
|
}
|
|
}
|
|
|
|
module.exports = new ExampleLaunchbarWidget();
|
|
</pre>
|