summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/messageBox
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2018-08-29 17:01:32 +0300
committerIttay Stern <ittay.stern@att.com>2019-02-18 18:35:30 +0200
commit6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 (patch)
tree936005c364dc5a7264d6304d4777c3d83494db22 /vid-webpack-master/src/app/shared/components/messageBox
parent67d99f816cc583643c35193197594cf78d8ce60a (diff)
merge from ecomp a88f0072 - Modern UI
Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/messageBox')
-rw-r--r--vid-webpack-master/src/app/shared/components/messageBox/messageBox.component.ts15
-rw-r--r--vid-webpack-master/src/app/shared/components/messageBox/messageBox.data.ts45
-rw-r--r--vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.spec.ts21
-rw-r--r--vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.ts8
4 files changed, 31 insertions, 58 deletions
diff --git a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.component.ts b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.component.ts
index 08e199cf5..c610110fd 100644
--- a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.component.ts
+++ b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.component.ts
@@ -30,7 +30,7 @@
import { Component } from '@angular/core';
import { MessageBoxData} from './messageBox.data';
import { MessageBoxService } from './messageBox.service';
-import { SdcUiComponents } from 'sdc-ui/lib/angular';
+import { SdcUiServices} from "onap-ui-angular";
@Component({
selector: 'message-box',
@@ -38,12 +38,17 @@ import { SdcUiComponents } from 'sdc-ui/lib/angular';
})
export class MessageBoxComponent {
- modalService: SdcUiComponents.ModalService;
-
- constructor(modalService: SdcUiComponents.ModalService, private _messageBoxService : MessageBoxService) {
+ modalService: SdcUiServices.ModalService;
+ isOpened : boolean = false;
+ constructor(modalService: SdcUiServices.ModalService, private _messageBoxService : MessageBoxService) {
this.modalService = modalService;
+
MessageBoxService.openModal.subscribe((messageBoxData: MessageBoxData) => {
- modalService.openModal(this._messageBoxService.setConfig(messageBoxData))
+ if(this.isOpened) return;
+ this.isOpened = true;
+ modalService.openModal(this._messageBoxService.setConfig(messageBoxData)).onDestroy(()=>{
+ this.isOpened = false;
+ })
});
}
}
diff --git a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.data.ts b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.data.ts
index 165140ba7..e67b1f76f 100644
--- a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.data.ts
+++ b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.data.ts
@@ -1,13 +1,14 @@
-import { Subject } from 'rxjs/Subject';
+import { SdcUiCommon} from "onap-ui-angular";
+import {IModalButtonComponent} from "onap-ui-angular/dist/modals/models/modal-config";
export class MessageBoxData {
title?: string;
message?: string;
- size : ModalSize;
- type: ModalType;
- buttons: Array<IModalButtonComponent>;
+ size : SdcUiCommon.ModalSize;
+ type: SdcUiCommon.ModalType;
+ buttons: IModalButtonComponent[];
- constructor(title: string, message: string, type: ModalType, size : ModalSize, buttons: Array<IModalButtonComponent>) {
+ constructor(title: string, message: string, type: SdcUiCommon.ModalType, size : SdcUiCommon.ModalSize, buttons: IModalButtonComponent[]) {
this.title = title;
this.message = message;
this.size = size;
@@ -15,37 +16,3 @@ export class MessageBoxData {
this.buttons = buttons;
}
}
-
-export interface IModalConfig {
- size?: string;
- title?: string;
- message?: string;
- buttons?: Array<IModalButtonComponent>;
- type?: string;
-}
-export interface IButtonComponent {
- text: string;
- disabled?: boolean;
- type?: string;
- size?: string;
-}
-export interface IModalButtonComponent extends IButtonComponent {
- callback?: Function;
- closeModal?: boolean;
-}
-export enum ModalType {
- alert = "alert",
- error = "error",
- standard = "info",
- custom = "custom",
-}
-export enum ModalSize {
- xlarge = "xl",
- large = "l",
- medium = "md",
- small = "sm",
- xsmall = "xsm",
-}
-
-
-
diff --git a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.spec.ts b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.spec.ts
index 89562ac54..1d0e18ffb 100644
--- a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.spec.ts
+++ b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.spec.ts
@@ -3,35 +3,37 @@ import {
HttpClientTestingModule,
HttpTestingController
} from '@angular/common/http/testing';
-
import { MessageBoxService } from './messageBox.service';
-import {MessageBoxData, ModalSize, ModalType } from './messageBox.data';
+import {MessageBoxData} from './messageBox.data';
+import { SdcUiCommon} from "onap-ui-angular";
describe('MessageBoxService', () => {
let injector;
let service: MessageBoxService;
let httpMock: HttpTestingController;
- beforeEach(() => {
+ beforeAll(done => (async () => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
providers: [MessageBoxService]
});
+ await TestBed.compileComponents();
injector = getTestBed();
service = injector.get(MessageBoxService);
httpMock = injector.get(HttpTestingController);
- });
+
+ })().then(done).catch(done.fail));
describe('#setConfig', () => {
- it('should return <IModalConfig>', (done: DoneFn) => {
+ test('should return <IModalConfig>', () => {
let title = "Delete Instantiation";
let message = "You are about to stop the instantiation process of this service. \nAll data will be lost. Are you sure you want to stop?";
let messageBoxData : MessageBoxData = new MessageBoxData(
title,
message,
- ModalType.alert,
- ModalSize.medium,
+ SdcUiCommon.ModalType.warning,
+ SdcUiCommon.ModalSize.medium,
[
{text:"Stop Instantiation", size:"large", closeModal:true},
{text:"Cancel", size:"medium", closeModal:true}
@@ -41,9 +43,8 @@ describe('MessageBoxService', () => {
expect(result.title).toEqual(title);
expect(result.message).toEqual(message);
expect(result.buttons.length).toEqual(2);
- expect(result.type).toEqual(ModalType.alert);
- expect(result.size).toEqual(ModalSize.medium);
- done();
+ expect(result.type).toEqual(SdcUiCommon.ModalType.warning);
+ expect(result.size).toEqual(SdcUiCommon.ModalSize.medium);
});
});
});
diff --git a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.ts b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.ts
index eaa012d3b..d73631a43 100644
--- a/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.ts
+++ b/vid-webpack-master/src/app/shared/components/messageBox/messageBox.service.ts
@@ -1,18 +1,18 @@
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
-import { IModalConfig, MessageBoxData, ModalSize, ModalType } from './messageBox.data';
+import {MessageBoxData} from "./messageBox.data";
+import { SdcUiCommon} from "onap-ui-angular";
@Injectable()
export class MessageBoxService {
static openModal: Subject<MessageBoxData> = new Subject<MessageBoxData>();
- setConfig(messageBoxData: MessageBoxData) : IModalConfig{
+ setConfig(messageBoxData: MessageBoxData) : SdcUiCommon.IModalConfig{
return {
- size : ModalSize.medium,
+ size : SdcUiCommon.ModalSize.medium,
title : messageBoxData.title,
type : messageBoxData.type,
message : messageBoxData.message,
buttons: messageBoxData.buttons
};
}
-
}