[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / services / confirm-box / confirm-box.service.js
1 /*-
2  * ================================================================================
3  * ECOMP Portal
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
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  * ================================================================================
19  */
20 /**
21  * Created by nnaffar on 1/18/16.
22  */
23 'use strict';
24
25 (function () {
26     class ConfirmBoxService {
27         constructor($q, $log, ngDialog) {
28             this.$q = $q;
29             this.$log = $log;
30             this.ngDialog = ngDialog;
31         }
32
33         showInformation(message) {
34             let deferred = this.$q.defer();
35             this.ngDialog.open({
36                 templateUrl: 'app/views/confirmation-box/information-box.tpl.html',
37                 controller: 'ConfirmationBoxCtrl',
38                 controllerAs: 'confirmBox',
39                 className: 'confirm-box ngdialog-theme-default',
40                 showClose: false,
41                 data: {
42                     message: message
43                 }
44             }).closePromise.then(confirmed => {
45                 deferred.resolve(confirmed.value);
46             }).catch(err => {
47                 deferred.reject(err);
48             });
49             return deferred.promise;
50         };
51         
52         editItem(message) {
53             let deferred = this.$q.defer();
54             this.ngDialog.open({
55                 templateUrl: 'app/views/confirmation-box/confirmation-box.tpl.html',
56                 controller: 'ConfirmationBoxCtrl',
57                 controllerAs: 'confirmBox',
58                 className: 'confirm-box ngdialog-theme-default',
59                 showClose: false,
60                 data: {
61                     message: message
62                 }
63             }).closePromise.then(confirmed => {
64                 deferred.resolve(confirmed.value);
65             }).catch(err => {
66                 deferred.reject(err);
67             });
68             return deferred.promise;
69         };
70        
71         
72         showDynamicInformation(message, templatePath, controller) {
73             let deferred = this.$q.defer();
74             this.ngDialog.open({
75                 templateUrl: templatePath,
76                 controller: controller,
77                 controllerAs: 'confirmBox',
78                 className: 'confirm-box ngdialog-theme-default',
79                 showClose: false,
80                 data: {
81                     message: message
82                 }
83             }).closePromise.then(confirmed => {
84                 deferred.resolve(confirmed.value);
85             }).catch(err => {
86                 deferred.reject(err);
87             });
88             return deferred.promise;
89         };
90         
91         confirm(message) {
92             let deferred = this.$q.defer();
93             this.ngDialog.open({
94                 templateUrl: 'app/views/confirmation-box/confirmation-box.tpl.html',
95                 controller: 'ConfirmationBoxCtrl',
96                 controllerAs: 'confirmBox',
97                 className: 'confirm-box ngdialog-theme-default',
98                 showClose: false,
99                 data: {
100                     message: message
101                 }
102             }).closePromise.then(confirmed => {
103                 deferred.resolve(confirmed.value);
104             }).catch(err => {
105                 deferred.reject(err);
106             });
107             return deferred.promise;
108         };
109
110         deleteItem(item) {
111             let deferred = this.$q.defer();
112             this.ngDialog.open({
113                 templateUrl: 'app/views/confirmation-box/confirmation-box.tpl.html',
114                 controller: 'ConfirmationBoxCtrl',
115                 controllerAs: 'confirmBox',
116                 className: 'confirm-box ngdialog-theme-default',
117                 showClose: false,
118                 data: {
119                     item: item,
120                     title: 'Functional Menu - Delete'
121                 }
122             }).closePromise.then(confirmed => {
123                 deferred.resolve(confirmed.value);
124             }).catch(err => {
125                 deferred.reject(err);
126             });
127             return deferred.promise;
128         };
129
130         moveMenuItem(message) {
131             let deferred = this.$q.defer();
132             this.ngDialog.open({
133                 templateUrl: 'app/views/confirmation-box/dragdrop-confirmation-box.tpl.html',
134                 controller: 'ConfirmationBoxCtrl',
135                 controllerAs: 'confirmBox',
136                 className: 'confirm-box ngdialog-theme-default',
137                 showClose: false,
138                 data: {
139                     message: message,
140                     title:'Functional Menu - Move'
141                 }
142             }).closePromise.then(confirmed => {
143                 deferred.resolve(confirmed.value);
144             }).catch(err => {
145                 deferred.reject(err);
146             });
147             return deferred.promise;
148         };
149
150         makeAdminChanges(message) {
151             let deferred = this.$q.defer();
152             this.ngDialog.open({
153                 templateUrl: 'app/views/confirmation-box/admin-confirmation-box.tpl.html',
154                 controller: 'ConfirmationBoxCtrl',
155                 controllerAs: 'confirmBox',
156                 className: 'confirm-box ngdialog-theme-default',
157                 showClose: false,
158                 data: {
159                     message: message,
160                     title: 'Admin Update'
161                 }
162             }).closePromise.then(confirmed => {
163                 deferred.resolve(confirmed.value);
164             }).catch(err => {
165                 deferred.reject(err);
166             });
167             return deferred.promise;
168         };
169         
170         
171         makeUserAppRoleCatalogChanges(message) {
172             let deferred = this.$q.defer();
173             this.ngDialog.open({
174                 templateUrl: 'app/views/confirmation-box/admin-confirmation-box.tpl.html',
175                 controller: 'ConfirmationBoxCtrl',
176                 controllerAs: 'confirmBox',
177                 className: 'confirm-box ngdialog-theme-default',
178                 showClose: false,
179                 data: {
180                     message: message,
181                     title: 'UserRoles Update'
182                 }
183             }).closePromise.then(confirmed => {
184                 deferred.resolve(confirmed.value);
185             }).catch(err => {
186                 deferred.reject(err);
187             });
188             return deferred.promise;
189         };
190      
191         
192         webAnalyticsChanges(message) {
193             let deferred = this.$q.defer();
194             this.ngDialog.open({
195                 templateUrl: 'app/views/confirmation-box/admin-confirmation-box.tpl.html',
196                 controller: 'ConfirmationBoxCtrl',
197                 controllerAs: 'confirmBox',
198                 className: 'confirm-box ngdialog-theme-default',
199                 showClose: false,
200                 data: {
201                     message: message,
202                     title: 'Add WebAnalytics Source'
203                 }
204             }).closePromise.then(confirmed => {
205                 deferred.resolve(confirmed.value);
206             }).catch(err => {
207                 deferred.reject(err);
208             });
209             return deferred.promise;
210         };
211
212         
213         updateWebAnalyticsReport(message) {
214             let deferred = this.$q.defer();
215             this.ngDialog.open({
216                 templateUrl: 'app/views/confirmation-box/admin-confirmation-box.tpl.html',
217                 controller: 'ConfirmationBoxCtrl',
218                 controllerAs: 'confirmBox',
219                 className: 'confirm-box ngdialog-theme-default',
220                 showClose: false,
221                 data: {
222                     message: message,
223                     title: 'Update WebAnalytics Source'
224                 }
225             }).closePromise.then(confirmed => {
226                 deferred.resolve(confirmed.value);
227             }).catch(err => {
228                 deferred.reject(err);
229             });
230             return deferred.promise;
231         };
232
233     }
234     ConfirmBoxService.$inject = ['$q', '$log', 'ngDialog'];
235     angular.module('ecompApp').service('confirmBoxService', ConfirmBoxService)
236 })();