mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 17:38:47 +02:00
widgets now use options object
This commit is contained in:
parent
9622b046e0
commit
1f092c2656
@ -1,5 +1,6 @@
|
||||
import bundleService from "./bundle.js";
|
||||
import messagingService from "./messaging.js";
|
||||
import optionsService from "./options.js";
|
||||
|
||||
class Sidebar {
|
||||
/**
|
||||
@ -61,6 +62,8 @@ class Sidebar {
|
||||
import("../widgets/what_links_here.js")
|
||||
])).map(m => m.default);
|
||||
|
||||
const options = await optionsService.waitForOptions();
|
||||
|
||||
const widgetRelations = await this.ctx.note.getRelations('widget');
|
||||
|
||||
for (const widgetRelation of widgetRelations) {
|
||||
@ -73,7 +76,7 @@ class Sidebar {
|
||||
const state = (this.state.widgets || []).find(s => s.name === widgetClass.name);
|
||||
|
||||
try {
|
||||
const widget = new widgetClass(this.ctx, state);
|
||||
const widget = new widgetClass(this.ctx, options, state);
|
||||
|
||||
if (await widget.isEnabled()) {
|
||||
const $el = await widget.render();
|
||||
|
@ -19,10 +19,12 @@ const WIDGET_TPL = `
|
||||
class StandardWidget {
|
||||
/**
|
||||
* @param {TabContext} ctx
|
||||
* @param {Options} options
|
||||
* @param {object} state
|
||||
*/
|
||||
constructor(ctx, state) {
|
||||
constructor(ctx, options, state) {
|
||||
this.ctx = ctx;
|
||||
this.options = options;
|
||||
this.state = state;
|
||||
// construct in camelCase
|
||||
this.widgetName = this.constructor.name.substr(0, 1).toLowerCase() + this.constructor.name.substr(1);
|
||||
@ -84,7 +86,7 @@ class StandardWidget {
|
||||
async doRenderBody() {}
|
||||
|
||||
async isEnabled() {
|
||||
const option = await optionsService.getJsonOption(this.widgetName + 'Widget');
|
||||
const option = this.options.getJson(this.widgetName + 'Widget');
|
||||
|
||||
return option ? option.enabled : true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user