diff --git a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html index 0537b2dcf..1512fab24 100644 --- a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html @@ -10,11 +10,12 @@ + (siteChange)="setFolderLoading(true)" + [currentFolderId]="defaultNodeId" + [rowFilter]="rowFilter" />
diff --git a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts index cef745326..9732b60bc 100644 --- a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts @@ -35,6 +35,7 @@ import { AlfrescoApiServiceMock, ContentNodeSelectorPanelComponent, NodeEntryEvent, + ShareDataRow, SitesService } from '@alfresco/adf-content-services'; import { provideRouter } from '@angular/router'; @@ -48,6 +49,7 @@ import { RuleSet } from '../model/rule-set.model'; }) class MockContentNodeSelectorPanelComponent { @Input() currentFolderId: string; + @Input() rowFilter: (row: ShareDataRow) => boolean; @Output() folderLoaded = new EventEmitter(); @Output() navigationChange = new EventEmitter(); @Output() siteChange = new EventEmitter(); @@ -126,6 +128,18 @@ describe('RuleSetPickerSmartComponent', () => { }); }); + describe('rowFilter', () => { + it('should keep folder rows', () => { + const row = { node: { entry: { isFolder: true } } } as ShareDataRow; + expect(component.rowFilter(row)).toBe(true); + }); + + it('should filter out file rows', () => { + const row = { node: { entry: { isFolder: false } } } as ShareDataRow; + expect(component.rowFilter(row)).toBe(false); + }); + }); + it('should load the rule sets of a node once it has been selected', () => { expect(loadRuleSetsSpy).not.toHaveBeenCalled(); component.onNodeSelect([folderToLinkMock]); diff --git a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts index b0b28e4ca..c131cf5f3 100644 --- a/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts @@ -37,7 +37,7 @@ import { MatIconModule } from '@angular/material/icon'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { RuleListItemUiComponent } from '../rule-list/rule-list-item/rule-list-item.ui-component'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; -import { ContentNodeSelectorPanelComponent } from '@alfresco/adf-content-services'; +import { ContentNodeSelectorPanelComponent, ShareDataRow } from '@alfresco/adf-content-services'; export interface RuleSetPickerOptions { nodeId: string; @@ -104,6 +104,10 @@ export class RuleSetPickerSmartComponent implements OnInit { } } + rowFilter(row: ShareDataRow): boolean { + return row.node.entry.isFolder; + } + setFolderLoading(isLoading: boolean) { this.folderLoading$.next(isLoading); }