aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/components/modal/modal.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/ng2/components/modal/modal.component.ts')
-rw-r--r--catalog-ui/src/app/ng2/components/modal/modal.component.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/catalog-ui/src/app/ng2/components/modal/modal.component.ts b/catalog-ui/src/app/ng2/components/modal/modal.component.ts
new file mode 100644
index 0000000000..4a00871b21
--- /dev/null
+++ b/catalog-ui/src/app/ng2/components/modal/modal.component.ts
@@ -0,0 +1,46 @@
+/**
+ * Created by rc2122 on 6/1/2017.
+ */
+import { Component, ElementRef, Input, OnInit, OnDestroy } from '@angular/core';
+import * as $ from 'jquery';
+import {ButtonsModelMap} from "app/models/button";
+
+@Component({
+ selector: 'modal',
+ templateUrl: './modal.component.html',
+ styleUrls:['modal.component.less']
+})
+
+export class ModalComponent implements OnInit, OnDestroy {
+ @Input() size: string; 'xl|l|md|sm|xsm'
+ @Input() title: string;
+ @Input() public buttons:ButtonsModelMap;
+ private modalElement: JQuery;
+ private buttonsNames:Array<string>;
+
+ constructor( el: ElementRef ) {
+ this.modalElement = $(el.nativeElement);
+ }
+
+ ngOnInit(): void {
+ let modal = this;
+ this.modalElement.appendTo('body');
+ if(this.buttons){
+ this.buttonsNames = Object.keys(this.buttons);
+ }
+ }
+
+ ngOnDestroy(): void {
+ this.modalElement.remove();
+ }
+
+ open(): void {
+ this.modalElement.show();
+ $('body').addClass('modal-open');
+ }
+
+ close(): void {
+ this.modalElement.hide();
+ $('body').removeClass('modal-open');
+ }
+}