From 92162ecb1cbec8badc2dd40e9980fc60f5b31ad9 Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 22:31:26 +0200 Subject: [PATCH 1/8] split editor into two panes --- .../src/app/core/api/generate.api.ts | 2 +- .../core/two-columns/two-columns.component.ts | 32 ++++- .../editor-header-name.component.ts | 2 +- .../editor-left-pane-header.component.ts | 86 +++++++------ .../editor-right-pane-header.component.ts | 89 ++++++++------ .../editor-menu/editor-menu.service.ts | 4 +- .../editor-pdf-viewer.component.ts | 2 +- .../editor-pdf-viewer.service.ts | 6 +- .../src/app/features/editor/editor.page.ts | 114 ++++++++++-------- .../editor-pdf-generation-profiles.service.ts | 2 +- .../editor-responsiveness.service.ts | 0 .../{ => services}/editor-settings.service.ts | 0 .../{ => services}/editor-state.service.ts | 2 +- .../tabs/attachments/attachment.component.ts | 2 +- .../tabs/attachments/attachments.tab.ts | 2 +- .../deleted-attachments.service.ts | 2 +- .../base/cii-form-control.component.ts | 2 +- .../cii-form-parent-container.component.ts | 2 +- ...icable-header-trade-agreement.component.ts | 2 +- ...licable-header-trade-delivery.component.ts | 2 +- ...cable-header-trade-settlement.component.ts | 2 +- ...yer-order-referenced-document.component.ts | 2 +- ...-specified-legal-organization.component.ts | 2 +- .../cii-form-buyer-trade-party.component.ts | 2 +- ...rm-exchanged-document-context.component.ts | 2 +- .../cii-form-exchanged-document.component.ts | 2 +- ...seller-trade-party-postal-trade-address.ts | 2 +- ...-specified-legal-organization.component.ts | 2 +- ...-trade-party-specified-tax-registration.ts | 2 +- .../cii-form-seller-trade-party.component.ts | 2 +- ...ent-header-monetary-summation.component.ts | 2 +- ...upply-chain-trade-transaction.component.ts | 2 +- .../tabs/cii/cii-form/cii-form.component.ts | 2 +- .../tabs/cii/cii-form/cii-form.service.ts | 2 +- .../cii-menu-details-dropdown.component.ts | 2 +- .../tabs/cii/cii-menu/cii-menu.component.ts | 2 +- .../cii-summary-control.component.ts | 2 +- .../cii/cii-summary/cii-summary.component.ts | 2 +- .../app/features/editor/tabs/cii/cii.tab.ts | 6 +- .../tabs/settings/editor-settings.tab.ts | 2 +- .../editor-settings-general.tab.ts | 2 +- ...tor-settings-pdf-profile-form.component.ts | 2 +- .../editor-settings-pdf-profile-create.tab.ts | 2 +- .../editor-settings-pdf-profile-edit.tab.ts | 2 +- .../editor-settings-pdf-profiles.tab.ts | 2 +- .../tabs/xmp/xmp-form/xmp-form.component.ts | 2 +- .../tabs/xmp/xmp-form/xmp-form.service.ts | 2 +- .../app/features/editor/tabs/xmp/xmp.tab.ts | 6 +- 48 files changed, 239 insertions(+), 180 deletions(-) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{ => services}/editor-pdf-generation-profiles.service.ts (98%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{ => services}/editor-responsiveness.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{ => services}/editor-settings.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{ => services}/editor-state.service.ts (98%) diff --git a/src/FacturXDotNet.WebEditor/src/app/core/api/generate.api.ts b/src/FacturXDotNet.WebEditor/src/app/core/api/generate.api.ts index e91abd1a..4ad6bb65 100644 --- a/src/FacturXDotNet.WebEditor/src/app/core/api/generate.api.ts +++ b/src/FacturXDotNet.WebEditor/src/app/core/api/generate.api.ts @@ -3,7 +3,7 @@ import { HttpClient, HttpHeaders } from '@angular/common/http'; import { map, Observable } from 'rxjs'; import { API_BASE_URL } from '../../app.config'; import { CrossIndustryInvoice, ICrossIndustryInvoice, IXmpMetadata, StandardPdfGeneratorLanguagePackDto } from './api.models'; -import { EditorStateAttachment } from '../../features/editor/editor-state.service'; +import { EditorStateAttachment } from '../../features/editor/services/editor-state.service'; @Injectable({ providedIn: 'root', diff --git a/src/FacturXDotNet.WebEditor/src/app/core/two-columns/two-columns.component.ts b/src/FacturXDotNet.WebEditor/src/app/core/two-columns/two-columns.component.ts index a3b7ceb2..735d1a9b 100644 --- a/src/FacturXDotNet.WebEditor/src/app/core/two-columns/two-columns.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/core/two-columns/two-columns.component.ts @@ -6,7 +6,7 @@ import { NgStyle } from '@angular/common'; imports: [NgStyle], template: `
-
+
}
-
+
@@ -33,6 +33,8 @@ import { NgStyle } from '@angular/common'; }) export class TwoColumnsComponent { rightColumnWidth = model.required(); + leftColumnMinWidth = input(undefined, { transform: numberAttribute }); + rightColumnMinWidth = input(undefined, { transform: numberAttribute }); resizeHandleWidth = input(16, { transform: numberAttribute }); draggable = input(false, { transform: booleanAttribute }); dragging = output(); @@ -100,10 +102,10 @@ export class TwoColumnsComponent { } if (this.resizing) { - const width = this.totalWidth(); + const totalWidth = this.totalWidth(); const x = event.type === 'mousemove' ? (event as MouseEvent).clientX : (event as TouchEvent).touches[0].clientX; - const newWidth = width - x - this.resizeHandleWidth() / 2; - this.rightColumnWidth.set(newWidth); + const newWidth = totalWidth - x - this.resizeHandleWidth() / 2; + this.setRightColumnWidth(newWidth); } } @@ -112,4 +114,24 @@ export class TwoColumnsComponent { this.resizing = false; this.dragging.emit(false); } + + private setRightColumnWidth(width: number) { + let finalWidth = width; + + const rightColumnMinWidth = this.rightColumnMinWidth(); + if (rightColumnMinWidth !== undefined && finalWidth < rightColumnMinWidth) { + finalWidth = rightColumnMinWidth; + } + + const leftColumnMinWidth = this.leftColumnMinWidth(); + if (leftColumnMinWidth !== undefined) { + const totalWidth = this.totalWidth(); + const leftColumnWidth = totalWidth - finalWidth - this.resizeHandleWidth(); + if (leftColumnWidth < leftColumnMinWidth) { + finalWidth = totalWidth - leftColumnMinWidth - this.resizeHandleWidth(); + } + } + + this.rightColumnWidth.set(finalWidth); + } } diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-header-name.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-header-name.component.ts index 35836ed6..bac8fa61 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-header-name.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-header-name.component.ts @@ -1,5 +1,5 @@ import { Component, inject, input, signal } from '@angular/core'; -import { EditorStateService } from '../../editor-state.service'; +import { EditorStateService } from '../../services/editor-state.service'; import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'; import { NgStyle } from '@angular/common'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-left-pane-header.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-left-pane-header.component.ts index f8b3439a..d5a09f9e 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-left-pane-header.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-left-pane-header.component.ts @@ -1,53 +1,59 @@ import { Component, computed, inject, input } from '@angular/core'; -import { EditorSavedState } from '../../editor-state.service'; -import { EditorSettings } from '../../editor-settings.service'; +import { EditorSavedState } from '../../services/editor-state.service'; +import { EditorSettings } from '../../services/editor-settings.service'; import { NavigationEnd, Router, RouterLink } from '@angular/router'; import { NgbNav, NgbNavItem, NgbNavLink, NgbNavLinkBase } from '@ng-bootstrap/ng-bootstrap'; import { FormsModule } from '@angular/forms'; -import { EditorResponsivenessService } from '../../editor-responsiveness.service'; +import { EditorResponsivenessService } from '../../services/editor-responsiveness.service'; import { toSignal } from '@angular/core/rxjs-interop'; import { distinct, distinctUntilChanged, filter, map } from 'rxjs'; +import { EditorHeaderNameComponent } from './editor-header-name.component'; @Component({ selector: 'app-editor-left-pane-header', - imports: [NgbNav, NgbNavItem, NgbNavLink, RouterLink, FormsModule, NgbNavLinkBase], + imports: [NgbNav, NgbNavItem, NgbNavLink, RouterLink, FormsModule, NgbNavLinkBase, EditorHeaderNameComponent], template: ` - + `, }) export class EditorLeftPaneHeaderComponent { diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts index 0eaf9cbe..507eb0e7 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts @@ -1,47 +1,61 @@ -import { Component, inject, model } from '@angular/core'; +import { Component, computed, inject, model } from '@angular/core'; import { NgbNav, NgbNavItem, NgbNavLinkButton } from '@ng-bootstrap/ng-bootstrap'; -import { PdfModel } from '../../editor-settings.service'; +import { PdfModel } from '../../services/editor-settings.service'; import { EditorPdfViewerService } from '../editor-pdf-viewer/editor-pdf-viewer.service'; -import { EditorPdfGenerationProfilesService } from '../../editor-pdf-generation-profiles.service'; -import { RouterLink } from '@angular/router'; +import { EditorPdfGenerationProfile, EditorPdfGenerationProfilesService } from '../../services/editor-pdf-generation-profiles.service'; +import { Router, RouterLink } from '@angular/router'; +import { FormsModule } from '@angular/forms'; @Component({ selector: 'app-editor-right-pane-header', - imports: [NgbNav, NgbNavItem, NgbNavLinkButton, RouterLink], + imports: [NgbNav, NgbNavItem, NgbNavLinkButton, FormsModule, RouterLink], template: ` -
- PDF - - - @if (tab() === 'generated') { - @if (selectedProfile(); as selectedProfile) { -
- Current profile: {{ selectedProfile.name }} - Change profile -
- } @else { - Customize generation - } - -
+
+
+ PDF + +
-
- @if (pdf.isLoading()) { -
- Loading... +
+ @if (tab() === 'generated') { + @if (profiles().length > 0) { +
+
+ +
+
+ +
} @else { - + } -
- } + +
+ +
+ @if (pdf.isLoading()) { +
+ Loading... +
+ } @else { + + } +
+ } +
`, styles: ``, @@ -49,13 +63,20 @@ import { RouterLink } from '@angular/router'; export class EditorRightPaneHeaderComponent { tab = model.required(); + private router: Router = inject(Router); private editorPdfViewerService = inject(EditorPdfViewerService); protected pdf = this.editorPdfViewerService.pdf; private editorPdfGenerationProfilesService = inject(EditorPdfGenerationProfilesService); + protected profiles = computed(() => Object.values(this.editorPdfGenerationProfilesService.profiles())); protected selectedProfile = this.editorPdfGenerationProfilesService.selectedProfile; protected regeneratePdf() { this.editorPdfViewerService.regenerateAndDisplayGeneratedPdf(); } + + protected async changeProfile(newProfile: EditorPdfGenerationProfile | undefined) { + this.editorPdfGenerationProfilesService.selectProfile(newProfile?.id); + this.regeneratePdf(); + } } diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts index bb39b1ef..f4caefa4 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts @@ -7,9 +7,9 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { downloadBlob, downloadFile } from '../../../../core/utils/download-blob'; import { GenerateApi } from '../../../../core/api/generate.api'; import { CiiFormService } from '../../tabs/cii/cii-form/cii-form.service'; -import { EditorStateService } from '../../editor-state.service'; +import { EditorStateService } from '../../services/editor-state.service'; import * as pdf from 'pdfjs-dist'; -import { EditorSettingsService } from '../../editor-settings.service'; +import { EditorSettingsService } from '../../services/editor-settings.service'; import { EditorPdfViewerService } from '../editor-pdf-viewer/editor-pdf-viewer.service'; @Injectable({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts index f721a9c0..b039d162 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts @@ -1,7 +1,7 @@ import { Component, computed, inject, input, linkedSignal } from '@angular/core'; import { PdfViewerComponent } from './pdf-viewer.component'; import { ToastService } from '../../../../core/toasts/toast.service'; -import { EditorSettingsService, PdfModel } from '../../editor-settings.service'; +import { EditorSettingsService, PdfModel } from '../../services/editor-settings.service'; import { EditorMenuService } from '../editor-menu/editor-menu.service'; import { HttpErrorResponse } from '@angular/common/http'; import { EditorPdfViewerService } from './editor-pdf-viewer.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts index 7c2ce22d..d63151bf 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts @@ -1,10 +1,10 @@ import { computed, DestroyRef, inject, Injectable, resource, Resource } from '@angular/core'; -import { EditorSavedState, EditorStateService } from '../../editor-state.service'; +import { EditorSavedState, EditorStateService } from '../../services/editor-state.service'; import { firstValueFrom, map } from 'rxjs'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; -import { EditorSettingsService } from '../../editor-settings.service'; +import { EditorSettingsService } from '../../services/editor-settings.service'; import { GenerateApi, GenerateStandardPdfOptions } from '../../../../core/api/generate.api'; -import { EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../editor-pdf-generation-profiles.service'; +import { EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../services/editor-pdf-generation-profiles.service'; import { IStandardPdfGeneratorLanguagePackDto, StandardPdfGeneratorLanguagePackDto } from '../../../../core/api/api.models'; @Injectable({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts index cfd39047..6fccbc77 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts @@ -1,21 +1,21 @@ -import {Component, computed, effect, HostListener, inject, linkedSignal, Resource, signal, Signal} from '@angular/core'; -import {NgOptimizedImage} from '@angular/common'; -import {EditorSettings, EditorSettingsService, PdfModel} from './editor-settings.service'; -import {EditorMenuComponent} from './components/editor-menu/editor-menu.component'; -import {FormsModule} from '@angular/forms'; -import {TwoColumnsComponent} from '../../core/two-columns/two-columns.component'; -import {EditorSavedState, EditorStateService} from './editor-state.service'; -import {EditorLeftPaneHeaderComponent} from './components/editor-header/editor-left-pane-header.component'; -import {EditorWelcomeComponent} from './editor-welcome.component'; -import {API_BASE_URL} from '../../app.config'; -import {ApiServerStatusComponent} from '../../core/api/components/api-server-status.component'; -import {ApiConstantsService} from '../../core/api/services/api-constants.service'; -import {EditorMenuService} from './components/editor-menu/editor-menu.service'; -import {RouterOutlet} from '@angular/router'; -import {EditorPdfViewerComponent} from './components/editor-pdf-viewer/editor-pdf-viewer.component'; -import {EditorHeaderNameComponent} from './components/editor-header/editor-header-name.component'; -import {EditorRightPaneHeaderComponent} from './components/editor-header/editor-right-pane-header.component'; -import {EditorResponsivenessService} from './editor-responsiveness.service'; +import { Component, computed, effect, HostListener, inject, linkedSignal, Resource, signal, Signal } from '@angular/core'; +import { NgOptimizedImage } from '@angular/common'; +import { EditorSettings, EditorSettingsService, PdfModel } from './services/editor-settings.service'; +import { EditorMenuComponent } from './components/editor-menu/editor-menu.component'; +import { FormsModule } from '@angular/forms'; +import { TwoColumnsComponent } from '../../core/two-columns/two-columns.component'; +import { EditorSavedState, EditorStateService } from './services/editor-state.service'; +import { EditorLeftPaneHeaderComponent } from './components/editor-header/editor-left-pane-header.component'; +import { EditorWelcomeComponent } from './editor-welcome.component'; +import { API_BASE_URL } from '../../app.config'; +import { ApiServerStatusComponent } from '../../core/api/components/api-server-status.component'; +import { ApiConstantsService } from '../../core/api/services/api-constants.service'; +import { EditorMenuService } from './components/editor-menu/editor-menu.service'; +import { RouterOutlet } from '@angular/router'; +import { EditorPdfViewerComponent } from './components/editor-pdf-viewer/editor-pdf-viewer.component'; +import { EditorHeaderNameComponent } from './components/editor-header/editor-header-name.component'; +import { EditorRightPaneHeaderComponent } from './components/editor-header/editor-right-pane-header.component'; +import { EditorResponsivenessService } from './services/editor-responsiveness.service'; @Component({ selector: 'app-editor', @@ -29,11 +29,10 @@ import {EditorResponsivenessService} from './editor-responsiveness.service'; ApiServerStatusComponent, RouterOutlet, EditorPdfViewerComponent, - EditorHeaderNameComponent, EditorRightPaneHeaderComponent, ], template: ` -
+
@@ -57,8 +56,8 @@ import {EditorResponsivenessService} from './editor-responsiveness.service';
-
- @if (isImporting() || isExporting()) { + @if (isImporting() || isExporting()) { +
@@ -76,47 +75,58 @@ import {EditorResponsivenessService} from './editor-responsiveness.service';
- } +
+ } - @if (state.value(); as value) { -
-
- -
-
- -
- + @if (state.value(); as value) { +
+ +
+
+
+
+ +
+
+
+
-
+
+
+
+
+
- -
-
- -
- -
- -
-
- +
+ +
-
-
- } @else if (state.isLoading()) { +
+ +
+ } @else if (state.isLoading()) { +
Loading...
- } @else { +
+ } @else { +
- } -
+ + }
@@ -131,8 +141,8 @@ import {EditorResponsivenessService} from './editor-responsiveness.service';
- © 2025 Ismail Bennani, made with and . The tools are open source and released under the MIT - License, feel free to use, modify, and share. + © 2025 Ismail Bennani, made with and . The tools are open source and released under the + MIT License, feel free to use, modify, and share.
diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-pdf-generation-profiles.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-pdf-generation-profiles.service.ts similarity index 98% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/editor-pdf-generation-profiles.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-pdf-generation-profiles.service.ts index b99bdc40..2afbd9d6 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-pdf-generation-profiles.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-pdf-generation-profiles.service.ts @@ -1,5 +1,5 @@ import { computed, Injectable, signal, WritableSignal } from '@angular/core'; -import { IStandardPdfGeneratorLanguagePackDto } from '../../core/api/api.models'; +import { IStandardPdfGeneratorLanguagePackDto } from '../../../core/api/api.models'; @Injectable({ providedIn: 'root', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-responsiveness.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-responsiveness.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/editor-responsiveness.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-responsiveness.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-settings.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-settings.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/editor-settings.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-settings.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-state.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-state.service.ts similarity index 98% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/editor-state.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-state.service.ts index db0119d6..20dfe13c 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-state.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/services/editor-state.service.ts @@ -1,6 +1,6 @@ import { Injectable, resource, Resource } from '@angular/core'; import { IDBPDatabase, openDB } from 'idb'; -import { ICrossIndustryInvoice, IXmpMetadata } from '../../core/api/api.models'; +import { ICrossIndustryInvoice, IXmpMetadata } from '../../../core/api/api.models'; @Injectable({ providedIn: 'root', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts index 3b3fe8ff..ed4141ce 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts @@ -1,6 +1,6 @@ import { booleanAttribute, Component, effect, input, model, signal } from '@angular/core'; import { NgxFilesizeModule } from 'ngx-filesize'; -import { EditorStateAttachment } from '../../editor-state.service'; +import { EditorStateAttachment } from '../../services/editor-state.service'; import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms'; @Component({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts index f174db5e..d25208c0 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts @@ -1,5 +1,5 @@ import { Component, computed, DestroyRef, inject, Resource } from '@angular/core'; -import { EditorSavedState, EditorStateAttachment, EditorStateService } from '../../editor-state.service'; +import { EditorSavedState, EditorStateAttachment, EditorStateService } from '../../services/editor-state.service'; import { NgxFilesizeModule } from 'ngx-filesize'; import { ImportFileService } from '../../../../core/import-file/import-file.service'; import { filter, from, map, switchMap } from 'rxjs'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts index a6977c70..49c2559f 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts @@ -1,5 +1,5 @@ import { Injectable, signal } from '@angular/core'; -import { EditorStateAttachment } from '../../editor-state.service'; +import { EditorStateAttachment } from '../../services/editor-state.service'; @Injectable({ providedIn: 'root', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts index caf3912a..2ebd5b13 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts @@ -2,7 +2,7 @@ import { Component, computed, inject, input, Signal } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { CiiFormRemarkComponent } from './cii-form-remark.component'; import { CiiFormBusinessRulesComponent } from './cii-form-business-rules.component'; -import { EditorSettings } from '../../../../editor-settings.service'; +import { EditorSettings } from '../../../../services/editor-settings.service'; import { CiiFormHighlightTermService } from '../../cii-form-highlight-term.service'; import { CiiFormHighlightRemarkService } from '../../cii-form-highlight-remark.service'; import { CiiFormHighlightChorusProRemarkService } from '../../cii-form-highlight-chorus-pro-remark.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts index 2f2076ee..70e8d824 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts @@ -2,7 +2,7 @@ import { Component, computed, ElementRef, inject, input, numberAttribute, Signal import { ReactiveFormsModule } from '@angular/forms'; import { CiiFormRemarkComponent } from './cii-form-remark.component'; import { CiiFormBusinessRulesComponent } from './cii-form-business-rules.component'; -import { EditorSettings } from '../../../../editor-settings.service'; +import { EditorSettings } from '../../../../services/editor-settings.service'; import { CiiFormHighlightTermService } from '../../cii-form-highlight-term.service'; import { CiiFormHighlightRemarkService } from '../../cii-form-highlight-remark.service'; import { CiiFormHighlightChorusProRemarkService } from '../../cii-form-highlight-chorus-pro-remark.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts index af49b8ee..32df67b5 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts @@ -3,7 +3,7 @@ import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { CiiFormSellerTradePartyComponent } from './cii-form-seller-trade-party.component'; import { CiiFormBuyerTradePartyComponent } from './cii-form-buyer-trade-party.component'; import { CiiFormBuyerOrderReferencedDocumentComponent } from './cii-form-buyer-order-referenced-document.component'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts index ba5a7aba..7abfd24e 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; @Component({ selector: 'app-cii-form-applicable-header-trade-delivery', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts index b86063cc..373e0792 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts @@ -1,7 +1,7 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { CiiFormSpecifiedTradeSettlementHeaderMonetarySummation } from './cii-form-specified-trade-settlement-header-monetary-summation.component'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts index 407a31b6..d11a9f35 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts index 92359193..54316532 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts index b19ee1f9..b3f0adac 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts @@ -1,7 +1,7 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { CiiFormBuyerTradePartySpecifiedLegalOrganizationComponent } from './cii-form-buyer-trade-party-specified-legal-organization.component'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts index ac12bbd1..8b1dc7f5 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts index 63ba4a7e..c62a6dc4 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts index b6596238..45c11c02 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts index f5a25a4c..6e54253f 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts index 3d71f059..2fec1de6 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts index 357b2267..6762b9fd 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts @@ -3,7 +3,7 @@ import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { CiiFormSellerTradePartySpecifiedLegalOrganizationComponent } from './cii-form-seller-trade-party-specified-legal-organization.component'; import { CiiFormSellerTradePartyPostalTradeAddress } from './cii-form-seller-trade-party-postal-trade-address'; import { CiiFormSellerTradePartySpecifiedTaxRegistration } from './cii-form-seller-trade-party-specified-tax-registration'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts index f07d22a5..9634ad84 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormControlComponent } from './base/cii-form-control.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts index 1dc61fbb..fc53090c 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts @@ -3,7 +3,7 @@ import { ControlContainer, ReactiveFormsModule } from '@angular/forms'; import { CiiFormApplicableHeaderTradeAgreementComponent } from './cii-form-applicable-header-trade-agreement.component'; import { CiiFormApplicableHeaderTradeDeliveryComponent } from './cii-form-applicable-header-trade-delivery.component'; import { CiiFormApplicableHeaderTradeSettlementComponent } from './cii-form-applicable-header-trade-settlement.component'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { requireTerm } from '../constants/cii-terms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts index efe9593c..03f37a89 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts @@ -3,7 +3,7 @@ import { FormGroup, ReactiveFormsModule } from '@angular/forms'; import { CiiFormExchangedDocumentContextComponent } from './cii-form-exchanged-document-context.component'; import { CiiFormSupplyChainTradeTransactionComponent } from './cii-form-supply-chain-trade-transaction.component'; import { CiiFormExchangedDocumentComponent } from './cii-form-exchanged-document.component'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { CiiFormParentContainerComponent } from './base/cii-form-parent-container.component'; import { CiiFormService } from './cii-form.service'; import { ICrossIndustryInvoice } from '../../../../../core/api/api.models'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts index 2a0809f9..7e9844d3 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts @@ -8,7 +8,7 @@ import { VatOnlyTaxSchemeIdentifier, } from '../../../../../core/api/api.models'; import { debounceTime, firstValueFrom, from, Subject, switchMap, tap } from 'rxjs'; -import { EditorSavedState, EditorStateService } from '../../../editor-state.service'; +import { EditorSavedState, EditorStateService } from '../../../services/editor-state.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { ValidateApi } from '../../../../../core/api/validate.api'; import { BusinessRuleIdentifier, getBusinessRuleIdentifiers, isBusinessRuleIdentifier, requireBusinessRule } from '../constants/cii-rules'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts index 01fb85a3..506944e7 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts @@ -1,5 +1,5 @@ import { Component, inject, input } from '@angular/core'; -import { EditorSettings, EditorSettingsService } from '../../../editor-settings.service'; +import { EditorSettings, EditorSettingsService } from '../../../services/editor-settings.service'; import { NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle, NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; @Component({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts index 756d21d4..c9e3846c 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input } from '@angular/core'; import { CiiMenuDetailsDropdownComponent } from './cii-menu-details-dropdown.component'; -import { EditorSettings, EditorSettingsService } from '../../../editor-settings.service'; +import { EditorSettings, EditorSettingsService } from '../../../services/editor-settings.service'; import { CiiFormService } from '../cii-form/cii-form.service'; import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'; import { ToastService } from '../../../../../core/toasts/toast.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts index a82857f9..c1161101 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts @@ -1,6 +1,6 @@ import { Component, computed, inject, input } from '@angular/core'; import { CiiFormNode, CiiFormService } from '../cii-form/cii-form.service'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { ScrollToDirective } from '../../../../../core/scroll-to/scroll-to.directive'; import { CiiFormHighlightChorusProRemarkService } from '../cii-form-highlight-chorus-pro-remark.service'; import { CiiFormHighlightTermService } from '../cii-form-highlight-term.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts index 202e937e..5538f617 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts @@ -2,7 +2,7 @@ import { Component, inject, input } from '@angular/core'; import { CiiSummaryControlComponent } from './cii-summary-control.component'; import { CiiFormService } from '../cii-form/cii-form.service'; import { ICrossIndustryInvoice } from '../../../../../core/api/api.models'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; @Component({ selector: 'app-cii-summary', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts index ec630241..a2e490e1 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts @@ -1,11 +1,11 @@ import { Component, computed, inject, Resource, Signal } from '@angular/core'; -import { EditorSettings, EditorSettingsService } from '../../editor-settings.service'; +import { EditorSettings, EditorSettingsService } from '../../services/editor-settings.service'; import { CiiFormComponent } from './cii-form/cii-form.component'; import { CiiSummaryComponent } from './cii-summary/cii-summary.component'; import { CiiMenuComponent } from './cii-menu/cii-menu.component'; import { CiiFormService } from './cii-form/cii-form.service'; -import { EditorSavedState, EditorStateService } from '../../editor-state.service'; -import { EditorResponsivenessService } from '../../editor-responsiveness.service'; +import { EditorSavedState, EditorStateService } from '../../services/editor-state.service'; +import { EditorResponsivenessService } from '../../services/editor-responsiveness.service'; @Component({ selector: 'app-cii', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts index ffb19b93..a61ef01b 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts @@ -1,5 +1,5 @@ import { Component, inject } from '@angular/core'; -import { EditorResponsivenessService } from '../../editor-responsiveness.service'; +import { EditorResponsivenessService } from '../../services/editor-responsiveness.service'; import { Router, RouterLink, RouterOutlet } from '@angular/router'; import { NgbNav, NgbNavItem, NgbNavLinkButton } from '@ng-bootstrap/ng-bootstrap'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts index aa5b57ae..da048cd2 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts @@ -1,5 +1,5 @@ import { Component, computed, inject } from '@angular/core'; -import { EditorSettingsService } from '../../../../editor-settings.service'; +import { EditorSettingsService } from '../../../../services/editor-settings.service'; import { FormsModule } from '@angular/forms'; @Component({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts index 155eaee0..f57e43c4 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts @@ -4,7 +4,7 @@ import { rxResource, takeUntilDestroyed, toSignal } from '@angular/core/rxjs-int import { GenerateApi } from '../../../../../../../core/api/generate.api'; import { delay, distinctUntilChanged, map, startWith } from 'rxjs'; import { IStandardPdfGeneratorLanguagePackDto } from '../../../../../../../core/api/api.models'; -import { EditorPdfGenerationProfileData } from '../../../../../editor-pdf-generation-profiles.service'; +import { EditorPdfGenerationProfileData } from '../../../../../services/editor-pdf-generation-profiles.service'; import { EditorSettingsLanguagePackDocumentTypesFormComponent } from './editor-settings-language-pack-document-types-form.component'; import { EditorSettingsLanguagePackFormComponent } from './editor-settings-language-pack-form.component'; import { EditorSettingsGeneralFormComponent } from './editor-settings-general-form.component'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts index 5f63f967..2fd762e0 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts @@ -1,7 +1,7 @@ import { Component, inject, viewChild } from '@angular/core'; import { Router, RouterLink } from '@angular/router'; import { EditorSettingsPdfProfileFormComponent } from './components/editor-settings-pdf-profile-form.component'; -import { EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../editor-pdf-generation-profiles.service'; +import { EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { ToastService } from '../../../../../../core/toasts/toast.service'; import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts index 6a725e8c..a32ce7f3 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts @@ -1,7 +1,7 @@ import { Component, computed, effect, inject, input, viewChild } from '@angular/core'; import { EditorSettingsPdfProfileFormComponent } from './components/editor-settings-pdf-profile-form.component'; import { Router, RouterLink } from '@angular/router'; -import { EditorPdfGenerationProfile, EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../editor-pdf-generation-profiles.service'; +import { EditorPdfGenerationProfile, EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { ToastService } from '../../../../../../core/toasts/toast.service'; import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; import { NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts index fd3da1b6..7386eee8 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts @@ -1,6 +1,6 @@ import { Component, computed, inject } from '@angular/core'; import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; -import { EditorPdfGenerationProfile, EditorPdfGenerationProfilesService } from '../../../../editor-pdf-generation-profiles.service'; +import { EditorPdfGenerationProfile, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { RouterLink } from '@angular/router'; import { NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts index e451d1b9..844e03b8 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts @@ -1,6 +1,6 @@ import { Component, inject, input, model } from '@angular/core'; import { IXmpMetadata } from '../../../../../core/api/api.models'; -import { EditorSettings } from '../../../editor-settings.service'; +import { EditorSettings } from '../../../services/editor-settings.service'; import { FormGroup, ReactiveFormsModule } from '@angular/forms'; import { XmpFormService } from './xmp-form.service'; import { XmpFormFacturxComponent } from './xmp-form-facturx.component'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts index 246abafe..e80d84b3 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts @@ -1,6 +1,6 @@ import { effect, inject, Injectable } from '@angular/core'; import { debounceTime, from, Subject, switchMap } from 'rxjs'; -import { EditorSavedState, EditorStateService } from '../../../editor-state.service'; +import { EditorSavedState, EditorStateService } from '../../../services/editor-state.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { CiiFormService } from '../../cii/cii-form/cii-form.service'; import { FormControl, FormGroup } from '@angular/forms'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts index bfc21ddb..5f44394e 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts @@ -1,9 +1,9 @@ import { Component, computed, inject, Resource, Signal } from '@angular/core'; -import { EditorSettings, EditorSettingsService } from '../../editor-settings.service'; +import { EditorSettings, EditorSettingsService } from '../../services/editor-settings.service'; import { XmpFormComponent } from './xmp-form/xmp-form.component'; import { XmpSummaryComponent } from './xmp-summary.component'; -import { EditorSavedState, EditorStateService } from '../../editor-state.service'; -import { EditorResponsivenessService } from '../../editor-responsiveness.service'; +import { EditorSavedState, EditorStateService } from '../../services/editor-state.service'; +import { EditorResponsivenessService } from '../../services/editor-responsiveness.service'; @Component({ selector: 'app-xmp', From d501a2778f58e3599c95996be4531a56e63aaa4c Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 22:34:30 +0200 Subject: [PATCH 2/8] minor --- .../src/app/features/editor/editor.page.ts | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts index 6fccbc77..686114b5 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts @@ -57,25 +57,23 @@ import { EditorResponsivenessService } from './services/editor-responsiveness.se @if (isImporting() || isExporting()) { -
-
-
-
- @if (isImporting()) { -
- Loading... -
- Importing... - } @else if (isExporting()) { -
- Loading... -
- Exporting... - } -
+
+
+
+ @if (isImporting()) { +
+ Loading... +
+ Importing... + } @else if (isExporting()) { +
+ Loading... +
+ Exporting... + }
-
+
} @if (state.value(); as value) { From ee8a28bb67ad6ed28fa6c469666089a99ad58937 Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 22:48:34 +0200 Subject: [PATCH 3/8] extract overlay to separate component --- .../src/app/app.component.ts | 10 ++-- .../global-overlay.component.ts | 35 ++++++++++++++ .../global-overlay/global-overlay.service.ts | 22 +++++++++ .../src/app/features/editor/editor.page.ts | 46 ++++++++----------- 4 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.component.ts create mode 100644 src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/app.component.ts b/src/FacturXDotNet.WebEditor/src/app/app.component.ts index 79879697..3db67998 100644 --- a/src/FacturXDotNet.WebEditor/src/app/app.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/app.component.ts @@ -5,16 +5,18 @@ import { ImportFileComponent } from './core/import-file/import-file.component'; import { NgbTooltipConfigComponent } from './core/ng-bootstrap/ngb-tooltip-config.component'; import * as pdf from 'pdfjs-dist'; import { PlatformLocation } from '@angular/common'; +import { GlobalOverlayComponent } from './core/global-overlay/global-overlay.component'; @Component({ selector: 'app-root', - imports: [RouterOutlet, ToasterComponent, ImportFileComponent, NgbTooltipConfigComponent], + imports: [RouterOutlet, ToasterComponent, ImportFileComponent, NgbTooltipConfigComponent, GlobalOverlayComponent], template: ` - - + + + - + `, styles: [], }) diff --git a/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.component.ts b/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.component.ts new file mode 100644 index 00000000..aa54a2f8 --- /dev/null +++ b/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.component.ts @@ -0,0 +1,35 @@ +import { Component, inject, signal } from '@angular/core'; +import { GlobalOverlayService } from './global-overlay.service'; + +@Component({ + selector: 'app-global-overlay', + imports: [], + template: ` +
+
+
+
+ Loading... +
+ @if (message(); as message) { + {{ message }} + } +
+
+
+ `, + styles: ` + .backdrop { + background-color: rgba(0, 0, 0, 0.5); + } + `, +}) +export class GlobalOverlayComponent { + private globalOverlayService = inject(GlobalOverlayService); + protected enabled = this.globalOverlayService.enabled; + protected message = this.globalOverlayService.message; +} diff --git a/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.service.ts b/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.service.ts new file mode 100644 index 00000000..829b4a39 --- /dev/null +++ b/src/FacturXDotNet.WebEditor/src/app/core/global-overlay/global-overlay.service.ts @@ -0,0 +1,22 @@ +import { Injectable, signal } from '@angular/core'; + +@Injectable({ + providedIn: 'root', +}) +export class GlobalOverlayService { + public enabled = signal(false); + public message = signal(undefined); + + public enable(message?: string) { + this.enabled.set(true); + this.message.set(message); + + console.log('Overlay enabled:', message); + } + + public disable() { + this.enabled.set(false); + + console.log('Overlay disabled'); + } +} diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts index 686114b5..32607794 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts @@ -13,9 +13,9 @@ import { ApiConstantsService } from '../../core/api/services/api-constants.servi import { EditorMenuService } from './components/editor-menu/editor-menu.service'; import { RouterOutlet } from '@angular/router'; import { EditorPdfViewerComponent } from './components/editor-pdf-viewer/editor-pdf-viewer.component'; -import { EditorHeaderNameComponent } from './components/editor-header/editor-header-name.component'; import { EditorRightPaneHeaderComponent } from './components/editor-header/editor-right-pane-header.component'; import { EditorResponsivenessService } from './services/editor-responsiveness.service'; +import { GlobalOverlayService } from '../../core/global-overlay/global-overlay.service'; @Component({ selector: 'app-editor', @@ -56,26 +56,6 @@ import { EditorResponsivenessService } from './services/editor-responsiveness.se
- @if (isImporting() || isExporting()) { -
-
-
- @if (isImporting()) { -
- Loading... -
- Importing... - } @else if (isExporting()) { -
- Loading... -
- Exporting... - } -
-
-
- } - @if (state.value(); as value) {
`, - styles: ` - .backdrop { - background-color: rgba(0, 0, 0, 0.5); - } - `, + styles: ``, }) export class EditorPage { protected apiUrl = inject(API_BASE_URL); protected pdfTab = computed(() => this.settings().pdfTab); protected disablePointerEvents = signal(false); protected totalWidth = signal(window.innerWidth); + private rightColumnWidthLocalStorageKey = 'editor'; protected rightColumnWidth = linkedSignal({ source: () => this.totalWidth(), @@ -167,13 +144,17 @@ export class EditorPage { return this.loadRightColumnWidth(this.rightColumnWidthLocalStorageKey) ?? input / 2; }, }); + private apiConstantsService = inject(ApiConstantsService); protected unsafeEnvironment = computed(() => this.apiConstantsService.info.value()?.hosting.unsafeEnvironment ?? false); private editorStateService = inject(EditorStateService); protected state: Resource = this.editorStateService.savedState; + + private globalOverlayService = inject(GlobalOverlayService); private editorMenuService = inject(EditorMenuService); protected isImporting = this.editorMenuService.isImporting; protected isExporting = this.editorMenuService.isExporting; + private editorSettingsService = inject(EditorSettingsService); private editorResponsivenessService = inject(EditorResponsivenessService); private settingsService = inject(EditorSettingsService); @@ -189,6 +170,19 @@ export class EditorPage { const editorLeftColumnWidth = this.totalWidth() - this.rightColumnWidth() - 16; this.editorResponsivenessService.setLeftColumnWidth(editorLeftColumnWidth); }); + + effect(() => { + const importing = this.isImporting(); + const exporting = this.isExporting(); + + if (importing) { + this.globalOverlayService.enable('Importing...'); + } else if (exporting) { + this.globalOverlayService.enable('Importing...'); + } else { + this.globalOverlayService.disable(); + } + }); } @HostListener('window:resize', ['$event']) From 105a5ebebef5850ce9209f5a1c221e6886a2ab3d Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 23:05:56 +0200 Subject: [PATCH 4/8] use routing to navigate between editor pages --- ...me.component.ts => editor-welcome.page.ts} | 8 +- .../src/app/features/editor/editor.layout.ts | 92 +++++++++ .../src/app/features/editor/editor.page.ts | 181 +++++------------- .../src/app/features/editor/editor.routes.ts | 67 ++++--- 4 files changed, 191 insertions(+), 157 deletions(-) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{editor-welcome.component.ts => editor-welcome.page.ts} (92%) create mode 100644 src/FacturXDotNet.WebEditor/src/app/features/editor/editor.layout.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts similarity index 92% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts index 7d4dfaba..90270c96 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts @@ -1,6 +1,7 @@ import { Component, inject } from '@angular/core'; import { EditorMenuService } from './components/editor-menu/editor-menu.service'; import { ToastService } from '../../core/toasts/toast.service'; +import { Router } from '@angular/router'; @Component({ selector: 'app-editor-welcome', @@ -44,13 +45,15 @@ import { ToastService } from '../../core/toasts/toast.service';
`, }) -export class EditorWelcomeComponent { +export class EditorWelcomePage { private editorMenuService = inject(EditorMenuService); private toastService = inject(ToastService); + private router = inject(Router); async createNewDocument() { try { await this.editorMenuService.createNewDocument(); + await this.router.navigate(['/']); } catch (error) { this.toastService.showError(error, (message) => `Could not create blank document: ${message}.`); } @@ -59,6 +62,7 @@ export class EditorWelcomeComponent { async createNewDocumentFromFacturX() { try { await this.editorMenuService.createNewDocumentFromFacturX(); + await this.router.navigate(['/']); } catch (error) { this.toastService.showError(error, (message) => `Could not import FacturX file: ${message}.`); } @@ -67,6 +71,7 @@ export class EditorWelcomeComponent { async createNewDocumentFromCrossIndustryInvoice() { try { await this.editorMenuService.createNewDocumentFromCrossIndustryInvoice(); + await this.router.navigate(['/']); } catch (error) { this.toastService.showError(error, (message) => `Could not import Cross-Industry Invoice file: ${message}.`); } @@ -75,6 +80,7 @@ export class EditorWelcomeComponent { async createNewDocumentFromPdf() { try { await this.editorMenuService.createNewDocumentFromPdf(); + await this.router.navigate(['/']); } catch (error) { this.toastService.showError(error, (message) => `Could not import PDF file: ${message}.`); } diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.layout.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.layout.ts new file mode 100644 index 00000000..bb73ff07 --- /dev/null +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.layout.ts @@ -0,0 +1,92 @@ +import { Component, computed, effect, HostListener, inject, linkedSignal, Resource, signal, Signal } from '@angular/core'; +import { NgOptimizedImage } from '@angular/common'; +import { EditorSettings, EditorSettingsService, PdfModel } from './services/editor-settings.service'; +import { EditorMenuComponent } from './components/editor-menu/editor-menu.component'; +import { FormsModule } from '@angular/forms'; +import { EditorSavedState, EditorStateService } from './services/editor-state.service'; +import { API_BASE_URL } from '../../app.config'; +import { ApiServerStatusComponent } from '../../core/api/components/api-server-status.component'; +import { ApiConstantsService } from '../../core/api/services/api-constants.service'; +import { EditorMenuService } from './components/editor-menu/editor-menu.service'; +import { RouterOutlet } from '@angular/router'; +import { GlobalOverlayService } from '../../core/global-overlay/global-overlay.service'; + +@Component({ + selector: 'app-editor', + imports: [NgOptimizedImage, EditorMenuComponent, FormsModule, ApiServerStatusComponent, RouterOutlet], + template: ` +
+
+
+ +
+ +
+
+ + + +
+ +
+ + + +
+
+
+ +
+ +
+ +
+
+
+ Do not share sensitive data + This application is hosted in an unsafe cloud environment. Although I do not store your data, or use it for any purpose other than the application, the hosting + environment is beyond my control. +
+ +
+ +
+ © 2025 Ismail Bennani, made with and . The tools are open source and released under the + MIT License, feel free to use, modify, and share. +
+
+
+ `, + styles: ``, +}) +export class EditorLayout { + protected apiUrl = inject(API_BASE_URL); + + private apiConstantsService = inject(ApiConstantsService); + protected unsafeEnvironment = computed(() => this.apiConstantsService.info.value()?.hosting.unsafeEnvironment ?? false); + + private globalOverlayService = inject(GlobalOverlayService); + private editorMenuService = inject(EditorMenuService); + protected isImporting = this.editorMenuService.isImporting; + protected isExporting = this.editorMenuService.isExporting; + + constructor() { + effect(() => { + const importing = this.isImporting(); + const exporting = this.isExporting(); + + if (importing) { + this.globalOverlayService.enable('Importing...'); + } else if (exporting) { + this.globalOverlayService.enable('Importing...'); + } else { + this.globalOverlayService.disable(); + } + }); + } +} diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts index 32607794..df2a3cf5 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts @@ -1,134 +1,65 @@ -import { Component, computed, effect, HostListener, inject, linkedSignal, Resource, signal, Signal } from '@angular/core'; -import { NgOptimizedImage } from '@angular/common'; -import { EditorSettings, EditorSettingsService, PdfModel } from './services/editor-settings.service'; -import { EditorMenuComponent } from './components/editor-menu/editor-menu.component'; -import { FormsModule } from '@angular/forms'; -import { TwoColumnsComponent } from '../../core/two-columns/two-columns.component'; -import { EditorSavedState, EditorStateService } from './services/editor-state.service'; +import { Component, computed, effect, HostListener, inject, linkedSignal, Resource, Signal, signal } from '@angular/core'; import { EditorLeftPaneHeaderComponent } from './components/editor-header/editor-left-pane-header.component'; -import { EditorWelcomeComponent } from './editor-welcome.component'; -import { API_BASE_URL } from '../../app.config'; -import { ApiServerStatusComponent } from '../../core/api/components/api-server-status.component'; -import { ApiConstantsService } from '../../core/api/services/api-constants.service'; -import { EditorMenuService } from './components/editor-menu/editor-menu.service'; -import { RouterOutlet } from '@angular/router'; import { EditorPdfViewerComponent } from './components/editor-pdf-viewer/editor-pdf-viewer.component'; import { EditorRightPaneHeaderComponent } from './components/editor-header/editor-right-pane-header.component'; +import { EditorWelcomePage } from './editor-welcome.page'; +import { Router, RouterOutlet } from '@angular/router'; +import { TwoColumnsComponent } from '../../core/two-columns/two-columns.component'; +import { EditorSavedState, EditorStateService } from './services/editor-state.service'; +import { EditorSettings, EditorSettingsService, PdfModel } from './services/editor-settings.service'; import { EditorResponsivenessService } from './services/editor-responsiveness.service'; -import { GlobalOverlayService } from '../../core/global-overlay/global-overlay.service'; @Component({ selector: 'app-editor', - imports: [ - NgOptimizedImage, - EditorMenuComponent, - FormsModule, - EditorLeftPaneHeaderComponent, - TwoColumnsComponent, - EditorWelcomeComponent, - ApiServerStatusComponent, - RouterOutlet, - EditorPdfViewerComponent, - EditorRightPaneHeaderComponent, - ], + imports: [EditorLeftPaneHeaderComponent, EditorPdfViewerComponent, EditorRightPaneHeaderComponent, RouterOutlet, TwoColumnsComponent], template: ` -
-
-
- -
- -
-
- - - -
- -
- - - -
-
-
- - @if (state.value(); as value) { -
- -
-
-
-
- -
-
-
- + @if (state.value(); as value) { +
+ +
+
+
+
+
+
+
+
-
-
-
- -
-
- -
+
+
+
+
+ +
+
+
-
- -
- } @else if (state.isLoading()) { -
-
-
- Loading...
-
- } @else { -
-
- -
-
- } - -
-
-
- Do not share sensitive data - This application is hosted in an unsafe cloud environment. Although I do not store your data, or use it for any purpose other than the application, the hosting - environment is beyond my control. -
- + } @else if (state.isLoading()) { +
+
+
+ Loading...
- -
- © 2025 Ismail Bennani, made with and . The tools are open source and released under the - MIT License, feel free to use, modify, and share. -
-
-
+ + } `, styles: ``, }) export class EditorPage { - protected apiUrl = inject(API_BASE_URL); protected pdfTab = computed(() => this.settings().pdfTab); protected disablePointerEvents = signal(false); protected totalWidth = signal(window.innerWidth); @@ -145,22 +76,23 @@ export class EditorPage { }, }); - private apiConstantsService = inject(ApiConstantsService); - protected unsafeEnvironment = computed(() => this.apiConstantsService.info.value()?.hosting.unsafeEnvironment ?? false); private editorStateService = inject(EditorStateService); protected state: Resource = this.editorStateService.savedState; - private globalOverlayService = inject(GlobalOverlayService); - private editorMenuService = inject(EditorMenuService); - protected isImporting = this.editorMenuService.isImporting; - protected isExporting = this.editorMenuService.isExporting; - private editorSettingsService = inject(EditorSettingsService); private editorResponsivenessService = inject(EditorResponsivenessService); private settingsService = inject(EditorSettingsService); protected settings: Signal = this.settingsService.settings; + private router = inject(Router); + constructor() { + effect(() => { + if (!this.state.isLoading() && this.state.value() === null) { + this.router.navigate(['/', 'welcome']).then(); + } + }); + effect(() => { const rightColumnWidth = this.rightColumnWidth(); this.saveRightColumnWidth(this.rightColumnWidthLocalStorageKey, rightColumnWidth); @@ -170,19 +102,6 @@ export class EditorPage { const editorLeftColumnWidth = this.totalWidth() - this.rightColumnWidth() - 16; this.editorResponsivenessService.setLeftColumnWidth(editorLeftColumnWidth); }); - - effect(() => { - const importing = this.isImporting(); - const exporting = this.isExporting(); - - if (importing) { - this.globalOverlayService.enable('Importing...'); - } else if (exporting) { - this.globalOverlayService.enable('Importing...'); - } else { - this.globalOverlayService.disable(); - } - }); } @HostListener('window:resize', ['$event']) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts index 3a236765..7f5df711 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts @@ -1,5 +1,5 @@ import { Routes } from '@angular/router'; -import { EditorPage } from './editor.page'; +import { EditorLayout } from './editor.layout'; import { XmpTab } from './tabs/xmp/xmp.tab'; import { CiiTab } from './tabs/cii/cii.tab'; import { AttachmentsTab } from './tabs/attachments/attachments.tab'; @@ -9,50 +9,67 @@ import { EditorSettingsPdfProfilesTab } from './tabs/settings/tabs/editor-settin import { EditorSettingsPdfProfileCreateTab } from './tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab'; import { EditorSettingsPdfProfileEditTab } from './tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab'; import { resetPdfProfileOverride } from './guards/reset-pdf-profile-override'; +import { EditorWelcomePage } from './editor-welcome.page'; +import { EditorPage } from './editor.page'; export const routes: Routes = [ { path: '', - component: EditorPage, + component: EditorLayout, children: [ { - path: 'xmp', - component: XmpTab, - }, - { - path: 'cii', - component: CiiTab, - }, - { - path: 'attachments', - component: AttachmentsTab, + path: 'welcome', + component: EditorWelcomePage, }, { - path: 'settings', - component: EditorSettingsTab, + path: '', + component: EditorPage, children: [ { path: '', pathMatch: 'full', - component: EditorSettingsGeneralTab, + redirectTo: 'cii', }, { - path: 'profiles/create', - component: EditorSettingsPdfProfileCreateTab, - canDeactivate: [resetPdfProfileOverride], + path: 'xmp', + component: XmpTab, }, { - path: 'profiles/edit/:profileId', - component: EditorSettingsPdfProfileEditTab, - canDeactivate: [resetPdfProfileOverride], + path: 'cii', + component: CiiTab, }, { - path: 'profiles', - component: EditorSettingsPdfProfilesTab, + path: 'attachments', + component: AttachmentsTab, }, { - path: '**', - redirectTo: '', + path: 'settings', + component: EditorSettingsTab, + children: [ + { + path: '', + pathMatch: 'full', + component: EditorSettingsGeneralTab, + }, + { + path: 'profiles/create', + component: EditorSettingsPdfProfileCreateTab, + canDeactivate: [resetPdfProfileOverride], + }, + { + path: 'profiles/edit/:profileId', + component: EditorSettingsPdfProfileEditTab, + canDeactivate: [resetPdfProfileOverride], + }, + { + path: 'profiles', + component: EditorSettingsPdfProfilesTab, + }, + { + path: '**', + redirectTo: '', + }, + ], }, ], }, From ffe778bca9c46f5abdf69f836828ff13a4df143e Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 23:19:18 +0200 Subject: [PATCH 5/8] refactor --- .../editor-right-pane-header.component.ts | 4 ++-- .../editor-menu/editor-menu.service.ts | 4 ++-- .../editor-attachments}/attachment.component.ts | 0 .../editor-attachments}/attachments.tab.ts | 0 .../deleted-attachments.service.ts | 0 .../cii-form-highlight-business-rule.service.ts | 0 ...i-form-highlight-chorus-pro-remark.service.ts | 0 .../cii-form-highlight-remark.service.ts | 0 .../cii-form-highlight-term.service.ts | 0 ...i-form-business-rule-status-icon.component.ts | 0 .../base/cii-form-business-rules.component.ts | 0 .../cii-form/base/cii-form-control.component.ts | 0 .../base/cii-form-parent-container.component.ts | 0 .../cii-form/base/cii-form-remark.component.ts | 0 ...pplicable-header-trade-agreement.component.ts | 0 ...applicable-header-trade-delivery.component.ts | 0 ...plicable-header-trade-settlement.component.ts | 0 ...-buyer-order-referenced-document.component.ts | 0 ...rty-specified-legal-organization.component.ts | 0 .../cii-form-buyer-trade-party.component.ts | 0 ...-form-exchanged-document-context.component.ts | 0 .../cii-form-exchanged-document.component.ts | 0 ...rm-seller-trade-party-postal-trade-address.ts | 0 ...rty-specified-legal-organization.component.ts | 0 ...ler-trade-party-specified-tax-registration.ts | 0 .../cii-form-seller-trade-party.component.ts | 0 ...lement-header-monetary-summation.component.ts | 0 ...m-supply-chain-trade-transaction.component.ts | 0 .../editor-cii}/cii-form/cii-form.component.ts | 0 .../editor-cii}/cii-form/cii-form.service.ts | 0 .../cii-menu-details-dropdown.component.ts | 0 .../editor-cii}/cii-menu/cii-menu.component.ts | 0 .../cii-summary/cii-summary-control.component.ts | 0 .../cii-summary/cii-summary.component.ts | 0 .../cii => editor-tabs/editor-cii}/cii.tab.ts | 0 .../editor-cii}/constants/cii-rules.ts | 0 .../editor-cii}/constants/cii-terms.ts | 0 .../editor-pdf-viewer.component.ts | 6 +++--- .../editor-pdf-viewer.service.ts | 0 .../embedded-pdf-viewer.component.ts} | 2 +- .../editor-settings-general.tab.ts | 0 .../editor-settings-general-form.component.ts | 0 ...anguage-pack-document-types-form.component.ts | 0 ...itor-settings-language-pack-form.component.ts | 0 ...editor-settings-pdf-profile-form.component.ts | 0 .../editor-settings-pdf-profile-create.tab.ts | 2 +- .../editor-settings-pdf-profile-edit.tab.ts | 2 +- .../editor-settings-pdf-profiles.tab.ts | 2 +- .../editor-settings}/editor-settings.tab.ts | 0 .../xmp-form/xmp-form-basic.component.ts | 0 .../xmp-form/xmp-form-dublin-core.component.ts | 0 .../xmp-form/xmp-form-facturx.component.ts | 0 .../xmp-form-pdf-a-identification.component.ts | 0 .../xmp-form/xmp-form-pdf.component.ts | 0 .../xmp-form/xmp-form-rating.component.ts | 0 .../editor-xmp}/xmp-form/xmp-form.component.ts | 0 .../editor-xmp}/xmp-form/xmp-form.service.ts | 2 +- .../editor-xmp}/xmp-summary.component.ts | 0 .../xmp => editor-tabs/editor-xmp}/xmp.tab.ts | 0 .../src/app/features/editor/editor.page.ts | 2 +- .../src/app/features/editor/editor.routes.ts | 16 ++++++++-------- .../editor/guards/reset-pdf-profile-override.ts | 2 +- 62 files changed, 22 insertions(+), 22 deletions(-) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/attachments => editor-tabs/editor-attachments}/attachment.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/attachments => editor-tabs/editor-attachments}/attachments.tab.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/attachments => editor-tabs/editor-attachments}/deleted-attachments.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form-highlight-business-rule.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form-highlight-chorus-pro-remark.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form-highlight-remark.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form-highlight-term.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/base/cii-form-business-rule-status-icon.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/base/cii-form-business-rules.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/base/cii-form-control.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/base/cii-form-parent-container.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/base/cii-form-remark.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-applicable-header-trade-agreement.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-applicable-header-trade-delivery.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-applicable-header-trade-settlement.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-buyer-order-referenced-document.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-buyer-trade-party.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-exchanged-document-context.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-exchanged-document.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-seller-trade-party-postal-trade-address.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-seller-trade-party.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form-supply-chain-trade-transaction.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-form/cii-form.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-menu/cii-menu-details-dropdown.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-menu/cii-menu.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-summary/cii-summary-control.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii-summary/cii-summary.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/cii.tab.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/constants/cii-rules.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/cii => editor-tabs/editor-cii}/constants/cii-terms.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{components => editor-tabs}/editor-pdf-viewer/editor-pdf-viewer.component.ts (94%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{components => editor-tabs}/editor-pdf-viewer/editor-pdf-viewer.service.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{components/editor-pdf-viewer/pdf-viewer.component.ts => editor-tabs/editor-pdf-viewer/embedded-pdf-viewer.component.ts} (97%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-general/editor-settings-general.tab.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/components/editor-settings-general-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/components/editor-settings-language-pack-document-types-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/components/editor-settings-language-pack-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts (95%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts (97%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings/tabs => editor-tabs/editor-settings/editor-settings-tabs}/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts (97%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/settings => editor-tabs/editor-settings}/editor-settings.tab.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-basic.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-dublin-core.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-facturx.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-pdf-a-identification.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-pdf.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form-rating.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-form/xmp-form.service.ts (99%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp-summary.component.ts (100%) rename src/FacturXDotNet.WebEditor/src/app/features/editor/{tabs/xmp => editor-tabs/editor-xmp}/xmp.tab.ts (100%) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts index 507eb0e7..d3ae2470 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts @@ -1,7 +1,7 @@ import { Component, computed, inject, model } from '@angular/core'; import { NgbNav, NgbNavItem, NgbNavLinkButton } from '@ng-bootstrap/ng-bootstrap'; import { PdfModel } from '../../services/editor-settings.service'; -import { EditorPdfViewerService } from '../editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../../editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service'; import { EditorPdfGenerationProfile, EditorPdfGenerationProfilesService } from '../../services/editor-pdf-generation-profiles.service'; import { Router, RouterLink } from '@angular/router'; import { FormsModule } from '@angular/forms'; @@ -40,7 +40,7 @@ import { FormsModule } from '@angular/forms';
} @else { - + }
diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts index f4caefa4..556830c4 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts @@ -6,11 +6,11 @@ import { ICrossIndustryInvoice } from '../../../../core/api/api.models'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { downloadBlob, downloadFile } from '../../../../core/utils/download-blob'; import { GenerateApi } from '../../../../core/api/generate.api'; -import { CiiFormService } from '../../tabs/cii/cii-form/cii-form.service'; +import { CiiFormService } from '../../editor-tabs/editor-cii/cii-form/cii-form.service'; import { EditorStateService } from '../../services/editor-state.service'; import * as pdf from 'pdfjs-dist'; import { EditorSettingsService } from '../../services/editor-settings.service'; -import { EditorPdfViewerService } from '../editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../../editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service'; @Injectable({ providedIn: 'root', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/attachment.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachment.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/attachment.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/attachments.tab.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/attachments.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/attachments.tab.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/deleted-attachments.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/attachments/deleted-attachments.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-attachments/deleted-attachments.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-business-rule.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-business-rule.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-business-rule.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-business-rule.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-chorus-pro-remark.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-chorus-pro-remark.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-chorus-pro-remark.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-chorus-pro-remark.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-remark.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-remark.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-remark.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-remark.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-term.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-term.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form-highlight-term.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form-highlight-term.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-business-rule-status-icon.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-business-rule-status-icon.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-business-rule-status-icon.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-business-rule-status-icon.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-business-rules.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-business-rules.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-business-rules.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-business-rules.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-control.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-control.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-control.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-parent-container.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-parent-container.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-parent-container.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-remark.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-remark.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/base/cii-form-remark.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/base/cii-form-remark.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-agreement.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-delivery.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-applicable-header-trade-settlement.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-order-referenced-document.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-order-referenced-document.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-order-referenced-document.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-trade-party-specified-legal-organization.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-trade-party.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-buyer-trade-party.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-buyer-trade-party.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-exchanged-document-context.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document-context.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-exchanged-document-context.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-exchanged-document.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-exchanged-document.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-exchanged-document.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-postal-trade-address.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-specified-legal-organization.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party-specified-tax-registration.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-seller-trade-party.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-seller-trade-party.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-specified-trade-settlement-header-monetary-summation.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form-supply-chain-trade-transaction.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-form/cii-form.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-form/cii-form.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-menu/cii-menu-details-dropdown.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu-details-dropdown.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-menu/cii-menu-details-dropdown.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-menu/cii-menu.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-menu/cii-menu.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-menu/cii-menu.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-summary/cii-summary-control.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary-control.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-summary/cii-summary-control.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-summary/cii-summary.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii-summary/cii-summary.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii-summary/cii-summary.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii.tab.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/cii.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/cii.tab.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/constants/cii-rules.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/constants/cii-rules.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/constants/cii-rules.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/constants/cii-rules.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/constants/cii-terms.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/constants/cii-terms.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/cii/constants/cii-terms.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-cii/constants/cii-terms.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/editor-pdf-viewer.component.ts similarity index 94% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/editor-pdf-viewer.component.ts index b039d162..b43ce2f3 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/editor-pdf-viewer.component.ts @@ -1,14 +1,14 @@ import { Component, computed, inject, input, linkedSignal } from '@angular/core'; -import { PdfViewerComponent } from './pdf-viewer.component'; +import { EmbeddedPdfViewerComponent } from './embedded-pdf-viewer.component'; import { ToastService } from '../../../../core/toasts/toast.service'; import { EditorSettingsService, PdfModel } from '../../services/editor-settings.service'; -import { EditorMenuService } from '../editor-menu/editor-menu.service'; +import { EditorMenuService } from '../../components/editor-menu/editor-menu.service'; import { HttpErrorResponse } from '@angular/common/http'; import { EditorPdfViewerService } from './editor-pdf-viewer.service'; @Component({ selector: 'app-editor-pdf-viewer', - imports: [PdfViewerComponent], + imports: [EmbeddedPdfViewerComponent], template: `
@if (pdf.error(); as error) { diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/editor-pdf-viewer.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/pdf-viewer.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/embedded-pdf-viewer.component.ts similarity index 97% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/pdf-viewer.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/embedded-pdf-viewer.component.ts index e72554e6..72458bd2 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-pdf-viewer/pdf-viewer.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-pdf-viewer/embedded-pdf-viewer.component.ts @@ -15,7 +15,7 @@ import { DomSanitizer, SafeUrl } from '@angular/platform-browser'; } `, }) -export class PdfViewerComponent { +export class EmbeddedPdfViewerComponent { pdf = input.required<{ id?: string; content: Blob }>(); disablePointerEvents = input(false); diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-general/editor-settings-general.tab.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-general/editor-settings-general.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-general/editor-settings-general.tab.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-general-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-general-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-general-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-general-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-document-types-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-document-types-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-document-types-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-document-types-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-language-pack-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/components/editor-settings-pdf-profile-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts similarity index 95% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts index 2fd762e0..f43f7075 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab.ts @@ -3,7 +3,7 @@ import { Router, RouterLink } from '@angular/router'; import { EditorSettingsPdfProfileFormComponent } from './components/editor-settings-pdf-profile-form.component'; import { EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { ToastService } from '../../../../../../core/toasts/toast.service'; -import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../../../editor-pdf-viewer/editor-pdf-viewer.service'; @Component({ selector: 'app-editor-settings-pdf-profile-create', diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts similarity index 97% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts index a32ce7f3..81240b5a 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab.ts @@ -3,7 +3,7 @@ import { EditorSettingsPdfProfileFormComponent } from './components/editor-setti import { Router, RouterLink } from '@angular/router'; import { EditorPdfGenerationProfile, EditorPdfGenerationProfileData, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { ToastService } from '../../../../../../core/toasts/toast.service'; -import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../../../editor-pdf-viewer/editor-pdf-viewer.service'; import { NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap'; @Component({ diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts similarity index 97% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts index 7386eee8..a657ee47 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab.ts @@ -1,5 +1,5 @@ import { Component, computed, inject } from '@angular/core'; -import { EditorPdfViewerService } from '../../../../components/editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../../../editor-pdf-viewer/editor-pdf-viewer.service'; import { EditorPdfGenerationProfile, EditorPdfGenerationProfilesService } from '../../../../services/editor-pdf-generation-profiles.service'; import { RouterLink } from '@angular/router'; import { NgbDropdown, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings.tab.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/settings/editor-settings.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-settings/editor-settings.tab.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-basic.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-basic.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-basic.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-basic.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-dublin-core.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-dublin-core.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-dublin-core.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-dublin-core.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-facturx.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-facturx.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-facturx.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-facturx.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-pdf-a-identification.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-pdf-a-identification.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-pdf-a-identification.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-pdf-a-identification.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-pdf.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-pdf.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-pdf.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-pdf.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-rating.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-rating.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form-rating.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form-rating.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form.service.ts similarity index 99% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form.service.ts index e80d84b3..9eaedb23 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-form/xmp-form.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-form/xmp-form.service.ts @@ -2,7 +2,7 @@ import { effect, inject, Injectable } from '@angular/core'; import { debounceTime, from, Subject, switchMap } from 'rxjs'; import { EditorSavedState, EditorStateService } from '../../../services/editor-state.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; -import { CiiFormService } from '../../cii/cii-form/cii-form.service'; +import { CiiFormService } from '../../editor-cii/cii-form/cii-form.service'; import { FormControl, FormGroup } from '@angular/forms'; import { IXmpMetadata, XmpFacturXConformanceLevel, XmpFacturXDocumentType, XmpPdfAConformanceLevel } from '../../../../../core/api/api.models'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-summary.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-summary.component.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp-summary.component.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp-summary.component.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp.tab.ts similarity index 100% rename from src/FacturXDotNet.WebEditor/src/app/features/editor/tabs/xmp/xmp.tab.ts rename to src/FacturXDotNet.WebEditor/src/app/features/editor/editor-tabs/editor-xmp/xmp.tab.ts diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts index df2a3cf5..d9ce5598 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.page.ts @@ -1,6 +1,6 @@ import { Component, computed, effect, HostListener, inject, linkedSignal, Resource, Signal, signal } from '@angular/core'; import { EditorLeftPaneHeaderComponent } from './components/editor-header/editor-left-pane-header.component'; -import { EditorPdfViewerComponent } from './components/editor-pdf-viewer/editor-pdf-viewer.component'; +import { EditorPdfViewerComponent } from './editor-tabs/editor-pdf-viewer/editor-pdf-viewer.component'; import { EditorRightPaneHeaderComponent } from './components/editor-header/editor-right-pane-header.component'; import { EditorWelcomePage } from './editor-welcome.page'; import { Router, RouterOutlet } from '@angular/router'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts index 7f5df711..8b29470f 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor.routes.ts @@ -1,13 +1,13 @@ import { Routes } from '@angular/router'; import { EditorLayout } from './editor.layout'; -import { XmpTab } from './tabs/xmp/xmp.tab'; -import { CiiTab } from './tabs/cii/cii.tab'; -import { AttachmentsTab } from './tabs/attachments/attachments.tab'; -import { EditorSettingsTab } from './tabs/settings/editor-settings.tab'; -import { EditorSettingsGeneralTab } from './tabs/settings/tabs/editor-settings-general/editor-settings-general.tab'; -import { EditorSettingsPdfProfilesTab } from './tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab'; -import { EditorSettingsPdfProfileCreateTab } from './tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab'; -import { EditorSettingsPdfProfileEditTab } from './tabs/settings/tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab'; +import { XmpTab } from './editor-tabs/editor-xmp/xmp.tab'; +import { CiiTab } from './editor-tabs/editor-cii/cii.tab'; +import { AttachmentsTab } from './editor-tabs/editor-attachments/attachments.tab'; +import { EditorSettingsTab } from './editor-tabs/editor-settings/editor-settings.tab'; +import { EditorSettingsGeneralTab } from './editor-tabs/editor-settings/editor-settings-tabs/editor-settings-general/editor-settings-general.tab'; +import { EditorSettingsPdfProfilesTab } from './editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profiles.tab'; +import { EditorSettingsPdfProfileCreateTab } from './editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-create.tab'; +import { EditorSettingsPdfProfileEditTab } from './editor-tabs/editor-settings/editor-settings-tabs/editor-settings-pdf-profiles/editor-settings-pdf-profile-edit.tab'; import { resetPdfProfileOverride } from './guards/reset-pdf-profile-override'; import { EditorWelcomePage } from './editor-welcome.page'; import { EditorPage } from './editor.page'; diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/guards/reset-pdf-profile-override.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/guards/reset-pdf-profile-override.ts index bf21515f..f674dda0 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/guards/reset-pdf-profile-override.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/guards/reset-pdf-profile-override.ts @@ -1,6 +1,6 @@ import { CanDeactivateFn } from '@angular/router'; import { inject } from '@angular/core'; -import { EditorPdfViewerService } from '../components/editor-pdf-viewer/editor-pdf-viewer.service'; +import { EditorPdfViewerService } from '../editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service'; export const resetPdfProfileOverride: CanDeactivateFn = () => { const editorPdfViewerService = inject(EditorPdfViewerService); From b5227485b86bceb3c9880055530f6f2472d4b242 Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 23:21:03 +0200 Subject: [PATCH 6/8] minor --- .../editor-header/editor-right-pane-header.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts index d3ae2470..ca0aed7d 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-header/editor-right-pane-header.component.ts @@ -23,7 +23,7 @@ import { FormsModule } from '@angular/forms';
-
+
@if (tab() === 'generated') { @if (profiles().length > 0) {
@@ -45,7 +45,7 @@ import { FormsModule } from '@angular/forms';
-
+
@if (pdf.isLoading()) {
Loading... From e6024eddc67782838d6b7973d9100164535c39d5 Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 23:42:50 +0200 Subject: [PATCH 7/8] improve welcome page --- .../editor-export-menu.component.ts | 1 - .../editor-menu/editor-menu.service.ts | 4 +- .../features/editor/editor-welcome.page.ts | 71 +++++++++---------- 3 files changed, 37 insertions(+), 39 deletions(-) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-export-menu.component.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-export-menu.component.ts index f37b2020..83056b69 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-export-menu.component.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-export-menu.component.ts @@ -22,7 +22,6 @@ export class EditorExportMenuComponent { private editorMenuService = inject(EditorMenuService); private toastService = inject(ToastService); - private destroyRef = inject(DestroyRef); async exportFacturX() { this.exporting.emit(true); diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts index 556830c4..214a02e5 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/components/editor-menu/editor-menu.service.ts @@ -11,12 +11,14 @@ import { EditorStateService } from '../../services/editor-state.service'; import * as pdf from 'pdfjs-dist'; import { EditorSettingsService } from '../../services/editor-settings.service'; import { EditorPdfViewerService } from '../../editor-tabs/editor-pdf-viewer/editor-pdf-viewer.service'; +import { Router } from '@angular/router'; @Injectable({ providedIn: 'root', }) export class EditorMenuService { private editorStateService = inject(EditorStateService); + private router = inject(Router); private editorSettingsService = inject(EditorSettingsService); private editorPdfViewerService = inject(EditorPdfViewerService); private ciiFormService = inject(CiiFormService); @@ -43,7 +45,7 @@ export class EditorMenuService { async backToWelcomePage(): Promise { this.isImportingInternal.set(true); try { - await this.editorStateService.clear(); + await this.router.navigate(['/', 'welcome']); } finally { this.isImportingInternal.set(false); } diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts index 90270c96..ff75cfa6 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts @@ -1,55 +1,52 @@ -import { Component, inject } from '@angular/core'; +import { Component, inject, Resource } from '@angular/core'; import { EditorMenuService } from './components/editor-menu/editor-menu.service'; import { ToastService } from '../../core/toasts/toast.service'; -import { Router } from '@angular/router'; +import { Router, RouterLink } from '@angular/router'; +import { EditorSavedState, EditorStateService } from './services/editor-state.service'; @Component({ selector: 'app-editor-welcome', template: ` -
-

Get started

- -
- -
- -
- - - + `, + imports: [RouterLink], }) export class EditorWelcomePage { + private editorStateService = inject(EditorStateService); private editorMenuService = inject(EditorMenuService); private toastService = inject(ToastService); private router = inject(Router); + protected state: Resource = this.editorStateService.savedState; + async createNewDocument() { try { await this.editorMenuService.createNewDocument(); From 667f85afeab6dd8a3bf29081df2c0963607fffb3 Mon Sep 17 00:00:00 2001 From: ismailbennani Date: Thu, 24 Apr 2025 23:47:56 +0200 Subject: [PATCH 8/8] handle overflow in welcome page --- .../src/app/features/editor/editor-welcome.page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts index ff75cfa6..bdf5f57b 100644 --- a/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts +++ b/src/FacturXDotNet.WebEditor/src/app/features/editor/editor-welcome.page.ts @@ -7,7 +7,7 @@ import { EditorSavedState, EditorStateService } from './services/editor-state.se @Component({ selector: 'app-editor-welcome', template: ` -
+
@if (state.value()) {