PageSourceSearch

https://www.ilincs.org/ilincs/js/services/modalService.js

js ilincs.org collected 2026-09-28 05:51:23 UTC 2,235 bytes, 61 lines download raw bytes

1var module = angular.module('Modals', ['ui.bootstrap']);
2
3module.service('modalService', ['$uibModal',
4// NB: For Angular-bootstrap 0.14.0 or later, use $uibModal above instead of $modal
5function ($uibModal) {
6
7    var modalDefaults = {
8        backdrop: true,
9        keyboard: true,
10        modalFade: true,
11        templateUrl: 'views/templates/modals/confirm.html'
12    };
13
14    var modalOptions = {
15        closeButtonText: 'Close',
16        actionButtonText: 'OK',
17        headerText: 'Proceed?',
18        bodyText: 'Perform this action?'
19    };
20
21    this.showModal = function (customModalDefaults, customModalOptions) {
22      // console.log("inside modalService");
23      // console.log(customModalOptions);
24        if (!customModalDefaults) customModalDefaults = {};
25        customModalDefaults.backdrop = 'static';
26        return this.show(customModalDefaults, customModalOptions);
27    };
28
29    this.show = function (customModalDefaults, customModalOptions) {
30        //Create temp objects to work with since we're in a singleton service
31        var tempModalDefaults = {};
32        var tempModalOptions = {};
33
34        //Map angular-ui modal custom defaults to modal defaults defined in service
35        angular.extend(tempModalDefaults, modalDefaults, customModalDefaults);
36
37        //Map modal.html $scope custom properties to defaults defined in service
38        angular.extend(tempModalOptions, modalOptions, customModalOptions);
39             
40        if (!tempModalDefaults.controller) {
41          // console.log(tempModalDefaults.controller);
42            tempModalDefaults.controller = function ($scope, $uibModalInstance) {              
43                $scope.modalOptions = tempModalOptions;
44                $scope.modalOptions.ok = function (result) {
45                    $uibModalInstance.close(result);
46                };
47                $scope.modalOptions.close = function (result) {
48                    $uibModalInstance.dismiss('cancel');
49                };
50                // function init(){
51                //   console.log("inside modal controller");
52                // };
53                // 
54                // init();
55            };
56        }
57
58        return $uibModal.open(tempModalDefaults).result;
59    };
60
61}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.