mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2026-09-09 18:02:54 +00:00
[ACS-11975] [ACA] Files can be marked as selected in the link rules dialog (#5221)
This commit is contained in:
+3
-2
@@ -10,11 +10,12 @@
|
||||
<mat-dialog-content class="aca-rule-set-picker__content">
|
||||
<adf-content-node-selector-panel
|
||||
class="aca-rule-set-picker__content__node-selector"
|
||||
[currentFolderId]="defaultNodeId"
|
||||
(select)="onNodeSelect($event)"
|
||||
(folderLoaded)="setFolderLoading(false)"
|
||||
(navigationChange)="setFolderLoading(true)"
|
||||
(siteChange)="setFolderLoading(true)" />
|
||||
(siteChange)="setFolderLoading(true)"
|
||||
[currentFolderId]="defaultNodeId"
|
||||
[rowFilter]="rowFilter" />
|
||||
|
||||
<div class="aca-rule-set-picker__content__rule-list" [ngClass]="{ 'aca-justify': rulesLoading$ | async }">
|
||||
<ng-container *ngIf="rulesLoading$ | async; else rulesLoaded">
|
||||
|
||||
+14
@@ -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<void>();
|
||||
@Output() navigationChange = new EventEmitter<NodeEntryEvent>();
|
||||
@Output() siteChange = new EventEmitter<string>();
|
||||
@@ -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]);
|
||||
|
||||
+5
-1
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user