NVP-1109 and more fixes
[unimgr.git] / dlux / cpeui / cpeui-module / src / main / resources / cpeui / services / cpeui.dialogs.js
1 define([ 'app/cpeui/cpeui.module' ], function(cpeui) {
2
3   cpeui.factory('CpeuiDialogs', function($mdDialog, $mdMedia, CpeuiSvc) {
4     var svc = {};
5
6     svc.Dialog = function(tpl, params, callback, customController) {
7
8       this.customFullscreen = $mdMedia('xs') || $mdMedia('sm');
9
10       this.dialogController = function($scope, $mdDialog, params) {
11         $scope.params = params;
12         $scope.callback = callback;
13
14         $scope.obj = {};
15         $scope.hide = function() {
16           $mdDialog.hide();
17         };
18         $scope.cancel = function() {
19           $mdDialog.cancel();
20         };
21         $scope.done = function() {
22           if ($scope.projectForm.$valid) {
23             $scope.callback($scope.obj);
24             $mdDialog.hide();
25           }
26         };
27
28         if (customController != undefined) {
29           customController($scope, $mdDialog, params);
30         }
31
32       };
33
34       this.show = function(ev, params) {
35         $mdDialog.show({
36           controller : this.dialogController,
37           templateUrl : 'src/app/cpeui/dialogs/' + tpl + '.tpl.html',
38           parent : angular.element(document.body),
39           targetEvent : ev,
40           clickOutsideToClose : true,
41           fullscreen : this.customFullscreen,
42           locals : {
43             params : params
44           },
45          onComplete: function() {$('md-dialog').draggable();}
46         });
47       };
48     };
49
50     svc.confirm = function(callback_ok, callback_cancel) {
51       svc.customConfirm('Are you Sure?', "", callback_ok, callback_cancel);
52     };
53
54     svc.customConfirm = function(title, content, callback_ok, callback_cancel) {
55       var confirm = $mdDialog.confirm().title(title).textContent(content).ok(
56           'Yes!').cancel('Cancel');
57       $mdDialog.show(confirm).then(callback_ok, callback_cancel);
58     };
59
60     svc.alert = function(title, content, callback_ok) {
61       var alert = $mdDialog.alert().title(title).textContent(content).ok(
62           'Ok');
63       $mdDialog.show(alert).then(callback_ok);
64     };
65     
66     return svc;
67   });
68
69 });