aboutsummaryrefslogtreecommitdiffstats
path: root/ecd-app-overlay/src/main/webapp/app/ecdapp/home/modal-service.js
blob: 07b5d775bbca5c92a8d7d71c63a20b82a429b6be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/*******************************************************************************
 * =============LICENSE_START=========================================================
 *
 * =================================================================================
 *  Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  
 *      http://www.apache.org/licenses/LICENSE-2.0
 *  
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ============LICENSE_END=========================================================
 *
 *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
 *******************************************************************************/
angular.module("modalServices",[]).service('modalService', ['$modal', function ($modal) {

	/* 
	 * Defines the same functions available in DS1 using DS2 icons etc.
	 * Relies on templates defined in ecd_popup_templates.html
	 */
	
	var ModalInstanceCtrl = function ($scope, $modalInstance, $rootScope, items) {
		// Pass thru to template as object "msg"
		$scope.msg = items;
		
	    $scope.cancel = function () {
	        $modalInstance.dismiss('cancel');
	    };
	};
	
	this.showIconTitleTextOkModal = function (icon, title, text) {
    	var modalInstance = $modal.open({
			templateUrl: 'ecd_title_text_ok_modal.html',
			controller: ModalInstanceCtrl,
			sizeClass: 'modal-small',
			resolve: {
                items: function () {
					return {
						icon: icon,
						title: title,
	                   	text:  text
	                };
                }
	        }
		});
    };

	this.showFailure = function (title, text) {
		this.showIconTitleTextOkModal('icon-primary-alert', title, text);
	};

	this.showSuccess = function (title, text) {
		this.showIconTitleTextOkModal('icon-primary-approval', title, text);
	};
    
    /* Replicate modals defined by ds2-modal/modalService.js */
	errorPopUp = function(text) {
		this.showFailure('Error', text);
	};	
	successPopUp = function(text) {
		this.showSuccess('Success', text);
	};
		
	this.popupConfirmWin = function(title, text, callback) {
    	var modalInstance = $modal.open({
			templateUrl: 'ecd_title_text_ok_cancel_modal.html',
			controller: ModalInstanceCtrl,
			sizeClass: 'modal-small',
			resolve: {
                items: function () {
					return {
						icon: 'icon-primary-questionmark',
						title: title,
	                   	text:  text
	                };
                }
	        }
		});
    	var args = Array.prototype.slice.call(arguments, 0);
   		args.splice(0, 3); 
   		modalInstance.result.then(function(){
   			callback.apply(null, args);
   		}, function() {
   			//
   		})['finally'](function(){
   			modalInstance = undefined;
   		});
   	};
   		
 }]);