PageSourceSearch

https://rekrutacja.pedagogium.pl/pdg-irk-app/content/script/irk/layout/sidebarMenu/sidebarMenu.js

js pedagogium.pl collected 2026-10-04 13:34:00 UTC 9,556 bytes, 248 lines download raw bytes

1angular.module("irk")
2    .constant("SIDEBAR_MENU_EVENTS", {
3        zmianaLiczbyNieprzeczytanychWiadomosci: 'zmianaLiczbyNieprzeczytanychWiadomosci',
4        zmianaLiczbyEDoreczenDoOdebrania: 'zmianaLiczbyEDoreczenDoOdebrania',
5        zmianaLiczbyTestowDoRozwiazania: 'zmianaLiczbyTestowDoRozwiazania',
6        zmianaLiczbyZgodDoUzupelnienia: 'zmianaLiczbyZgodDoUzupelnienia'
7    })
8    .controller("irkLogourSidebarMenuController", function($scope, $route, routePermissionFactory, Session, i18n, $location, $http, $rootScope, AUTH_EVENTS, SIDEBAR_MENU_EVENTS) {
9
10         var rejestracja = {
11             path: '/Rejestracja',
12             class: 'glyphicon glyphicon-registration-mark',
13             labelKey: 'interfejs.irk.shared.SidebarMenu.ZarejestrujSie'
14         };
15         var logowanie = {
16             path: '/Logowanie',
17             class: 'glyphicon glyphicon-log-in',
18             labelKey: 'interfejs.irk.shared.SidebarMenu.Logowanie'
19         };
20         var zapomnianeHaslo = {
21             path: '/ZapomnianeHaslo',
22             class: 'glyphicon glyphicon-question-sign',
23             labelKey: 'interfejs.irk.shared.SidebarMenu.NiePamietamHasla'
24         };
25         var stronaGlowna = {
26             path: '/StronaGlowna',
27             class: 'glyphicon glyphicon-home',
28             labelKey: 'interfejs.irk.shared.SidebarMenu.StronaGlowna'
29         };
30         var kierunkiStudiow = {
31             path: '/KierunkiStudiow',
32             class: 'glyphicon glyphicon-random',
33             labelKey: 'interfejs.irk.shared.SidebarMenu.KierunkiStudiow'
34         };
35         var formularzDanychOsobowych = {
36             path: '/FormularzDanychOsobowych',
37             class: 'glyphicon glyphicon-user',
38             labelKey: 'interfejs.irk.shared.SidebarMenu.DaneOsobowe'
39         };
40         var egzaminy = {
41             path: '/Egzaminy',
42             class: 'glyphicon glyphicon-book',
43             labelKey: 'interfejs.irk.shared.SidebarMenu.Egzaminy'
44         }
45         var wyksztalcenie = {
46             path: '/Wyksztalcenie',
47             class: 'glyphicon glyphicon-education',
48             labelKey: 'interfejs.irk.shared.SidebarMenu.Wyksztalcenie'
49         };
50         var platnosci = {
51             path: '/Platnosci',
52             class: 'glyphicon glyphicon-credit-card',
53             labelKey: 'interfejs.irk.shared.SidebarMenu.Platnosci'
54         };
55         var dokumenty = {
56             path: '/Dokumenty',
57             class: 'glyphicon glyphicon-folder-open',
58             labelKey: 'interfejs.irk.shared.SidebarMenu.Dokumenty'
59         };
60         var wiadomosci = {
61             path: '/Wiadomosci',
62             class: 'glyphicon glyphicon-envelope',
63             labelKey: 'interfejs.irk.shared.SidebarMenu.Wiadomosci',
64         };
65         var zglosProblem = {
66             path: '/Wiadomosci/Zglos',
67             class: 'glyphicon glyphicon-question-sign',
68             labelKey: 'interfejs.irk.shared.SidebarMenu.ZglosProblem',
69         };
70         var eDoreczenia = {
71             path: '/EDoreczenia',
72             class: 'glyphicon glyphicon-inbox',
73             labelKey: 'interfejs.irk.shared.SidebarMenu.EDoreczenia',
74         };
75         var testy = {
76             path: '/Testy',
77             class: 'glyphicon glyphicon-stats',
78             labelKey: 'interfejs.irk.shared.SidebarMenu.Testy'
79         };
80         var ankiety = {
81             path: '/Ankiety',
82             class: 'glyphicon glyphicon-comment',
83             labelKey: 'interfejs.irk.shared.SidebarMenu.Ankiety'
84         };
85         var wnioskiOAkademik = {
86             path: '/WnioskiOAkademik',
87             class: 'glyphicon glyphicon-bed',
88             labelKey: 'interfejs.irk.shared.SidebarMenu.WnioskiOAkademik'
89         };
90         var osiagniecia = {
91             path: '/Osiagniecia',
92             class: 'glyphicon glyphicon-list-alt',
93             labelKey: 'interfejs.irk.shared.SidebarMenu.Osiagniecia'
94         };
95         var oswiadczenia = {
96             path: '/Oswiadczenia',
97             class: 'glyphicon glyphicon-check',
98             labelKey: 'interfejs.irk.shared.SidebarMenu.Oswiadczenia'
99         };
100         var wylogowanie = {
101             path: '/Wylogowanie',
102             class: 'glyphicon glyphicon-log-out',
103             labelKey: 'interfejs.irk.shared.SidebarMenu.Wylogowanie'
104         };
105        
106        $scope.menu = {};
107        $scope.menu.allItems = [
108            rejestracja,
109            logowanie,
110            zapomnianeHaslo,
111            stronaGlowna,
112            kierunkiStudiow,
113            formularzDanychOsobowych,
114            wyksztalcenie,
115            dokumenty,
116            platnosci,
117            egzaminy,
118            wiadomosci,
119            eDoreczenia,
120            testy,
121            ankiety,
122            wnioskiOAkademik,
123            osiagniecia,
124            zglosProblem,
125            oswiadczenia,
126            wylogowanie
127        ];
128
129        function odswiezLiczbeNieprzeczytanychWiadomosci() {
130            return $http.get('REST/wiadomosci/nieprzeczytane').then(function(result) {
131                odswiezLiczbeNotyfikacji(wiadomosci, result);
132            });
133        }
134        
135        function odswiezLiczbeEDoreczenDoOdebrania() {
136            return $http.get('REST/eDoreczenia/liczbaDoOdebrania').then(function(result) {
137                odswiezLiczbeNotyfikacji(eDoreczenia, result);
138            });
139        }
140        
141        function odswiezLiczbeTestowDoRozwiazania() {
142            return $http.get('REST/testy/liczbaDoWypelnienia/TEST_POZIOMUJACY').then(function(result) {
143                odswiezLiczbeNotyfikacji(testy, result);
144            });
145        }
146        
147        function odswiezLiczbeAnkietDoRozwiazania() {
148            return $http.get('REST/testy/liczbaDoWypelnienia/ANKIETA_IRK').then(function(result) {
149                odswiezLiczbeNotyfikacji(ankiety, result);
150            });
151        }
152        
153        function odswiezLiczbeZgodDoUzupelnienia() {
154            return $http.get('REST/pytaniadodatkowe/liczbaDoWypelnienia/OSWIADCZENIA_I_ZGODY_OBOWIAZKOWE').then(function(result) {
155                odswiezLiczbeNotyfikacji(oswiadczenia, result);
156            });
157        }
158        
159        function odswiezLiczbeNotyfikacji(menuItem, result) {
160            menuItem.notification = undefined;
161            var liczba = Math.min(99, parseInt(result.data));
162            if(liczba > 0) {
163                menuItem.notification = liczba;
164            }
165        }
166        
167        function getRouteByUrl(url) {
168            for (var path in $route.routes) {
169                if ($route.routes[path].regexp && $route.routes[path].regexp.test(url)) {
170                    return $route.routes[path]; 
171                }
172            }
173            return null;
174        }
175        
176        function filterItems(items) {
177            var newItems = {};
178            angular.forEach(items, function(item, key) {
179                i18n.get(item.labelKey).then(function(label) {
180                    item.label = label; 
181                }, function() {});
182                var route = getRouteByUrl(item.path);
183                routePermissionFactory.checkRoutePermission(route, true).then(function(response) {
184                    if(response) {
185                        newItems[key] = item;
186                        item.active=(item.path == $location.path());
187                    }
188                });
189            });
190            return newItems;
191        }
192        
193        $scope.notSorted = function(obj){
194            if (!obj) {
195                return [];
196            }
197            return Object.keys(obj);
198        }
199        
200        function refreshAvailableItems() {
201            $scope.menu.availableItems = filterItems($scope.menu.allItems);
202        }
203        
204        refreshAvailableItems();
205        
206        Session.registerObserverCallback(refreshAvailableItems);
207        
208        $scope.$on('$routeChangeSuccess', function() {
209            angular.forEach($scope.menu.availableItems, function(item) {
210                item.active=($location.path().indexOf(item.path) == 0);
211            });
212        });
213
214        $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyNieprzeczytanychWiadomosci, function(){
215            odswiezLiczbeNieprzeczytanychWiadomosci();
216        });
217        $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyEDoreczenDoOdebrania, function(){
218            odswiezLiczbeEDoreczenDoOdebrania();
219        });
220        $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyTestowDoRozwiazania, function() {
221            odswiezLiczbeTestowDoRozwiazania();
222            odswiezLiczbeAnkietDoRozwiazania();
223        });
224        $rootScope.$on(SIDEBAR_MENU_EVENTS.zmianaLiczbyZgodDoUzupelnienia, function() {
225            odswiezLiczbeZgodDoUzupelnienia();
226        });
227        $rootScope.$on(AUTH_EVENTS.loginSuccess, function() {
228            odswiezLiczbeNieprzeczytanychWiadomosci();
229            odswiezLiczbeEDoreczenDoOdebrania();
230            odswiezLiczbeTestowDoRozwiazania();
231            odswiezLiczbeAnkietDoRozwiazania();
232            odswiezLiczbeZgodDoUzupelnienia();
233        });
234        odswiezLiczbeNieprzeczytanychWiadomosci();
235        odswiezLiczbeEDoreczenDoOdebrania();
236        odswiezLiczbeTestowDoRozwiazania();
237        odswiezLiczbeAnkietDoRozwiazania();
238        odswiezLiczbeZgodDoUzupelnienia();
239    })
240    .directive("sidebarMenu", function() { 
241        return {
242            restrict : "E", 
243            replace : true,
244            transclude : true, 
245            templateUrl : "../../content/script/irk/layout/sidebarMenu/sidebarMenu.html"
246        }
247    });
248;

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.