mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
collapsible widget remember their collapsed state
This commit is contained in:
parent
4e0e2e8926
commit
26599f057c
@ -1,4 +1,5 @@
|
||||
import TabAwareWidget from "./tab_aware_widget.js";
|
||||
import options from "../services/options.js";
|
||||
|
||||
const WIDGET_TPL = `
|
||||
<div class="card widget">
|
||||
@ -33,7 +34,15 @@ export default class CollapsibleWidget extends TabAwareWidget {
|
||||
|
||||
this.$bodyWrapper = this.$widget.find('.body-wrapper');
|
||||
this.$bodyWrapper.attr('id', this.componentId); // for toggle to work we need id
|
||||
this.$bodyWrapper.collapse("show");
|
||||
|
||||
const widgetName = this.constructor.name;
|
||||
|
||||
if (!options.is(widgetName + 'Collapsed')) {
|
||||
this.$bodyWrapper.collapse("show");
|
||||
}
|
||||
|
||||
this.$bodyWrapper.on('hidden.bs.collapse', () => options.save(widgetName + 'Collapsed', 'true'));
|
||||
this.$bodyWrapper.on('shown.bs.collapse', () => options.save(widgetName + 'Collapsed', 'false'));
|
||||
|
||||
this.$body = this.$bodyWrapper.find('.card-body');
|
||||
|
||||
|
@ -107,7 +107,9 @@ async function getUserThemes() {
|
||||
}
|
||||
|
||||
function isAllowed(name) {
|
||||
return ALLOWED_OPTIONS.has(name) || name.startsWith("keyboardShortcuts");
|
||||
return ALLOWED_OPTIONS.has(name)
|
||||
|| name.startsWith("keyboardShortcuts")
|
||||
|| name.endsWith("Collapsed");
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
@ -41,13 +41,14 @@ async function getOptionBool(name) {
|
||||
async function setOption(name, value) {
|
||||
const option = await require('./repository').getOption(name);
|
||||
|
||||
if (!option) {
|
||||
throw new Error(`Option ${name} doesn't exist`);
|
||||
if (option) {
|
||||
option.value = value;
|
||||
|
||||
await option.save();
|
||||
}
|
||||
else {
|
||||
await createOption(name, value, false);
|
||||
}
|
||||
|
||||
option.value = value;
|
||||
|
||||
await option.save();
|
||||
}
|
||||
|
||||
async function createOption(name, value, isSynced) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user