mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[ACA-4310] - Show the breadcrumb even for invalid selections in searc… (#7241)
* [ACA-4310] - Show the breadcrumb even for invalid selections in search results * Empty commit Co-authored-by: Ardit Domi <arditdomi@apl-c02g64vpmd6t.home>
This commit is contained in:
parent
20f1ca1cf9
commit
cb79b216ce
@ -269,7 +269,7 @@ describe('ContentNodeSelectorPanelComponent', () => {
|
||||
|
||||
});
|
||||
|
||||
it('should show the breadcrumb for the selected node when search results are displayed', async () => {
|
||||
it('should show the breadcrumb in search results for a valid node selection', async () => {
|
||||
searchQueryBuilderService.userQuery = 'mock-search-term';
|
||||
searchQueryBuilderService.update();
|
||||
triggerSearchResults(fakeResultSetPaging);
|
||||
@ -283,6 +283,21 @@ describe('ContentNodeSelectorPanelComponent', () => {
|
||||
expect(breadcrumb.componentInstance.folderNode.path).toBe(chosenNode.path);
|
||||
});
|
||||
|
||||
it('should show the breadcrumb in search results even for an invalid node selection', async () => {
|
||||
component.isSelectionValid = (node: Node) => node.isFile;
|
||||
searchQueryBuilderService.userQuery = 'mock-search-term';
|
||||
searchQueryBuilderService.update();
|
||||
triggerSearchResults(fakeResultSetPaging);
|
||||
|
||||
const chosenNode = new Node({ path: { elements: ['fake-path'] }, isFile: false, isFolder: true });
|
||||
component.onCurrentSelection([{ entry: chosenNode }]);
|
||||
fixture.detectChanges();
|
||||
|
||||
const breadcrumb = fixture.debugElement.query(By.directive(DropdownBreadcrumbComponent));
|
||||
expect(breadcrumb).not.toBeNull();
|
||||
expect(breadcrumb.componentInstance.folderNode.path).toBe(chosenNode.path);
|
||||
});
|
||||
|
||||
it('should NOT show the breadcrumb for the selected node when not on search results list', async () => {
|
||||
triggerSearchResults(fakeResultSetPaging);
|
||||
fixture.detectChanges();
|
||||
|
@ -249,6 +249,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
loadingSearchResults: boolean = false;
|
||||
inDialog: boolean = false;
|
||||
_chosenNode: Node[] = null;
|
||||
selectionWithoutValidation: Node[] = null;
|
||||
folderIdToShow: string | null = null;
|
||||
breadcrumbFolderTitle: string | null = null;
|
||||
startSiteGuid: string | null = null;
|
||||
@ -454,8 +455,8 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
get breadcrumbFolderNode(): Node | null {
|
||||
let folderNode: Node;
|
||||
|
||||
if (this.showingSearchResults && this.chosenNode) {
|
||||
folderNode = this.chosenNode[0];
|
||||
if (this.showingSearchResults && this.selectionWithoutValidation?.length) {
|
||||
folderNode = this.selectionWithoutValidation[0];
|
||||
} else {
|
||||
folderNode = this.documentList.folderNode;
|
||||
}
|
||||
@ -629,6 +630,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
||||
onCurrentSelection(nodesEntries: NodeEntry[]): void {
|
||||
const validNodesEntity = nodesEntries.filter((node) => this.isSelectionValid(node.entry));
|
||||
this.chosenNode = validNodesEntity.map((node) => node.entry);
|
||||
this.selectionWithoutValidation = nodesEntries.map(node => node.entry);
|
||||
}
|
||||
|
||||
setTitleIfCustomSite(site: SiteEntry) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user