diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts
index ccf7e55fe..349868a28 100644
--- a/apps/red-ui/src/app/app.module.ts
+++ b/apps/red-ui/src/app/app.module.ts
@@ -38,7 +38,7 @@ import { ServiceWorkerModule } from '@angular/service-worker';
import { environment } from '../environments/environment';
import { AuthModule } from './auth/auth.module';
import { FileUploadDownloadModule } from './upload-download/file-upload-download.module';
-import { FullPageLoadingIndicatorComponent } from './utils/full-page-loading-indicator/full-page-loading-indicator.component';
+import { FullPageLoadingIndicatorComponent } from './components/full-page-loading-indicator/full-page-loading-indicator.component';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { InitialsAvatarComponent } from './components/initials-avatar/initials-avatar.component';
import { StatusBarComponent } from './components/status-bar/status-bar.component';
@@ -59,17 +59,17 @@ import { ManualAnnotationDialogComponent } from './dialogs/manual-redaction-dial
import { ToastComponent } from './components/toast/toast.component';
import { FilterComponent } from './components/filter/filter.component';
import { TableColNameComponent } from './components/table-col-name/table-col-name.component';
-import { ProjectDetailsComponent } from './screens/project-overview-screen/project-details/project-details.component';
+import { ProjectDetailsComponent } from './components/project-details/project-details.component';
import { PageIndicatorComponent } from './screens/file/page-indicator/page-indicator.component';
import { NeedsWorkBadgeComponent } from './components/needs-work-badge/needs-work-badge.component';
-import { ProjectListingEmptyComponent } from './screens/empty-states/project-listing-empty/project-listing-empty.component';
+import { ProjectListingEmptyComponent } from './components/empty-states/project-listing-empty/project-listing-empty.component';
import { AnnotationActionsComponent } from './screens/file/annotation-actions/annotation-actions.component';
-import { ProjectListingDetailsComponent } from './screens/project-listing-screen/project-listing-details/project-listing-details.component';
+import { ProjectListingDetailsComponent } from './components/project-listing-details/project-listing-details.component';
import { FileActionsComponent } from './components/file-actions/file-actions.component';
import { TypeAnnotationIconComponent } from './components/type-annotation-icon/type-annotation-icon.component';
import { TypeFilterComponent } from './components/type-filter/type-filter.component';
import { DictionaryAnnotationIconComponent } from './components/dictionary-annotation-icon/dictionary-annotation-icon.component';
-import { BulkActionsComponent } from './screens/project-overview-screen/bulk-actions/bulk-actions.component';
+import { ProjectOverviewBulkActionsComponent } from './components/bulk-actions/project-overview-bulk-actions.component';
import { HttpCacheInterceptor } from '@redaction/red-cache';
import { HiddenActionComponent } from './components/hidden-action/hidden-action.component';
import { IconButtonComponent } from './components/buttons/icon-button/icon-button.component';
@@ -78,7 +78,7 @@ import { CircleButtonComponent } from './components/buttons/circle-button/circle
import { ChevronButtonComponent } from './components/buttons/chevron-button/chevron-button.component';
import { DictionaryListingScreenComponent } from './screens/admin/dictionary-listing-screen/dictionary-listing-screen.component';
import { SyncWidthDirective } from './utils/sync-width.directive';
-import { AddEditDictionaryDialogComponent } from './screens/admin/dictionary-listing-screen/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component';
+import { AddEditDictionaryDialogComponent } from './dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component';
import { DictionaryOverviewScreenComponent } from './screens/admin/dictionary-overview-screen/dictionary-overview-screen.component';
import { ColorPickerModule } from 'ngx-color-picker';
import { AceEditorModule } from 'ng2-ace-editor';
@@ -90,10 +90,10 @@ import { RulesScreenComponent } from './screens/admin/rules-screen/rules-screen.
import { WatermarkScreenComponent } from './screens/admin/watermark-screen/watermark-screen.component';
import { PdfViewerScreenComponent } from './screens/pdf-viewer-screen/pdf-viewer-screen.component';
import { HtmlDebugScreenComponent } from './screens/html-debug-screen/html-debug-screen.component';
-import { ProjectListingActionsComponent } from './screens/project-listing-screen/project-listing-actions/project-listing-actions.component';
+import { ProjectListingActionsComponent } from './components/project-listing-actions/project-listing-actions.component';
import { HasScrollbarDirective } from './utils/has-scrollbar.directive';
import { RuleSetsListingScreenComponent } from './screens/admin/rule-sets-listing-screen/rule-sets-listing-screen.component';
-import { AddEditRuleSetDialogComponent } from './screens/admin/rule-sets-listing-screen/add-edit-rule-set-dialog/add-edit-rule-set-dialog.component';
+import { AddEditRuleSetDialogComponent } from './dialogs/add-edit-rule-set-dialog/add-edit-rule-set-dialog.component';
import { RuleSetActionsComponent } from './components/rule-set-actions/rule-set-actions.component';
import { TabsComponent } from './components/rule-set-view-switch/tabs.component';
import { MatSliderModule } from '@angular/material/slider';
@@ -102,13 +102,13 @@ import { KeycloakService } from 'keycloak-angular';
import { FileDownloadBtnComponent } from './components/buttons/file-download-btn/file-download-btn.component';
import { LicenseInformationScreenComponent } from './screens/admin/license-information-screen/license-information-screen.component';
import { DefaultColorsScreenComponent } from './screens/admin/default-colors-screen/default-colors-screen.component';
-import { EditColorDialogComponent } from './screens/admin/default-colors-screen/edit-color-dialog/edit-color-dialog.component';
+import { EditColorDialogComponent } from './dialogs/edit-color-dialog/edit-color-dialog.component';
import { DownloadsListScreenComponent } from './screens/downloads-list-screen/downloads-list-screen.component';
import { DigitalSignatureScreenComponent } from './screens/admin/digital-signature-screen/digital-signature-screen.component';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { RemoveAnnotationsDialogComponent } from './dialogs/remove-annotations-dialog/remove-annotations-dialog.component';
import { NgxChartsModule } from '@swimlane/ngx-charts';
-import { ComboChartComponent, ComboSeriesVerticalComponent } from './screens/admin/license-information-screen/combo-chart';
+import { ComboChartComponent, ComboSeriesVerticalComponent } from './components/combo-chart';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { ForceRedactionDialogComponent } from './dialogs/force-redaction-dialog/force-redaction-dialog.component';
import { AuditScreenComponent } from './screens/admin/audit-screen/audit-screen.component';
@@ -116,6 +116,7 @@ import { PaginationComponent } from './components/pagination/pagination.componen
import { FileAttributesListingScreenComponent } from './screens/admin/file-attributes-listing-screen/file-attributes-listing-screen.component';
import { SearchInputComponent } from './components/search-input/search-input.component';
import { AppRoutingModule } from './app-routing.module';
+import { AddEditFileAttributeDialogComponent } from './dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component';
export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, '/assets/i18n/', '.json');
@@ -181,7 +182,7 @@ const matImports = [
TypeAnnotationIconComponent,
TypeFilterComponent,
DictionaryAnnotationIconComponent,
- BulkActionsComponent,
+ ProjectOverviewBulkActionsComponent,
FileActionsComponent,
HiddenActionComponent,
IconButtonComponent,
@@ -218,7 +219,8 @@ const matImports = [
AuditScreenComponent,
PaginationComponent,
FileAttributesListingScreenComponent,
- SearchInputComponent
+ SearchInputComponent,
+ AddEditFileAttributeDialogComponent
],
imports: [
BrowserModule,
diff --git a/apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.html b/apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.html
similarity index 100%
rename from apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.html
rename to apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.html
diff --git a/apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.scss b/apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.scss
similarity index 100%
rename from apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.scss
rename to apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.scss
diff --git a/apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.ts b/apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.ts
similarity index 86%
rename from apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.ts
rename to apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.ts
index 158723fa5..9c61f246d 100644
--- a/apps/red-ui/src/app/screens/project-overview-screen/bulk-actions/bulk-actions.component.ts
+++ b/apps/red-ui/src/app/components/bulk-actions/project-overview-bulk-actions.component.ts
@@ -1,20 +1,20 @@
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
-import { AppStateService } from '../../../state/app-state.service';
-import { UserService } from '../../../user/user.service';
+import { AppStateService } from '../../state/app-state.service';
+import { UserService } from '../../user/user.service';
import { FileManagementControllerService, ReanalysisControllerService } from '@redaction/red-ui-http';
-import { DialogService } from '../../../dialogs/dialog.service';
-import { PermissionsService } from '../../../utils/permissions.service';
-import { FileStatusWrapper } from '../../file/model/file-status.wrapper';
-import { FileActionService } from '../../file/service/file-action.service';
+import { DialogService } from '../../dialogs/dialog.service';
+import { PermissionsService } from '../../utils/permissions.service';
+import { FileStatusWrapper } from '../../screens/file/model/file-status.wrapper';
+import { FileActionService } from '../../screens/file/service/file-action.service';
import { Observable } from 'rxjs';
-import { StatusOverlayService } from '../../../upload-download/status-overlay.service';
+import { StatusOverlayService } from '../../upload-download/status-overlay.service';
@Component({
- selector: 'redaction-bulk-actions',
- templateUrl: './bulk-actions.component.html',
- styleUrls: ['./bulk-actions.component.scss']
+ selector: 'redaction-project-overview-bulk-actions',
+ templateUrl: './project-overview-bulk-actions.component.html',
+ styleUrls: ['./project-overview-bulk-actions.component.scss']
})
-export class BulkActionsComponent {
+export class ProjectOverviewBulkActionsComponent {
@Input() selectedFileIds: string[];
@Output() private reload = new EventEmitter();
public loading = false;
diff --git a/apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.html b/apps/red-ui/src/app/components/combo-chart/combo-chart.component.html
similarity index 100%
rename from apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.html
rename to apps/red-ui/src/app/components/combo-chart/combo-chart.component.html
diff --git a/apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.scss b/apps/red-ui/src/app/components/combo-chart/combo-chart.component.scss
similarity index 100%
rename from apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.scss
rename to apps/red-ui/src/app/components/combo-chart/combo-chart.component.scss
diff --git a/apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.ts b/apps/red-ui/src/app/components/combo-chart/combo-chart.component.ts
similarity index 100%
rename from apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-chart.component.ts
rename to apps/red-ui/src/app/components/combo-chart/combo-chart.component.ts
diff --git a/apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-series-vertical.component.ts b/apps/red-ui/src/app/components/combo-chart/combo-series-vertical.component.ts
similarity index 100%
rename from apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/combo-series-vertical.component.ts
rename to apps/red-ui/src/app/components/combo-chart/combo-series-vertical.component.ts
diff --git a/apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/index.ts b/apps/red-ui/src/app/components/combo-chart/index.ts
similarity index 100%
rename from apps/red-ui/src/app/screens/admin/license-information-screen/combo-chart/index.ts
rename to apps/red-ui/src/app/components/combo-chart/index.ts
diff --git a/apps/red-ui/src/app/screens/empty-states/project-listing-empty/project-listing-empty.component.html b/apps/red-ui/src/app/components/empty-states/project-listing-empty/project-listing-empty.component.html
similarity index 56%
rename from apps/red-ui/src/app/screens/empty-states/project-listing-empty/project-listing-empty.component.html
rename to apps/red-ui/src/app/components/empty-states/project-listing-empty/project-listing-empty.component.html
index a2fd1faef..a89955182 100644
--- a/apps/red-ui/src/app/screens/empty-states/project-listing-empty/project-listing-empty.component.html
+++ b/apps/red-ui/src/app/components/empty-states/project-listing-empty/project-listing-empty.component.html
@@ -1,12 +1,6 @@
-