diff --git a/projects/aca-content/assets/i18n/en.json b/projects/aca-content/assets/i18n/en.json
index e1ce84a11..bdd4ea332 100644
--- a/projects/aca-content/assets/i18n/en.json
+++ b/projects/aca-content/assets/i18n/en.json
@@ -446,6 +446,7 @@
"NODE_MOVE": {
"SINGULAR": "Moved {{ success }} item.",
"PLURAL": "Moved {{ success }} items.",
+ "GENERAL": "Moved item",
"PARTIAL": {
"SINGULAR": "Partially moved {{ partially }} item.",
"PLURAL": "Partially moved {{ partially }} items.",
diff --git a/projects/aca-content/src/lib/components/files/files.component.html b/projects/aca-content/src/lib/components/files/files.component.html
index 5fe5142f8..173d1ec5d 100644
--- a/projects/aca-content/src/lib/components/files/files.component.html
+++ b/projects/aca-content/src/lib/components/files/files.component.html
@@ -6,7 +6,8 @@
[folderNode]="node"
[selectedRowItemsCount]="selectedRowItemsCount" [maxItems]="isSmallScreen ? 1 : 0"
(navigate)="onBreadcrumbNavigate($event)"
- (breadcrumbPathElementsChange)="breadcrumbPathNames = $event"/>
+ (breadcrumbPathElementsChange)="breadcrumbPathNames = $event"
+ (dropped)="onBreadcrumbDrop($event)"/>
diff --git a/projects/aca-content/src/lib/components/files/files.component.ts b/projects/aca-content/src/lib/components/files/files.component.ts
index d75c2d10c..6504cceec 100644
--- a/projects/aca-content/src/lib/components/files/files.component.ts
+++ b/projects/aca-content/src/lib/components/files/files.component.ts
@@ -26,6 +26,8 @@ import {
CustomEmptyContentTemplateDirective,
DataColumnComponent,
DataColumnListComponent,
+ DataRow,
+ NotificationService,
PaginationComponent,
ShowHeaderMode
} from '@alfresco/adf-core';
@@ -56,12 +58,13 @@ import {
} from '@alfresco/adf-content-services';
import { DocumentListPresetRef, DynamicColumnComponent } from '@alfresco/adf-extensions';
import { CommonModule } from '@angular/common';
-import { TranslatePipe } from '@ngx-translate/core';
+import { TranslatePipe, TranslateService } from '@ngx-translate/core';
import { DocumentListDirective } from '../../directives/document-list.directive';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { HttpErrorResponse } from '@angular/common/http';
import { extractFiltersFromEncodedQuery } from '../../utils/aca-search-utils';
+import { CdkDragDrop } from '@angular/cdk/drag-drop';
@Component({
imports: [
@@ -92,8 +95,10 @@ import { extractFiltersFromEncodedQuery } from '../../utils/aca-search-utils';
export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
private readonly contentApi = inject(ContentApiService);
private readonly nodeActionsService = inject(NodeActionsService);
+ private readonly notificationService = inject(NotificationService);
private readonly route = inject(ActivatedRoute);
private readonly queryBuilderService = inject(SearchHeaderQueryBuilderService);
+ private readonly translateService = inject(TranslateService);
isValidPath = true;
isAdmin = false;
@@ -419,4 +424,14 @@ export class FilesComponent extends PageComponent implements OnInit, OnDestroy {
}
}
}
+
+ onBreadcrumbDrop(event: CdkDragDrop) {
+ this.documentListService.moveNode(event.item.data.id, event.container.id).subscribe({
+ next: () => {
+ this.documentListService.reload();
+ this.notificationService.showInfo(this.translateService.instant('APP.MESSAGES.INFO.NODE_MOVE.GENERAL'));
+ },
+ error: () => this.notificationService.showError(this.translateService.instant('APP.MESSAGES.ERRORS.NODE_MOVE'))
+ });
+ }
}