[ACA-3251] Move InfoDrawer and Toolbar components to aca-shared (#1466)

* moved tool bar

* moved info drawer

* moved appextension service

* moved pagination service

* Fix imports

* * fixed lints

* * fixed space

* added travis configuration

* * comments fixed

* * comments fixed

* * lint fixed

Co-authored-by: dhrn <dharan.g@muraai.com>
This commit is contained in:
davidcanonieto
2020-05-12 14:34:26 +01:00
committed by GitHub
parent 6dc01c4b17
commit 6417337f9d
70 changed files with 326 additions and 87 deletions

View File

@@ -0,0 +1,49 @@
<ng-container [ngSwitch]="actionRef.type">
<ng-container *ngSwitchCase="'menu'">
<button
mat-menu-item
role="menuitem"
[disabled]="actionRef.disabled"
[matMenuTriggerFor]="childMenu"
>
<adf-icon [value]="actionRef.icon"></adf-icon>
<span>{{ actionRef.title | translate }}</span>
</button>
<mat-menu #childMenu="matMenu" class="app-create-menu__sub-menu">
<ng-container
*ngFor="let child of actionRef.children; trackBy: trackById"
>
<app-toolbar-menu-item [actionRef]="child"></app-toolbar-menu-item>
</ng-container>
</mat-menu>
</ng-container>
<ng-container *ngSwitchCase="'separator'">
<mat-divider></mat-divider>
</ng-container>
<ng-container *ngSwitchCase="'custom'">
<adf-dynamic-component [id]="actionRef.component"></adf-dynamic-component>
</ng-container>
<ng-container *ngSwitchDefault>
<button
[id]="actionRef.id"
role="button"
mat-menu-item
[role]="'button'"
color="primary"
[disabled]="actionRef.disabled"
[attr.title]="
(actionRef.disabled
? actionRef['description-disabled']
: actionRef.description || actionRef.title) | translate
"
(click)="runAction()"
>
<adf-icon [value]="actionRef.icon"></adf-icon>
<span>{{ actionRef.title | translate }}</span>
</button>
</ng-container>
</ng-container>

View File

@@ -0,0 +1,32 @@
/*!
* @license
* Alfresco Example Content Application
*
* Copyright (C) 2005 - 2020 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 <http://www.gnu.org/licenses/>.
*/
import { ToolbarMenuItemComponent } from './toolbar-menu-item.component';
describe('ToolbarMenuItemComponent', () => {
it('should be defined', () => {
expect(ToolbarMenuItemComponent).toBeDefined();
});
});

View File

@@ -0,0 +1,65 @@
/*!
* @license
* Alfresco Example Content Application
*
* Copyright (C) 2005 - 2020 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 <http://www.gnu.org/licenses/>.
*/
import { Component, Input, ViewEncapsulation } from '@angular/core';
import { ContentActionRef } from '@alfresco/adf-extensions';
import { AppExtensionService } from '../../../services/app.extension.service';
@Component({
selector: 'app-toolbar-menu-item',
templateUrl: 'toolbar-menu-item.component.html',
styles: [
`
.app-toolbar-menu-item:last-child > .mat-divider-horizontal {
display: none;
}
`
],
encapsulation: ViewEncapsulation.None,
host: { class: 'app-toolbar-menu-item' }
})
export class ToolbarMenuItemComponent {
@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;
}
}