@alfresco/adf-content-services
Version:
Alfresco ADF content services
82 lines • 12 kB
JavaScript
/*!
* @license
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component, Input, ViewEncapsulation } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { NodeEntry } from '@alfresco/js-api';
import { NodePermissionService } from '../../services/node-permission.service';
import { CommonModule } from '@angular/common';
import * as i0 from "@angular/core";
import * as i1 from "../../services/node-permission.service";
import * as i2 from "@angular/common";
export class UserNameColumnComponent {
constructor(nodePermissionService) {
this.nodePermissionService = nodePermissionService;
this.displayText$ = new BehaviorSubject('');
this.subTitleText$ = new BehaviorSubject('');
}
ngOnInit() {
if (this.context != null) {
const { person, group, authorityId } = this.context.row.obj?.entry ?? this.context.row.obj;
const permissionGroup = authorityId ? { displayName: authorityId } : null;
this.updatePerson(person);
this.updateGroup(group || permissionGroup);
}
if (this.node) {
const { person, group } = this.nodePermissionService.transformNodeToUserPerson(this.node.entry);
this.updatePerson(person);
this.updateGroup(group);
}
}
updatePerson(person) {
if (person) {
this.displayText$.next(`${person.firstName ?? ''} ${person.lastName ?? ''}`);
this.subTitleText$.next(person.email ?? '');
}
}
updateGroup(group) {
if (group) {
this.displayText$.next(group.displayName || group.id);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserNameColumnComponent, deps: [{ token: i1.NodePermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: UserNameColumnComponent, isStandalone: true, selector: "adf-user-name-column", inputs: { context: "context", node: "node" }, host: { classAttribute: "adf-user-name-column adf-datatable-content-cell adf-expand-cell-5 adf-ellipsis-cell" }, ngImport: i0, template: `
<div class="adf-ellipsis-cell" [attr.data-automation-id]="displayText$ | async">
<span class="adf-user-name-column" title="{{ displayText$ | async }}"> {{ displayText$ | async }}</span>
<br />
<span class="adf-user-email-column" title="{{ subTitleText$ | async }}" *ngIf="subTitleText$ | async">
{{ subTitleText$ | async }}
</span>
</div>
`, isInline: true, styles: [".adf-user-name-column{font-weight:600;font-size:var(--theme-body-1-font-size)}.adf-user-email-column{font-size:var(--theme-body-1-font-size);letter-spacing:-.2px;line-height:1.43;color:var(--adf-theme-foreground-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: UserNameColumnComponent, decorators: [{
type: Component,
args: [{ selector: 'adf-user-name-column', standalone: true, imports: [CommonModule], template: `
<div class="adf-ellipsis-cell" [attr.data-automation-id]="displayText$ | async">
<span class="adf-user-name-column" title="{{ displayText$ | async }}"> {{ displayText$ | async }}</span>
<br />
<span class="adf-user-email-column" title="{{ subTitleText$ | async }}" *ngIf="subTitleText$ | async">
{{ subTitleText$ | async }}
</span>
</div>
`, encapsulation: ViewEncapsulation.None, host: { class: 'adf-user-name-column adf-datatable-content-cell adf-expand-cell-5 adf-ellipsis-cell' }, styles: [".adf-user-name-column{font-weight:600;font-size:var(--theme-body-1-font-size)}.adf-user-email-column{font-size:var(--theme-body-1-font-size);letter-spacing:-.2px;line-height:1.43;color:var(--adf-theme-foreground-text-color)}\n"] }]
}], ctorParameters: () => [{ type: i1.NodePermissionService }], propDecorators: { context: [{
type: Input
}], node: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1uYW1lLWNvbHVtbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL3Blcm1pc3Npb24tbWFuYWdlci9jb21wb25lbnRzL3VzZXItbmFtZS1jb2x1bW4vdXNlci1uYW1lLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQVMsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBbUIvQyxNQUFNLE9BQU8sdUJBQXVCO0lBVWhDLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBSGhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0Msa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUVtQixDQUFDO0lBRXBFLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDM0YsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBb0I7UUFDckMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBWTtRQUM1QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNMLENBQUM7OEdBdENRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLCtPQWJ0Qjs7Ozs7Ozs7S0FRVCwyU0FUUyxZQUFZOzsyRkFjYix1QkFBdUI7a0JBakJuQyxTQUFTOytCQUNJLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7Ozs7Ozs7S0FRVCxpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHFGQUFxRixFQUFFOzBGQUl0RyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdyb3VwLCBOb2RlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vZGUtcGVybWlzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEVjbVVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9tb2RlbHMvZWNtLXVzZXIubW9kZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtdXNlci1uYW1lLWNvbHVtbicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWVsbGlwc2lzLWNlbGxcIiBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiZGlzcGxheVRleHQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLXVzZXItbmFtZS1jb2x1bW5cIiB0aXRsZT1cInt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19XCI+IHt7IGRpc3BsYXlUZXh0JCB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi11c2VyLWVtYWlsLWNvbHVtblwiIHRpdGxlPVwie3sgc3ViVGl0bGVUZXh0JCB8IGFzeW5jIH19XCIgKm5nSWY9XCJzdWJUaXRsZVRleHQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICB7eyBzdWJUaXRsZVRleHQkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi91c2VyLW5hbWUtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLXVzZXItbmFtZS1jb2x1bW4gYWRmLWRhdGF0YWJsZS1jb250ZW50LWNlbGwgYWRmLWV4cGFuZC1jZWxsLTUgYWRmLWVsbGlwc2lzLWNlbGwnIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlck5hbWVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgY29udGV4dDogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBub2RlOiBOb2RlRW50cnk7XG5cbiAgICBkaXNwbGF5VGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHN1YlRpdGxlVGV4dCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBub2RlUGVybWlzc2lvblNlcnZpY2U6IE5vZGVQZXJtaXNzaW9uU2VydmljZSkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcGVyc29uLCBncm91cCwgYXV0aG9yaXR5SWQgfSA9IHRoaXMuY29udGV4dC5yb3cub2JqPy5lbnRyeSA/PyB0aGlzLmNvbnRleHQucm93Lm9iajtcbiAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25Hcm91cCA9IGF1dGhvcml0eUlkID8gKHsgZGlzcGxheU5hbWU6IGF1dGhvcml0eUlkIH0gYXMgR3JvdXApIDogbnVsbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGVyc29uKHBlcnNvbik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyb3VwKGdyb3VwIHx8IHBlcm1pc3Npb25Hcm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ub2RlKSB7XG4gICAgICAgICAgICBjb25zdCB7IHBlcnNvbiwgZ3JvdXAgfSA9IHRoaXMubm9kZVBlcm1pc3Npb25TZXJ2aWNlLnRyYW5zZm9ybU5vZGVUb1VzZXJQZXJzb24odGhpcy5ub2RlLmVudHJ5KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGVyc29uKHBlcnNvbik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyb3VwKGdyb3VwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUGVyc29uKHBlcnNvbjogRWNtVXNlck1vZGVsKSB7XG4gICAgICAgIGlmIChwZXJzb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVRleHQkLm5leHQoYCR7cGVyc29uLmZpcnN0TmFtZSA/PyAnJ30gJHtwZXJzb24ubGFzdE5hbWUgPz8gJyd9YCk7XG4gICAgICAgICAgICB0aGlzLnN1YlRpdGxlVGV4dCQubmV4dChwZXJzb24uZW1haWwgPz8gJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVHcm91cChncm91cDogR3JvdXApIHtcbiAgICAgICAgaWYgKGdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JC5uZXh0KGdyb3VwLmRpc3BsYXlOYW1lIHx8IGdyb3VwLmlkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==