import libraryLoader from "../../services/library_loader.js"; import server from "../../services/server.js"; import optionsService from "../../services/options.js"; const TPL = `

Widgets

Enabled widgets
Disabled widgets
`; export default class SidebarOptions { constructor() { $("#options-sidebar").html(TPL); this.$widgetsConfiguration = $("#widgets-configuration"); this.$widgetsEnabled = $("#widgets-enabled"); this.$widgetsDisabled = $("#widgets-disabled"); } async optionsLoaded(options) { this.$widgetsEnabled.empty(); this.$widgetsDisabled.empty(); const widgets = [ {name: 'attributes', title: 'Attributes'}, {name: 'linkMap', title: 'Link map'}, {name: 'noteInfo', title: 'Note info'}, {name: 'noteRevisions', title: 'Note revisions'}, {name: 'whatLinksHere', title: 'What links here'}, {name: 'similarNotes', title: 'Similar notes'}, {name: 'editedNotes', title: 'Edited notes (only on day note)'}, {name: 'calendar', title: 'Calendar (only on day note)'} ].map(widget => { widget.option = this.parseJsonSafely(options[widget.name + 'Widget']) || { enabled: true, expanded: true, position: 1000 }; return widget; }); widgets.sort((a, b) => a.option.position - b.option.position); for (const {name, title, option} of widgets) { const $widgetTitle = $('
') .attr('data-widget-name', name) .append($("").addClass("handle bx bx-move")) .append($("").text(title)); const $expandedCheckbox = $('
') .attr("title", "If checked, the widget will be by default expanded (opened)") .append($(``) .attr('id', 'widget-exp-' + name) .on('change', () => this.save())) .append(" ") .append($("