diff --git a/projects/common/components/geometry/geometry.component.ts b/projects/common/components/geometry/geometry.component.ts index 569afb3769ad1b759f77509bfa8c701db0906863..3288f376ee36767331a6012ec10352b497ea626b 100644 --- a/projects/common/components/geometry/geometry.component.ts +++ b/projects/common/components/geometry/geometry.component.ts @@ -17,6 +17,7 @@ declare const GGBApplet: any; <div [id]="elementModel.id" class="geogebra-applet"></div> <button *ngIf="this.elementModel.showResetIcon" mat-icon-button + [style.top.px]="this.elementModel.showToolbar ? 50 : 0" class="reset-button" (click)="reset()"> <mat-icon class="reset-icon">restart_alt</mat-icon> @@ -28,7 +29,7 @@ declare const GGBApplet: any; ':host {display: block; width: 100%; height: 100%;}', '.geogebra-applet {margin: auto;}', '.geogebra-container {position: relative;}', - '.reset-button {position: absolute; top: 0; right: 0; z-index: 100; margin: 5px;}', + '.reset-button {position: absolute; right: 0; z-index: 100; margin: 5px;}', '.reset-icon {font-size: 30px !important;}' ] }) @@ -88,12 +89,12 @@ export class GeometryComponent extends ElementComponent implements AfterViewInit width: this.elementModel.width, height: this.elementModel.height, showToolBar: this.elementModel.showToolbar, - showResetIcon: false, enableShiftDragZoom: this.elementModel.enableShiftDragZoom, showZoomButtons: this.elementModel.showZoomButtons, showFullscreenButton: this.elementModel.showFullscreenButton, customToolBar: this.elementModel.customToolBar, - enableUndoRedo: false, + enableUndoRedo: this.elementModel.enableUndoRedo, + showResetIcon: false, // use custom html button icon showMenuBar: false, showAlgebraInput: false, enableLabelDrags: false, diff --git a/projects/common/models/elements/geometry/geometry.ts b/projects/common/models/elements/geometry/geometry.ts index ee941e72541e622da971a2043ec1ea41d749a646..2f9786e7625ab39a8839995a47f88ef504b9b05e 100644 --- a/projects/common/models/elements/geometry/geometry.ts +++ b/projects/common/models/elements/geometry/geometry.ts @@ -10,6 +10,7 @@ export class GeometryElement extends UIElement implements PositionedUIElement { width: number = 600; height: number = 400; showResetIcon: boolean = true; + enableUndoRedo: boolean = true; showToolbar: boolean = true; enableShiftDragZoom: boolean = true; showZoomButtons: boolean = true; @@ -23,6 +24,7 @@ export class GeometryElement extends UIElement implements PositionedUIElement { this.width = element.width !== undefined ? element.width : 600; this.height = element.height !== undefined ? element.height : 400; this.showResetIcon = element.showResetIcon !== undefined ? element.showResetIcon : true; + this.enableUndoRedo = element.enableUndoRedo !== undefined ? element.enableUndoRedo : true; this.showToolbar = element.showToolbar !== undefined ? element.showToolbar : true; this.enableShiftDragZoom = element.enableShiftDragZoom !== undefined ? element.enableShiftDragZoom : true; this.showZoomButtons = element.showZoomButtons !== undefined ? element.showZoomButtons : true; diff --git a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html index 5a1e7ea33d67f59216beddb5d7558f8c970a4ed8..3b3c189147e7b05f6b47ff99f6bb77edbeea1e25 100644 --- a/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html +++ b/projects/editor/src/app/components/properties-panel/model-properties-tab/element-model-properties.component.html @@ -171,6 +171,11 @@ (change)="updateModel.emit({ property: 'showResetIcon', value: $event.checked })"> {{'propertiesPanel.showResetIcon' | translate }} </mat-checkbox> + <mat-checkbox *ngIf="combinedProperties.enableUndoRedo !== undefined" + [checked]="$any(combinedProperties.enableUndoRedo)" + (change)="updateModel.emit({ property: 'enableUndoRedo', value: $event.checked })"> + {{'propertiesPanel.enableUndoRedo' | translate }} + </mat-checkbox> <mat-checkbox *ngIf="combinedProperties.showToolbar !== undefined" [checked]="$any(combinedProperties.showToolbar)" (change)="updateModel.emit({ property: 'showToolbar', value: $event.checked })"> diff --git a/projects/editor/src/assets/i18n/de.json b/projects/editor/src/assets/i18n/de.json index f702ac3647037b9bd6e8a8a17fe9bf4d27525bdd..7fd4aec89190cfc158306438e6110671606f390e 100644 --- a/projects/editor/src/assets/i18n/de.json +++ b/projects/editor/src/assets/i18n/de.json @@ -177,6 +177,7 @@ "hasBorderLeft": "Kante links", "hasBorderRight": "Kante rechts", "showResetIcon": "Zurücksetzen-Knopf anzeigen", + "enableUndoRedo": "Schritt rückgängig/wiederherstellen", "showToolbar": "Werkzeugleiste anzeigen", "showZoomButtons": "Zoom-Knöpfe anzeigen", "showFullscreenButton": "Vollbild-Knopf anzeigen",