diff --git a/services/web/frontend/js/features/source-editor/extensions/vertical-overflow.ts b/services/web/frontend/js/features/source-editor/extensions/vertical-overflow.ts index 3d01e88a12..1a46311082 100644 --- a/services/web/frontend/js/features/source-editor/extensions/vertical-overflow.ts +++ b/services/web/frontend/js/features/source-editor/extensions/vertical-overflow.ts @@ -202,8 +202,9 @@ class TopPaddingWidget extends WidgetType { return this.height === widget.height } - updateDOM(element: HTMLElement): boolean { + updateDOM(element: HTMLElement, view: EditorView): boolean { element.style.height = this.height + 'px' + view.requestMeasure() return true } } diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-graphics.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-graphics.ts index 645786e975..b49d7fbe08 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-graphics.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-graphics.ts @@ -37,6 +37,7 @@ export class EditableGraphicsWidget extends GraphicsWidget { return true } this.renderGraphic(element, view) + view.requestMeasure() return true } diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-inline-graphics.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-inline-graphics.ts index 18ff1462a5..bc65781a5e 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-inline-graphics.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/editable-inline-graphics.ts @@ -32,6 +32,7 @@ export class EditableInlineGraphicsWidget extends EditableGraphicsWidget { // We need to make sure these are updated, as `renderGraphic` in the base // class will update them on the inner element. this.updateElementData(element) + view.requestMeasure() return true } diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/graphics.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/graphics.ts index be9939c787..af66a436d5 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/graphics.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/graphics.ts @@ -55,6 +55,7 @@ export class GraphicsWidget extends WidgetType { return true } this.renderGraphic(element, view) + view.requestMeasure() return true } diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/maketitle.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/maketitle.ts index c2c43dfcf7..402c00675f 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/maketitle.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/maketitle.ts @@ -38,12 +38,13 @@ export class MakeTitleWidget extends WidgetType { ]) } - // TODO: needs view - // updateDOM(element: HTMLElement): boolean { - // this.destroyed = false - // this.buildContent(view, element) - // return true - // } + updateDOM(element: HTMLElement, view: EditorView): boolean { + this.destroyed = false + element.textContent = '' + this.buildContent(view, element) + view.requestMeasure() + return true + } ignoreEvent(event: Event) { return event.type !== 'mouseup' diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/math.ts b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/math.ts index c151073ac6..3a5cc96d69 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/math.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/math.ts @@ -29,11 +29,12 @@ export class MathWidget extends WidgetType { return widget.math === this.math && widget.displayMode === this.displayMode } - updateDOM(element: HTMLElement) { + updateDOM(element: HTMLElement, view: EditorView) { this.destroyed = false this.renderMath(element).catch(() => { element.classList.add('ol-cm-math-error') }) + view.requestMeasure() return true }