From 72b27749f36cb454a70e150884a9e885dedd4cd5 Mon Sep 17 00:00:00 2001 From: rhenck <richard.henck@iqb.hu-berlin.de> Date: Thu, 11 Jul 2024 16:33:33 +0200 Subject: [PATCH] [editor] Make TextEditor and sub-components standalone So they work within standalone dialogs. --- projects/editor/src/app/app.module.ts | 6 ++--- .../components/util/combo-button.component.ts | 15 +++++++++++ .../text-editor/rich-text-editor.component.ts | 25 +++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/projects/editor/src/app/app.module.ts b/projects/editor/src/app/app.module.ts index 8c6fbc5d9..502c70ec9 100644 --- a/projects/editor/src/app/app.module.ts +++ b/projects/editor/src/app/app.module.ts @@ -112,7 +112,6 @@ import { LikertRowLabelPipe } from './components/properties-panel/likert-row-lab import { LabelEditDialogComponent } from './components/dialogs/label-edit-dialog.component'; import { GeogebraAppDefinitionDialogComponent } from './components/dialogs/geogebra-app-definition-dialog.component'; import { SizeInputPanelComponent } from './components/util/size-input-panel.component'; -import { ComboButtonComponent } from './components/util/combo-button.component'; import { DeleteReferenceDialogComponent } from './components/dialogs/delete-reference-dialog.component'; import { SanitizationDialogComponent } from './components/dialogs/sanitization-dialog.component'; import { CheckboxNodeviewComponent } from './text-editor/angular-node-views/checkbox-nodeview.component'; @@ -149,7 +148,6 @@ export const myCustomTooltipDefaults: MatTooltipDefaultOptions = { UnitViewComponent, CanvasComponent, ElementPropertiesPanelComponent, - RichTextEditorComponent, ToggleButtonNodeviewComponent, TextFieldNodeviewComponent, CheckboxNodeviewComponent, @@ -182,7 +180,6 @@ export const myCustomTooltipDefaults: MatTooltipDefaultOptions = { GetAnchorIdsPipe, GetStateVariablePipe, ScrollPageIndexPipe, - ComboButtonComponent, DeleteReferenceDialogComponent, VisibilityRuleEditorComponent, StateVariablesDialogComponent, @@ -239,7 +236,8 @@ export const myCustomTooltipDefaults: MatTooltipDefaultOptions = { ElementListComponent, SizeInputPanelComponent, MeasurePipe, - SectionComponent + SectionComponent, + RichTextEditorComponent ], providers: [ { provide: APIService, useExisting: VeronaAPIService }, diff --git a/projects/editor/src/app/components/util/combo-button.component.ts b/projects/editor/src/app/components/util/combo-button.component.ts index 30414da18..c012a28a8 100644 --- a/projects/editor/src/app/components/util/combo-button.component.ts +++ b/projects/editor/src/app/components/util/combo-button.component.ts @@ -1,9 +1,24 @@ import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core'; +import { MatButtonModule } from '@angular/material/button'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatInputModule } from '@angular/material/input'; +import { MatSelectModule } from '@angular/material/select'; +import { NgForOf } from '@angular/common'; +import { MatIconModule } from '@angular/material/icon'; @Component({ selector: 'aspect-combo-button', + standalone: true, + imports: [ + NgForOf, + MatButtonModule, + MatTooltipModule, + MatInputModule, + MatSelectModule, + MatIconModule + ], template: ` <div class="wrapper"> <button class="apply-button" mat-button [matTooltip]="tooltip" diff --git a/projects/editor/src/app/text-editor/rich-text-editor.component.ts b/projects/editor/src/app/text-editor/rich-text-editor.component.ts index ec28eaa7c..9293f7e3c 100644 --- a/projects/editor/src/app/text-editor/rich-text-editor.component.ts +++ b/projects/editor/src/app/text-editor/rich-text-editor.component.ts @@ -36,9 +36,34 @@ import ToggleButtonComponentExtension from './angular-node-views/toggle-button-c import DropListComponentExtension from './angular-node-views/drop-list-component-extension'; import TextFieldComponentExtension from './angular-node-views/text-field-component-extension'; import CheckboxComponentExtension from './angular-node-views/checkbox-component-extension'; +import { MatButtonModule } from '@angular/material/button'; +import { MatTooltipModule } from '@angular/material/tooltip'; +import { MatIconModule } from '@angular/material/icon'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatSelectModule } from '@angular/material/select'; +import { ComboButtonComponent } from 'editor/src/app/components/util/combo-button.component'; +import { NgIf } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { MatInputModule } from '@angular/material/input'; +import { MatMenuModule } from '@angular/material/menu'; +import { NgxTiptapModule } from 'ngx-tiptap'; @Component({ selector: 'aspect-rich-text-editor', + standalone: true, + imports: [ + NgIf, + MatButtonModule, + MatTooltipModule, + MatIconModule, + MatFormFieldModule, + MatSelectModule, + ComboButtonComponent, + FormsModule, + MatInputModule, + MatMenuModule, + NgxTiptapModule + ], templateUrl: './rich-text-editor.component.html', styleUrls: ['./rich-text-editor.component.scss'] }) -- GitLab