From 10244f45acd3223d67f01b3dccfa10a971780266 Mon Sep 17 00:00:00 2001
From: Darya Blavanovich <166367848+DaryaBalvanovich@users.noreply.github.com>
Date: Mon, 29 Apr 2024 08:55:18 +0200
Subject: [PATCH] [ACS-7577] [ADF] Remove Folder Directives from Content
 Services lib (#9582)

* ACS-7577 remove create and edit folder directive [ci:force]

* Revert "ACS-7577 remove create and edit folder directive [ci:force]"

This reverts commit a0055aa496d1c6ee64118035acb36b55ab59716b.

* ACS-7577 move edit and create folder directives to demo-shell [ci:force]

* ACS-7577 remove public-api and fix readme file [ci:force]

* ACS-7577 remove edit directive [ci:force]

* ACS-7577 update e2e tests [ci:force]

* ACS-7577 update e2e tests [ci:force]

* ACS-7577 update e2e tests [ci:force]

* ACS-7577 revert e2e tests [ci:force]

* ACS-7577 revert e2e tests and create button [ci:force]

* ACS-7577 refactor e2e test [ci:force]

---------

Co-authored-by: DaryaBalvanovich <darya.balvanovich1@hyland.com>
---
 demo-shell/src/app/app.module.ts              |   4 +-
 .../app/components/files/files.component.html |  13 ---
 .../app/components/files/files.component.ts   |  11 --
 .../folder-create.directive.md                |   2 +-
 .../folder-create.directive.spec.ts           |   4 +-
 .../folder-create.directive.ts                |  12 +-
 .../folder-directive.module.ts                |  16 +--
 .../src/app}/folder-directive/index.ts        |   4 +-
 docs/README.md                                |   2 -
 .../directives/folder-edit.directive.md       |  48 --------
 .../document-list-pagination.e2e.ts           |   3 -
 .../src/lib/content.module.ts                 |   3 -
 .../folder-edit.directive.spec.ts             | 110 ------------------
 .../folder-directive/folder-edit.directive.ts |  92 ---------------
 .../src/lib/folder-directive/public-api.ts    |  21 ----
 lib/content-services/src/public-api.ts        |   1 -
 16 files changed, 16 insertions(+), 330 deletions(-)
 rename {docs/content-services/directives => demo-shell/src/app/folder-directive}/folder-create.directive.md (98%)
 rename {lib/content-services/src/lib => demo-shell/src/app}/folder-directive/folder-create.directive.spec.ts (96%)
 rename {lib/content-services/src/lib => demo-shell/src/app}/folder-directive/folder-create.directive.ts (88%)
 rename {lib/content-services/src/lib => demo-shell/src/app}/folder-directive/folder-directive.module.ts (75%)
 rename {lib/content-services/src/lib => demo-shell/src/app}/folder-directive/index.ts (88%)
 delete mode 100644 docs/content-services/directives/folder-edit.directive.md
 delete mode 100644 lib/content-services/src/lib/folder-directive/folder-edit.directive.spec.ts
 delete mode 100644 lib/content-services/src/lib/folder-directive/folder-edit.directive.ts
 delete mode 100644 lib/content-services/src/lib/folder-directive/public-api.ts

diff --git a/demo-shell/src/app/app.module.ts b/demo-shell/src/app/app.module.ts
index 2822b58c51..78495a2a6d 100644
--- a/demo-shell/src/app/app.module.ts
+++ b/demo-shell/src/app/app.module.ts
@@ -67,6 +67,7 @@ import { ProcessCloudLayoutComponent } from './components/cloud/process-cloud-la
 import { CustomEditorComponent, CustomWidgetComponent } from './components/cloud/custom-form-components/custom-editor.component';
 import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
 import { UserInfoComponent } from './components/app-layout/user-info/user-info.component';
