diff --git a/src/public/javascripts/services/glob.js b/src/public/javascripts/services/glob.js index 4567f1205..0730a4131 100644 --- a/src/public/javascripts/services/glob.js +++ b/src/public/javascripts/services/glob.js @@ -71,7 +71,7 @@ window.onerror = function (msg, url, lineNo, columnNo, error) { protectedSessionHolder.setProtectedSessionId(null); -for (const appCssNoteId of window.appCssNoteIds || []) { +for (const appCssNoteId of glob.appCssNoteIds || []) { libraryLoader.requireCss(`api/notes/download/${appCssNoteId}`); } diff --git a/src/public/javascripts/widgets/note_detail.js b/src/public/javascripts/widgets/note_detail.js index d19e20d9b..076fc6c17 100644 --- a/src/public/javascripts/widgets/note_detail.js +++ b/src/public/javascripts/widgets/note_detail.js @@ -101,7 +101,7 @@ export default class NoteDetailWidget extends TabAwareWidget { this.toggle(true); this.type = await this.getWidgetType(); - this.mime = this.note.mime; + this.mime = this.note ? this.note.mime : null; if (!(this.type in this.typeWidgets)) { const clazz = typeWidgetClasses[this.type]; @@ -164,6 +164,8 @@ export default class NoteDetailWidget extends TabAwareWidget { const noteComplement = await this.tabContext.getNoteComplement(); + console.log(note, noteComplement); + if (utils.isHtmlEmpty(noteComplement.content)) { type = 'book'; } diff --git a/src/public/javascripts/widgets/type_widgets/empty.js b/src/public/javascripts/widgets/type_widgets/empty.js index 5316040b9..b166b0527 100644 --- a/src/public/javascripts/widgets/type_widgets/empty.js +++ b/src/public/javascripts/widgets/type_widgets/empty.js @@ -36,10 +36,6 @@ export default class EmptyTypeWidget extends TypeWidget { return this.$widget; } - refresh() { - this.toggle(!this.tabContext.note); - } - getContent() {} focus() {} diff --git a/src/public/javascripts/widgets/type_widgets/type_widget.js b/src/public/javascripts/widgets/type_widgets/type_widget.js index c5edd622d..e42329286 100644 --- a/src/public/javascripts/widgets/type_widgets/type_widget.js +++ b/src/public/javascripts/widgets/type_widgets/type_widget.js @@ -1,6 +1,13 @@ import TabAwareWidget from "../tab_aware_widget.js"; export default class TypeWidget extends TabAwareWidget { + constructor(parent) { + super(parent); + + /** @var {NoteDetailWidget} */ + this.noteDetailWidget = parent; + } + // for overriding static getType() {} @@ -10,13 +17,9 @@ export default class TypeWidget extends TabAwareWidget { doRefresh(note) {} refresh() { - const note = this.tabContext.note; const widgetType = this.constructor.getType(); - if (!note - || (note.type !== widgetType - && (note.type !== 'text' || widgetType !== 'book') // text can be rendered as book if it does not have content - && (widgetType !== 'protected-session' || !note.isProtected))) { + if (widgetType !== this.noteDetailWidget.type) { this.toggle(false); this.cleanup(); @@ -24,7 +27,7 @@ export default class TypeWidget extends TabAwareWidget { else { this.toggle(true); - this.doRefresh(note); + this.doRefresh(this.note); } }