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.userQuery = 'mock-search-term';
|
||||||
searchQueryBuilderService.update();
|
searchQueryBuilderService.update();
|
||||||
triggerSearchResults(fakeResultSetPaging);
|
triggerSearchResults(fakeResultSetPaging);
|
||||||
@ -283,6 +283,21 @@ describe('ContentNodeSelectorPanelComponent', () => {
|
|||||||
expect(breadcrumb.componentInstance.folderNode.path).toBe(chosenNode.path);
|
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 () => {
|
it('should NOT show the breadcrumb for the selected node when not on search results list', async () => {
|
||||||
triggerSearchResults(fakeResultSetPaging);
|
triggerSearchResults(fakeResultSetPaging);
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
|
@ -248,7 +248,8 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
|||||||
showingSearchResults: boolean = false;
|
showingSearchResults: boolean = false;
|
||||||
loadingSearchResults: boolean = false;
|
loadingSearchResults: boolean = false;
|
||||||
inDialog: boolean = false;
|
inDialog: boolean = false;
|
||||||
_chosenNode: Node [] = null;
|
_chosenNode: Node[] = null;
|
||||||
|
selectionWithoutValidation: Node[] = null;
|
||||||
folderIdToShow: string | null = null;
|
folderIdToShow: string | null = null;
|
||||||
breadcrumbFolderTitle: string | null = null;
|
breadcrumbFolderTitle: string | null = null;
|
||||||
startSiteGuid: string | null = null;
|
startSiteGuid: string | null = null;
|
||||||
@ -454,8 +455,8 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
|||||||
get breadcrumbFolderNode(): Node | null {
|
get breadcrumbFolderNode(): Node | null {
|
||||||
let folderNode: Node;
|
let folderNode: Node;
|
||||||
|
|
||||||
if (this.showingSearchResults && this.chosenNode) {
|
if (this.showingSearchResults && this.selectionWithoutValidation?.length) {
|
||||||
folderNode = this.chosenNode[0];
|
folderNode = this.selectionWithoutValidation[0];
|
||||||
} else {
|
} else {
|
||||||
folderNode = this.documentList.folderNode;
|
folderNode = this.documentList.folderNode;
|
||||||
}
|
}
|
||||||
@ -629,6 +630,7 @@ export class ContentNodeSelectorPanelComponent implements OnInit, OnDestroy {
|
|||||||
onCurrentSelection(nodesEntries: NodeEntry[]): void {
|
onCurrentSelection(nodesEntries: NodeEntry[]): void {
|
||||||
const validNodesEntity = nodesEntries.filter((node) => this.isSelectionValid(node.entry));
|
const validNodesEntity = nodesEntries.filter((node) => this.isSelectionValid(node.entry));
|
||||||
this.chosenNode = validNodesEntity.map((node) => node.entry);
|
this.chosenNode = validNodesEntity.map((node) => node.entry);
|
||||||
|
this.selectionWithoutValidation = nodesEntries.map(node => node.entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
setTitleIfCustomSite(site: SiteEntry) {
|
setTitleIfCustomSite(site: SiteEntry) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user