+import { FolderDirectiveModule } from './folder-directive';
 
 @NgModule({
     imports: [
@@ -87,7 +88,8 @@ import { UserInfoComponent } from './components/app-layout/user-info/user-info.c
         ExtensionsModule.forRoot(),
         NgChartsModule,
         AppCloudSharedModule,
-        MonacoEditorModule.forRoot()
+        MonacoEditorModule.forRoot(),
+        FolderDirectiveModule
     ],
     declarations: [
         AppComponent,
diff --git a/demo-shell/src/app/components/files/files.component.html b/demo-shell/src/app/components/files/files.component.html
index 47815e5df6..2ab363c090 100644
--- a/demo-shell/src/app/components/files/files.component.html
+++ b/demo-shell/src/app/components/files/files.component.html
@@ -64,19 +64,6 @@
                     <mat-icon>more_vert</mat-icon>
                 </button>
                 <mat-menu #menu="matMenu">
-                    <button mat-menu-item
-                            (error)="openSnackMessageError($event)"
-                            [adf-create-folder]="currentFolderId">
-                        <mat-icon>create_new_folder</mat-icon>
-                        <span>New folder</span>
-                    </button>
-                    <button mat-menu-item
-                            [disabled]="!canEditFolder(documentList.selection)"
-                            (error)="openSnackMessageError($event)"
-                            [adf-edit-folder]="documentList.selection[0]?.entry">
-                        <mat-icon>create</mat-icon>
-                        <span>Edit folder</span>
-                    </button>
                     <button mat-menu-item
                             adf-check-allowable-operation="delete"
                             [adf-nodes]="documentList.selection"
diff --git a/demo-shell/src/app/components/files/files.component.ts b/demo-shell/src/app/components/files/files.component.ts
index 7ceb25b1f2..5db9a4087a 100644
--- a/demo-shell/src/app/components/files/files.component.ts
+++ b/demo-shell/src/app/components/files/files.component.ts
@@ -390,17 +390,6 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
         return this.contentService.hasAllowableOperations(selection[0].entry, 'update');
     }
 
-    canEditFolder(selection: Array<NodeEntry>): boolean {
-        if (selection && selection.length === 1) {
-            const entry = selection[0].entry;
-
-            if (entry?.isFolder) {
-                return this.contentService.hasAllowableOperations(entry, 'update');
-            }
-        }
-        return false;
-    }
-
     canCreateContent(parentNode: Node): boolean {
         if (parentNode) {
             return this.contentService.hasAllowableOperations(parentNode, 'create');
diff --git a/docs/content-services/directives/folder-create.directive.md b/demo-shell/src/app/folder-directive/folder-create.directive.md
similarity index 98%
rename from docs/content-services/directives/folder-create.directive.md
rename to demo-shell/src/app/folder-directive/folder-create.directive.md
index ba933d5f40..1d48413477 100644
--- a/docs/content-services/directives/folder-create.directive.md
+++ b/demo-shell/src/app/folder-directive/folder-create.directive.md
@@ -1,7 +1,7 @@
 ---
 Title: Folder Create directive
 Added: v2.0.0
-Status: Active
+Status: Deprecated
 Last reviewed: 2019-01-16
 ---
 
diff --git a/lib/content-services/src/lib/folder-directive/folder-create.directive.spec.ts b/demo-shell/src/app/folder-directive/folder-create.directive.spec.ts
similarity index 96%
rename from lib/content-services/src/lib/folder-directive/folder-create.directive.spec.ts
rename to demo-shell/src/app/folder-directive/folder-create.directive.spec.ts
index 4e90a7425d..2358a744e0 100644
--- a/lib/content-services/src/lib/folder-directive/folder-create.directive.spec.ts
+++ b/demo-shell/src/app/folder-directive/folder-create.directive.spec.ts
@@ -22,8 +22,8 @@ import { By } from '@angular/platform-browser';
 import { Subject, of } from 'rxjs';
 import { FolderCreateDirective } from './folder-create.directive';
 import { Node } from '@alfresco/js-api';
-import { ContentTestingModule } from '../testing/content.testing.module';
-import { ContentService } from '../common/services/content.service';
+import { ContentService } from '@alfresco/adf-content-services';
+import { ContentTestingModule } from 'lib/content-services/src/lib/testing/content.testing.module';
 
 @Component({
     template: ` <div [adf-create-folder]="parentNode" (success)="success($event)" title="create-title" [nodeType]="'cm:my-little-pony'"></div>`
diff --git a/lib/content-services/src/lib/folder-directive/folder-create.directive.ts b/demo-shell/src/app/folder-directive/folder-create.directive.ts
similarity index 88%
rename from lib/content-services/src/lib/folder-directive/folder-create.directive.ts
rename to demo-shell/src/app/folder-directive/folder-create.directive.ts
index 35ab1dcf88..f7cedd20d2 100644
--- a/lib/content-services/src/lib/folder-directive/folder-create.directive.ts
+++ b/demo-shell/src/app/folder-directive/folder-create.directive.ts
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 
-/* eslint-disable @angular-eslint/no-input-rename */
+/* eslint-disable */
 
 import { Directive, HostListener, Input, Output, EventEmitter } from '@angular/core';
 import { MatDialog } from '@angular/material/dialog';
 import { Node } from '@alfresco/js-api';
-import { FolderDialogComponent } from '../dialogs/folder.dialog';
-import { ContentService } from '../common/services/content.service';
+import { ContentService, FolderDialogComponent } from '@alfresco/adf-content-services';
 
 const DEFAULT_FOLDER_PARENT_ID = '-my-';
 const DIALOG_WIDTH: number = 400;
@@ -50,16 +49,13 @@ export class FolderCreateDirective {
     @Output()
     success: EventEmitter<Node> = new EventEmitter<Node>();
 
-    @HostListener('click', [ '$event' ])
+    @HostListener('click', ['$event'])
     onClick(event) {
         event.preventDefault();
         this.openDialog();
     }
 
-    constructor(
-        public dialogRef: MatDialog,
-        public content: ContentService
-    ) {}
+    constructor(public dialogRef: MatDialog, public content: ContentService) {}
 
     private get dialogConfig() {
         const { parentNodeId, title: createTitle, nodeType } = this;
diff --git a/lib/content-services/src/lib/folder-directive/folder-directive.module.ts b/demo-shell/src/app/folder-directive/folder-directive.module.ts
similarity index 75%
rename from lib/content-services/src/lib/folder-directive/folder-directive.module.ts
rename to demo-shell/src/app/folder-directive/folder-directive.module.ts
index 325f62b692..3f687d8832 100644
--- a/lib/content-services/src/lib/folder-directive/folder-directive.module.ts
+++ b/demo-shell/src/app/folder-directive/folder-directive.module.ts
@@ -20,20 +20,10 @@ import { NgModule } from '@angular/core';
 import { MaterialModule } from '../material.module';
 
 import { FolderCreateDirective } from './folder-create.directive';
-import { FolderEditDirective } from './folder-edit.directive';
 
 @NgModule({
-    imports: [
-        CommonModule,
-        MaterialModule
-    ],
-    declarations: [
-        FolderCreateDirective,
-        FolderEditDirective
-    ],
-    exports: [
-        FolderCreateDirective,
-        FolderEditDirective
-    ]
+    imports: [CommonModule, MaterialModule],
+    declarations: [FolderCreateDirective],
+    exports: [FolderCreateDirective]
 })
 export class FolderDirectiveModule {}
diff --git a/lib/content-services/src/lib/folder-directive/index.ts b/demo-shell/src/app/folder-directive/index.ts
similarity index 88%
rename from lib/content-services/src/lib/folder-directive/index.ts
rename to demo-shell/src/app/folder-directive/index.ts
index e58e5c1c41..d373796834 100644
--- a/lib/content-services/src/lib/folder-directive/index.ts
+++ b/demo-shell/src/app/folder-directive/index.ts
@@ -15,4 +15,6 @@
  * limitations under the License.
  */
 
-export * from './public-api';
+export * from './folder-create.directive';
+
+export * from './folder-directive.module';
diff --git a/docs/README.md b/docs/README.md
index fdf2a4e32e..9908957725 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -331,8 +331,6 @@ for more information about installing and using the source code.
 | [Check Allowable Operation directive](content-services/directives/check-allowable-operation.directive.md) | Selectively disables an HTML element or Angular component. | [Source](../lib/content-services/src/lib/directives/check-allowable-operation.directive.ts) |
 | [Node Public File Share Directive](content-services/directives/content-node-share.directive.md) | Creates and manages public shared links for files. | [Source](../lib/content-services/src/lib/content-node-share/content-node-share.directive.ts) |
 | [File Draggable directive](content-services/directives/file-draggable.directive.md) | Provides drag-and-drop features for an element such as a div. | [Source](../lib/content-services/src/lib/upload/directives/file-draggable.directive.ts) |
-| [Folder Create directive](content-services/directives/folder-create.directive.md) | Creates folders. | [Source](../lib/content-services/src/lib/folder-directive/folder-create.directive.ts) |
-| [Folder Edit directive](content-services/directives/folder-edit.directive.md) | Allows folders to be edited. | [Source](../lib/content-services/src/lib/folder-directive/folder-edit.directive.ts) |
 | [Inherit Permission directive](content-services/directives/inherited-button.directive.md) | Update the current node by adding/removing the inherited permissions. | [Source](../lib/content-services/src/lib/permission-manager/components/inherited-button.directive.ts) |
 | [Node Counter directive](content-services/directives/node-counter.directive.md) | Appends a counter to an element. | [Source](../lib/content-services/src/lib/directives/node-counter.directive.ts) |
 | [Node Delete directive](content-services/directives/node-delete.directive.md) | Deletes multiple files and folders. | [Source](../lib/content-services/src/lib/directives/node-delete.directive.ts) |
diff --git a/docs/content-services/directives/folder-edit.directive.md b/docs/content-services/directives/folder-edit.directive.md
deleted file mode 100644
index e796a6a43d..0000000000
--- a/docs/content-services/directives/folder-edit.directive.md
+++ /dev/null
@@ -1,48 +0,0 @@
----
-Title: Folder Edit directive
-Added: v2.0.0
-Status: Active
-Last reviewed: 2019-01-16
----
-
-# [Folder Edit directive](../../../lib/content-services/src/lib/folder-directive/folder-edit.directive.ts "Defined in folder-edit.directive.ts")
-
-Allows folders to be edited.
-
-## Basic Usage
-
-```html
-<adf-toolbar title="toolbar example">
-    <button mat-icon-button
-            [adf-edit-folder]="documentList.selection[0]?.entry"
-            title="Title of the dialog"
-            (success)="doSomething($event)">
-        <mat-icon>create</mat-icon>
-    </button>
-</adf-toolbar>
-
-<adf-document-list #documentList ...>
-    ...
-</adf-document-list>
-```
-
-## Class members
-
-### Properties
-
-| Name | Type | Default value | Description |
-| ---- | ---- | ------------- | ----------- |
-| folder | `Node` |  | Folder node to edit. |
-| title | `string` | null | Title of folder edit dialog. |
-
-### Events
-
-| Name | Type | Description |
-| ---- | ---- | ----------- |
-| error | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<any>` | Emitted when an error occurs (eg, a folder with same name already exists). |
-| success | [`EventEmitter`](https://angular.io/api/core/EventEmitter)`<Node>` | Emitted when the folder has been edited successfully. |
-
-## Details
-
-Pass this directive a folder to edit its name and description using a [Folder Dialog component](../../../lib/content-services/dialogs/folder.dialog.ts).
-If the data is valid then the dialog emits a `folderEdit` event when it closes.
diff --git a/e2e/content-services/document-list/document-list-pagination.e2e.ts b/e2e/content-services/document-list/document-list-pagination.e2e.ts
index bef68ea475..1660313fe8 100644
--- a/e2e/content-services/document-list/document-list-pagination.e2e.ts
+++ b/e2e/content-services/document-list/document-list-pagination.e2e.ts
@@ -269,10 +269,8 @@ describe('Document List - Pagination', () => {
         await expect(await paginationPage.getCurrentItemsPerPage()).toEqual('5');
 
         await contentServicesPage.createAndOpenNewFolder(folderTwoModel.name);
-
         await contentServicesPage.checkPaginationIsNotDisplayed();
         await contentServicesPage.deleteSubFolderUnderRoot(newFolderModel.name, folderTwoModel.name);
-
     });
 
     it('[C260071] Should be able to change pagination when having 25 files', async () => {
@@ -371,7 +369,6 @@ describe('Document List - Pagination', () => {
         await contentServicesPage.createNewFolder(folderTwoModel.name);
         const nodeIdSubFolderTwo = await contentServicesPage.getAttributeValueForElement(folderTwoModel.name, 'Node id');
         await contentServicesPage.openFolder(folderTwoModel.name);
-
         for (let i = 0; i < numberOfSubFolders; i++) {
             await uploadActions.createFolder('subfolder' + (i + 1), nodeIdSubFolderTwo);
         }
diff --git a/lib/content-services/src/lib/content.module.ts b/lib/content-services/src/lib/content.module.ts
index 4e9540f812..6431bb6b9b 100644
--- a/lib/content-services/src/lib/content.module.ts
+++ b/lib/content-services/src/lib/content.module.ts
@@ -33,7 +33,6 @@ import { ContentNodeSelectorModule } from './content-node-selector/content-node-
 import { ContentNodeShareModule } from './content-node-share/content-node-share.module';
 import { ContentDirectiveModule } from './directives/content-directive.module';
 import { DialogModule } from './dialogs/dialog.module';
-import { FolderDirectiveModule } from './folder-directive/folder-directive.module';
 import { ContentMetadataModule } from './content-metadata/content-metadata.module';
 import { PermissionManagerModule } from './permission-manager/permission-manager.module';
 import { TreeViewModule } from './tree-view/tree-view.module';
@@ -70,7 +69,6 @@ import { ContentAuthLoaderService } from './auth-loader/content-auth-loader.serv
         ContentNodeSelectorModule,
         ContentNodeShareModule,
         ContentMetadataModule,
-        FolderDirectiveModule,
         ContentDirectiveModule,
         PermissionManagerModule,
         VersionManagerModule,
@@ -98,7 +96,6 @@ import { ContentAuthLoaderService } from './auth-loader/content-auth-loader.serv
         ContentNodeShareModule,
         ContentMetadataModule,
         DialogModule,
-        FolderDirectiveModule,
         ContentDirectiveModule,
         PermissionManagerModule,
         VersionManagerModule,
diff --git a/lib/content-services/src/lib/folder-directive/folder-edit.directive.spec.ts b/lib/content-services/src/lib/folder-directive/folder-edit.directive.spec.ts
deleted file mode 100644
index 6b49f20e25..0000000000
--- a/lib/content-services/src/lib/folder-directive/folder-edit.directive.spec.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component } from '@angular/core';
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatDialog } from '@angular/material/dialog';
-import { By } from '@angular/platform-browser';
-import { Subject, of } from 'rxjs';
-import { FolderEditDirective } from './folder-edit.directive';
-import { Node } from '@alfresco/js-api';
-import { ContentTestingModule } from '../testing/content.testing.module';
-import { ContentService } from '../common/services/content.service';
-
-@Component({
-    template: '<div [adf-edit-folder]="folder" (success)="success($event)" title="edit-title"></div>'
-})
-class TestComponent {
-    folder = {};
-    public successParameter: Node = null;
-
-    success(node: Node) {
-        this.successParameter = node;
-    }
-}
-
-describe('FolderEditDirective', () => {
-    let fixture: ComponentFixture<TestComponent>;
-    let element;
-    let dialog: MatDialog;
-    let contentService: ContentService;
-    let dialogRefMock;
-
-    const event = {
-        type: 'click',
-        preventDefault: () => null
-    };
-
-    beforeEach(() => {
-        TestBed.configureTestingModule({
-            imports: [ContentTestingModule],
-            declarations: [TestComponent]
-        });
-        fixture = TestBed.createComponent(TestComponent);
-        element = fixture.debugElement.query(By.directive(FolderEditDirective));
-        dialog = TestBed.inject(MatDialog);
-        contentService = TestBed.inject(ContentService);
-
-        dialogRefMock = {
-            afterClosed: (val) => of(val),
-            componentInstance: {
-                error: new Subject<any>(),
-                success: new Subject<Node>()
-            }
-        };
-
-        spyOn(dialog, 'open').and.returnValue(dialogRefMock);
-    });
-
-    it('should not emit folderEdit event when input value is undefined', async () => {
-        spyOn(dialogRefMock, 'afterClosed').and.returnValue(of(null));
-        spyOn(contentService.folderEdit, 'next');
-
-        fixture.detectChanges();
-        await fixture.whenStable();
-
-        element.nativeElement.click();
-        expect(contentService.folderEdit.next).not.toHaveBeenCalled();
-    });
-
-    it('should emit success event with node if the folder creation was successful', async () => {
-        fixture.detectChanges();
-        const testNode: any = {};
-
-        element.triggerEventHandler('click', event);
-        dialogRefMock.componentInstance.success.next(testNode);
-
-        fixture.detectChanges();
-        await fixture.whenStable();
-        expect(fixture.componentInstance.successParameter).toBe(testNode);
-    });
-
-    it('should open the dialog with the proper title', async () => {
-        fixture.detectChanges();
-        element.triggerEventHandler('click', event);
-
-        await fixture.whenStable();
-
-        expect(dialog.open).toHaveBeenCalledWith(jasmine.any(Function), {
-            data: {
-                folder: jasmine.any(Object),
-                editTitle: 'edit-title'
-            },
-            width: jasmine.any(String)
-        });
-    });
-});
diff --git a/lib/content-services/src/lib/folder-directive/folder-edit.directive.ts b/lib/content-services/src/lib/folder-directive/folder-edit.directive.ts
deleted file mode 100644
index 5f19d8f0cf..0000000000
--- a/lib/content-services/src/lib/folder-directive/folder-edit.directive.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/* eslint-disable @angular-eslint/no-input-rename */
-
-import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';
-import { MatDialog } from '@angular/material/dialog';
-import { Node } from '@alfresco/js-api';
-import { FolderDialogComponent } from '../dialogs/folder.dialog';
-import { ContentService } from '../common/services/content.service';
-
-const DIALOG_WIDTH: number = 400;
-
-@Directive({
-    selector: '[adf-edit-folder]'
-})
-export class FolderEditDirective {
-    /** Folder node to edit. */
-    @Input('adf-edit-folder')
-    folder: Node;
-
-    /** Emitted when an error occurs (eg, a folder with same name already exists). */
-    @Output()
-    error = new EventEmitter<any>();
-
-    /** Title of folder edit dialog. */
-    @Input()
-    title: string = null;
-
-    /** Emitted when the folder has been edited successfully. */
-    @Output()
-    success = new EventEmitter<Node>();
-
-    @HostListener('click', [ '$event' ])
-    onClick(event) {
-        event.preventDefault();
-        if (this.folder) {
-            this.openDialog();
-        }
-    }
-
-    constructor(
-        public dialogRef: MatDialog,
-        public elementRef: ElementRef,
-        public content: ContentService
-    ) {}
-
-    private get dialogConfig() {
-        const { folder } = this;
-
-        return {
-            data: {
-                folder,
-                editTitle: this.title
-            },
-            width: `${DIALOG_WIDTH}px`
-        };
-    }
-
-    private openDialog(): void {
-        const { dialogRef, dialogConfig, content } = this;
-        const dialogInstance = dialogRef.open(FolderDialogComponent, dialogConfig);
-
-        dialogInstance.componentInstance.error.subscribe((error) => {
-            this.error.emit(error);
-        });
-
-        dialogInstance.componentInstance.success.subscribe((node: Node) => {
-            this.success.emit(node);
-        });
-
-        dialogInstance.afterClosed().subscribe((node: Node) => {
-            if (node) {
-                content.folderEdit.next(node);
-            }
-        });
-    }
-}
diff --git a/lib/content-services/src/lib/folder-directive/public-api.ts b/lib/content-services/src/lib/folder-directive/public-api.ts
deleted file mode 100644
index f00ea95f1f..0000000000
--- a/lib/content-services/src/lib/folder-directive/public-api.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-export * from './folder-create.directive';
-export * from './folder-edit.directive';
-
-export * from './folder-directive.module';
diff --git a/lib/content-services/src/public-api.ts b/lib/content-services/src/public-api.ts
index b9447dce14..4d9f241421 100644
--- a/lib/content-services/src/public-api.ts
+++ b/lib/content-services/src/public-api.ts
@@ -26,7 +26,6 @@ export * from './lib/breadcrumb/index';
 export * from './lib/version-manager/index';
 export * from './lib/content-node-selector/index';
 export * from './lib/dialogs/index';
-export * from './lib/folder-directive/index';
 export * from './lib/content-metadata/index';
 export * from './lib/permission-manager/index';
 export * from './lib/content-node-share/index';