diff --git a/docs/content-services/components/content-node-selector-panel.component.md b/docs/content-services/components/content-node-selector-panel.component.md
index c3ce9a4049..6443d81a10 100644
--- a/docs/content-services/components/content-node-selector-panel.component.md
+++ b/docs/content-services/components/content-node-selector-panel.component.md
@@ -45,6 +45,7 @@ Opens a [Content Node Selector](content-node-selector.component.md) in its own
| showDropdownSiteList | `boolean` | | Toggle sites list dropdown rendering |
| showFilesInResult | `void` | | Shows the files and folders in the search result |
| showSearch | `boolean` | | Toggle search input rendering |
+| showNodeCounter | `boolean` | false | Shows the node counter in the breadcrumb |
### Events
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.html b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.html
index bc3260a1ef..621b208cd6 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.html
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.html
@@ -43,7 +43,7 @@
-
+
{{ 'NODE_SELECTOR.SEARCH_RESULTS' | translate }}
@@ -57,6 +57,7 @@
[root]="breadcrumbFolderTitle"
data-automation-id="content-node-selector-content-breadcrumb">
+
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.spec.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.spec.ts
index 22548813c7..e9b579a0d0 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.spec.ts
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.spec.ts
@@ -1387,6 +1387,12 @@ describe('ContentNodeSelectorPanelComponent', () => {
expect(component.getSelectedCount()).toBe(0);
});
+
+ it('should not render component input if `showNodeCounter` is false', () => {
+ component.showNodeCounter = false;
+ fixture.detectChanges();
+ expect(fixture.debugElement.nativeElement.querySelector('adf-node-counter')).toBe(null);
+ });
});
});
});
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts
index 0e8c43eb47..e140f66aa5 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector-panel.component.ts
@@ -76,6 +76,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
private showSiteList = true;
private showSearchField = true;
+ private showCounter = false;
/** If true will restrict the search and breadcrumbs to the currentFolderId */
@Input()
@@ -200,6 +201,16 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
}
}
+ /** Shows the node counter in the breadcrumb */
+ @Input()
+ set showNodeCounter(value: boolean) {
+ this.showCounter = value ?? false;
+ }
+
+ get showNodeCounter(): boolean {
+ return this.showCounter;
+ }
+
/** Emitted when the user has chosen an item. */
@Output()
select: EventEmitter
= new EventEmitter();
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.html b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.html
index 58b0fb33e2..ef919d6c2c 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.html
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.html
@@ -24,6 +24,7 @@
[showSearch]="data?.showSearch"
[showDropdownSiteList]="data?.showDropdownSiteList"
[showFilesInResult]="data?.showFilesInResult"
+ [showNodeCounter]="isCounterVisible()"
(currentFolder)="onCurrentFolder($event)"
(folderLoaded)="onFolderLoaded()"
(select)="onSelect($event)"
@@ -35,7 +36,7 @@
-
+
+
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts
index 29e637600f..399cb66693 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts
@@ -446,5 +446,23 @@ describe('ContentNodeSelectorComponent', () => {
expect(component.getSelectedCount()).toBe(1);
});
+
+ it('should show the counter depending on the action', () => {
+ component.action = 'ATTACH';
+ fixture.detectChanges();
+ expect(fixture.debugElement.nativeElement.querySelector('adf-node-counter')).not.toBe(null);
+
+ component.action = 'CHOOSE';
+ fixture.detectChanges();
+ expect(fixture.debugElement.nativeElement.querySelector('adf-node-counter')).not.toBe(null);
+
+ component.action = 'COPY';
+ fixture.detectChanges();
+ expect(fixture.debugElement.nativeElement.querySelector('adf-node-counter')).toBe(null);
+
+ component.action = 'MOVE';
+ fixture.detectChanges();
+ expect(fixture.debugElement.nativeElement.querySelector('adf-node-counter')).toBe(null);
+ });
});
});
diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts
index 9b2c64f45b..350ad9c8ef 100644
--- a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts
+++ b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts
@@ -111,6 +111,10 @@ export class ContentNodeSelectorComponent implements OnInit {
return this.chosenNode?.length || 0;
}
+ isCounterVisible(): boolean {
+ return this.action === 'ATTACH' || this.action === 'CHOOSE';
+ }
+
isMultipleSelection(): boolean {
return this.data.selectionMode === 'multiple';
}