aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/popup-menu/popup-menu-item.component.ts
diff options
context:
space:
mode:
authorIsrael Lavi <israel.lavi@intl.att.com>2018-05-21 17:42:00 +0300
committerIsrael Lavi <il0695@att.com>2018-05-21 17:52:01 +0300
commit1994c98063c27a41797dec01f2ca9fcbe33ceab0 (patch)
treef30beeaf15a8358f6da78fdd74bcbda74bd334f8 /src/angular/popup-menu/popup-menu-item.component.ts
parent4749f4631426fcbe29ed98cef8f24cab18b501d0 (diff)
init commit onap ui
Change-Id: I1dace78817dbba752c550c182dfea118b4a38646 Issue-ID: SDC-1350 Signed-off-by: Israel Lavi <il0695@att.com>
Diffstat (limited to 'src/angular/popup-menu/popup-menu-item.component.ts')
-rw-r--r--src/angular/popup-menu/popup-menu-item.component.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/angular/popup-menu/popup-menu-item.component.ts b/src/angular/popup-menu/popup-menu-item.component.ts
new file mode 100644
index 0000000..fb5a71d
--- /dev/null
+++ b/src/angular/popup-menu/popup-menu-item.component.ts
@@ -0,0 +1,34 @@
+import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
+import { PopupMenuListComponent } from "./popup-menu-list.component";
+
+@Component({
+ selector: 'popup-menu-item',
+ template:
+ `<li [ngClass]="[className || '', type || '', type == 'separator'? '': 'sdc-menu-item']" (click)="performAction($event)">
+ <ng-content *ngIf="type != 'separator'"></ng-content>
+</li>`
+})
+export class PopupMenuItemComponent {
+ @Input() public className: string;
+ @Input() public type: undefined|'disabled'|'selected'|'separator';
+ @Output() public action: EventEmitter<any> = new EventEmitter<any>();
+
+ public parentMenu: PopupMenuListComponent;
+ public index: number = 0;
+
+ public performAction(evt) {
+ evt.stopPropagation();
+
+ if (['disabled', 'separator'].indexOf(this.type) !== -1) {
+ return;
+ }
+
+ if (this.parentMenu instanceof PopupMenuListComponent) {
+ this.parentMenu.open = false;
+ }
+
+ if (this.action) {
+ this.action.emit();
+ }
+ }
+}