6f12e09502c30a0fd84a189823aa643a26638479
[Evergreen.git] / Open-ILS / web / js / ui / default / staff / admin / booking / app.js
1 angular.module('egBookingAdmin',
2     ['ngRoute', 'ui.bootstrap', 'egCoreMod','egUiMod'])
3
4 .config(['$routeProvider','$locationProvider','$compileProvider', 
5  function($routeProvider , $locationProvider , $compileProvider) {
6
7     $locationProvider.html5Mode(true);
8     $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); 
9     var resolver = {delay : function(egStartup) {return egStartup.go()}};
10
11     var eframe_template = 
12         '<eg-embed-frame url="booking_admin_url" handlers="funcs"></eg-embed-frame>';
13
14     $routeProvider.when('/admin/booking/:noun/:verb/:extra?', {
15         template: eframe_template,
16         controller: 'EmbedBookingCtl',
17         resolve : resolver
18     });
19
20     // default page 
21     $routeProvider.otherwise({
22         templateUrl : './admin/booking/t_splash',
23         resolve : resolver
24     });
25 }])
26
27 .controller('EmbedBookingCtl',
28        ['$scope','$routeParams','$location','egCore',
29 function($scope , $routeParams , $location , egCore) {
30
31     $scope.funcs = {
32         ses : egCore.auth.token(),
33     }
34
35     var booking_path = '/eg/';
36
37     if ($routeParams.noun == 'conify') {
38         booking_path += 'conify/global/booking/' + $routeParams.verb
39             + (typeof $routeParams.extra != 'undefined'
40                 ? '/' + $routeParams.extra
41                 : '')
42             + location.search;
43     } else {
44         booking_path += 'booking/'
45             + $routeParams.noun + '/' + $routeParams.verb
46             + (typeof $routeParams.extra != 'undefined'
47                 ? '/' + $routeParams.extra
48                 : '')
49             + location.search;
50     }
51
52     // embed URL must include protocol/domain or it will be loaded via
53     // push-state, resulting in an infinitely nested pages.
54     $scope.booking_admin_url =
55         $location.absUrl().replace(/\/eg\/staff.*/, booking_path);
56
57     console.log('Loading Admin Booking URL: ' + $scope.booking_admin_url);
58
59 }])
60