From a9cdd93cb425fdea97ddef407ceae822e4fe60eb Mon Sep 17 00:00:00 2001 From: zadam Date: Wed, 9 Aug 2023 22:50:41 +0200 Subject: [PATCH] added options to disable auto-opening of promoted attributes and edited notes ribbon tabs, closes #4151 --- .../widgets/ribbon_widgets/edited_notes.js | 5 ++- .../ribbon_widgets/promoted_attributes.js | 3 +- .../widgets/type_widgets/content_widget.js | 4 ++- .../type_widgets/options/appearance/ribbon.js | 34 +++++++++++++++++++ src/routes/api/options.js | 4 ++- src/services/options_init.js | 4 ++- 6 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 src/public/app/widgets/type_widgets/options/appearance/ribbon.js diff --git a/src/public/app/widgets/ribbon_widgets/edited_notes.js b/src/public/app/widgets/ribbon_widgets/edited_notes.js index 2cf1f4898..928cfcd06 100644 --- a/src/public/app/widgets/ribbon_widgets/edited_notes.js +++ b/src/public/app/widgets/ribbon_widgets/edited_notes.js @@ -2,6 +2,7 @@ import linkService from "../../services/link.js"; import server from "../../services/server.js"; import froca from "../../services/froca.js"; import NoteContextAwareWidget from "../note_context_aware_widget.js"; +import options from "../../services/options.js"; const TPL = `
@@ -34,7 +35,9 @@ export default class EditedNotesWidget extends NoteContextAwareWidget { return { show: this.isEnabled(), // promoted attributes have priority over edited notes - activate: this.note.getPromotedDefinitionAttributes().length === 0, + activate: + (this.note.getPromotedDefinitionAttributes().length === 0 || !options.is('promotedAttributesOpenInRibbon')) + && options.is('editedNotesOpenInRibbon'), title: 'Edited Notes', icon: 'bx bx-calendar-edit' }; diff --git a/src/public/app/widgets/ribbon_widgets/promoted_attributes.js b/src/public/app/widgets/ribbon_widgets/promoted_attributes.js index a346d76d5..2af449815 100644 --- a/src/public/app/widgets/ribbon_widgets/promoted_attributes.js +++ b/src/public/app/widgets/ribbon_widgets/promoted_attributes.js @@ -4,6 +4,7 @@ import treeService from "../../services/tree.js"; import noteAutocompleteService from "../../services/note_autocomplete.js"; import NoteContextAwareWidget from "../note_context_aware_widget.js"; import attributeService from "../../services/attributes.js"; +import options from "../../services/options.js"; const TPL = `
@@ -62,7 +63,7 @@ export default class PromotedAttributesWidget extends NoteContextAwareWidget { return { show: true, - activate: true, + activate: options.is('promotedAttributesOpenInRibbon'), title: "Promoted Attributes", icon: "bx bx-table" }; diff --git a/src/public/app/widgets/type_widgets/content_widget.js b/src/public/app/widgets/type_widgets/content_widget.js index 0529768f5..fe7f105af 100644 --- a/src/public/app/widgets/type_widgets/content_widget.js +++ b/src/public/app/widgets/type_widgets/content_widget.js @@ -31,6 +31,7 @@ import VacuumDatabaseOptions from "./options/advanced/vacuum_database.js"; import DatabaseAnonymizationOptions from "./options/advanced/database_anonymization.js"; import BackendLogWidget from "./content/backend_log.js"; import AttachmentErasureTimeoutOptions from "./options/other/attachment_erasure_timeout.js"; +import RibbonOptions from "./options/appearance/ribbon.js"; const TPL = `