diff --git a/src/app/components/current-user/user-menu-item.component.html b/src/app/components/current-user/user-menu-item.component.html new file mode 100644 index 000000000..a6209b143 --- /dev/null +++ b/src/app/components/current-user/user-menu-item.component.html @@ -0,0 +1,36 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/app/components/current-user/user-menu-item.component.ts b/src/app/components/current-user/user-menu-item.component.ts new file mode 100644 index 000000000..ea5e2c3c0 --- /dev/null +++ b/src/app/components/current-user/user-menu-item.component.ts @@ -0,0 +1,58 @@ +/*! + * @license + * Alfresco Example Content Application + * + * Copyright (C) 2005 - 2019 Alfresco Software Limited + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ + +import { Component, Input, ViewEncapsulation } from '@angular/core'; +import { ContentActionRef } from '@alfresco/adf-extensions'; +import { AppExtensionService } from '../../extensions/extension.service'; + +@Component({ + selector: 'app-user-menu-item', + templateUrl: 'user-menu-item.component.html', + encapsulation: ViewEncapsulation.None, + host: { class: 'app-user-menu-item' } +}) +export class UserMenuItemComponent { + @Input() + actionRef: ContentActionRef; + + constructor(private extensions: AppExtensionService) {} + + runAction() { + if (this.hasClickAction(this.actionRef)) { + this.extensions.runActionById(this.actionRef.actions.click); + } + } + + private hasClickAction(actionRef: ContentActionRef): boolean { + if (actionRef && actionRef.actions && actionRef.actions.click) { + return true; + } + return false; + } + + trackById(_: number, obj: { id: string }) { + return obj.id; + } +}