Name column fixes (#6904)

This commit is contained in:
Denys Vuika 2021-04-07 12:00:05 +01:00 committed by GitHub
parent ec2436e73b
commit a244200258
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 66 additions and 8 deletions

View File

@ -31,7 +31,7 @@
"application": { "application": {
"storagePrefix": "ADF", "storagePrefix": "ADF",
"name": "Alfresco ADF Application", "name": "Alfresco ADF Application",
"copyright": "© 2016 - 2018 Alfresco Software, Inc. All Rights Reserved." "copyright": "© 2016 - 2021 Alfresco Software, Inc. All Rights Reserved."
}, },
"search": { "search": {
"filterWithContains": true, "filterWithContains": true,

View File

@ -44,6 +44,9 @@ export class NameColumnComponent implements OnInit, OnDestroy {
@Input() @Input()
context: any; context: any;
@Input()
key = 'name';
displayText$ = new BehaviorSubject<string>(''); displayText$ = new BehaviorSubject<string>('');
node: NodeEntry; node: NodeEntry;
@ -73,7 +76,8 @@ export class NameColumnComponent implements OnInit, OnDestroy {
this.node = this.context.row.node; this.node = this.context.row.node;
if (this.node && this.node.entry) { if (this.node && this.node.entry) {
this.displayText$.next(this.node.entry.name || this.node.entry.id); const displayText = this.context.row.getValue(this.key);
this.displayText$.next(displayText || this.node.entry.id);
} }
} }

View File

@ -266,7 +266,7 @@
title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}" title="{{'DOCUMENT_LIST.COLUMNS.DISPLAY_NAME' | translate}}"
[formatTooltip]="getNodeNameTooltip"> [formatTooltip]="getNodeNameTooltip">
<ng-template let-context> <ng-template let-context>
<adf-name-column [context]="context"></adf-name-column> <adf-name-column key="name" [context]="context"></adf-name-column>
</ng-template> </ng-template>
</data-column> </data-column>
<data-column <data-column

View File

@ -583,7 +583,7 @@ For example:
```html ```html
<data-column key="name" title="Name"> <data-column key="name" title="Name">
<ng-template let-context> <ng-template let-context>
<adf-name-column [context]="context"></adf-name-column> <adf-name-column key="name" [context]="context"></adf-name-column>
</ng-template> </ng-template>
</data-column> </data-column>
``` ```

View File

@ -16,9 +16,59 @@
*/ */
import { NameColumnComponent } from './name-column.component'; import { NameColumnComponent } from './name-column.component';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { TranslateModule } from '@ngx-translate/core';
import { ContentTestingModule } from '../../../testing/content.testing.module';
import { skip } from 'rxjs/operators';
describe('NameColumnComponent', () => { describe('NameColumnComponent', () => {
it('should be defined', () => { let fixture: ComponentFixture<NameColumnComponent>;
expect(NameColumnComponent).toBeDefined(); let context: any;
let component: NameColumnComponent;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
TranslateModule.forRoot(),
ContentTestingModule
]
});
fixture = TestBed.createComponent(NameColumnComponent);
context = {
row: {
node: {entry: {}},
getValue(key) {
return key;
}
}
};
component = fixture.componentInstance;
component.context = context;
});
it('should set the display value based on default key', (done) => {
component.displayText$
.pipe(skip(1))
.subscribe(value => {
expect(value).toBe('name');
done();
});
component.ngOnInit();
});
it('should set the display value based on the custom key', (done) => {
component.key = 'title';
component.displayText$
.pipe(skip(1))
.subscribe(value => {
expect(value).toBe('title');
done();
});
component.ngOnInit();
}); });
}); });

View File

@ -53,6 +53,9 @@ export class NameColumnComponent implements OnInit, OnDestroy {
@Input() @Input()
context: any; context: any;
@Input()
key = 'name';
displayText$ = new BehaviorSubject<string>(''); displayText$ = new BehaviorSubject<string>('');
node: NodeEntry; node: NodeEntry;
@ -82,7 +85,8 @@ export class NameColumnComponent implements OnInit, OnDestroy {
this.node = this.context.row.node; this.node = this.context.row.node;
if (this.node && this.node.entry) { if (this.node && this.node.entry) {
this.displayText$.next(this.node.entry.name || this.node.entry.id); const displayText = this.context.row.getValue(this.key);
this.displayText$.next(displayText || this.node.entry.id);
} }
} }