CSIT Fix for SDC-2585
[sdc.git] / catalog-ui / src / app / view-models / modals / message-modal / message-base-modal-model.ts
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 'use strict';
22 import {SEVERITY} from "app/utils";
23
24 export interface IMessageModalModel {
25     title:string;
26     message:string;
27     severity:SEVERITY;
28 }
29
30 export interface IMessageModalViewModelScope extends ng.IScope {
31     footerButtons:Array<any>;
32     messageModalModel:IMessageModalModel;
33     modalInstanceError:ng.ui.bootstrap.IModalServiceInstance;
34     ok():void;
35 }
36
37 export class MessageModalViewModel {
38
39     constructor(private $baseScope:IMessageModalViewModelScope,
40                 private $baseModalInstance:ng.ui.bootstrap.IModalServiceInstance,
41                 private baseMessageModalModel:IMessageModalModel) {
42
43         this.initScope(baseMessageModalModel);
44     }
45
46     private initScope = (messageModalViewModel:IMessageModalModel):void => {
47
48         this.$baseScope.messageModalModel = messageModalViewModel;
49         this.$baseScope.modalInstanceError = this.$baseModalInstance;
50
51         this.$baseScope.ok = ():void => {
52             this.$baseModalInstance.close();
53         };
54
55         this.$baseScope.footerButtons = [
56             {
57                 'name': 'OK',
58                 'css': 'grey',
59                 'callback': this.$baseScope.ok
60             }
61         ];
62     }
63 }