PageSourceSearch

https://atu.edu.tr/scripts/birimler.js?ver=20200117

js atu.edu.tr collected 2026-10-02 05:54:18 UTC 12,941 bytes, 439 lines download raw bytes

1 
2xApp.controller('birimlerController', function birimlerController($scope, $rootScope, $routeParams, $location, $q, $window, $route) {
3    $scope.Guid = "";
4    
5    var IcID = $routeParams.IcerikId;
6    var IcGuID = $routeParams.IcGuID;
7    var BirimID = parseInt($routeParams.birimId);
8    var GrupID = parseInt($routeParams.grupId);
9    var UMenuID = parseInt($routeParams.UstMenuId);
10
11    var menuTreeData = [];
12    var menuUstData = [];
13    var UstMenuPath = null;
14    $scope.path = "";
15 //   $scope.Bolumler = [];
16
17    angular.element(document).ready(function () {
18        $rootScope.SayfaUst();
19        $rootScope.AcilirPencere = 2;
20        var promiseBirimIcerik = asyncXXXXBirimler();
21
22        promiseBirimIcerik.then(function (data) {
23            if (data.length === 1) {
24                $scope.BirimIcerik = data[0];
25                //alert(JSON.stringify(data[0]));
26            }
27            else
28                $scope.BirimIcerik = null;
29        }, function (error) {
30            $scope.BirimIcerik = null;
31            $route.reload();
32            });
33
34        var promiseBolumler = asyncXXXXBolumler();
35
36        promiseBolumler.then(function (data) {
37        
38                $scope.Bolumler = data;
39                //alert(JSON.stringify(data[0]));
40           
41        }, function (error) {
42            $scope.Bolumler = null;
43            $route.reload();
44        });
45
46        
47       
48        var promiseTreeMenu = asyncXXXXTreeMenu();
49        
50        
51        promiseTreeMenu.then(function (data) {
52           // alert(JSON.stringify(data));
53            $scope.items = data;
54            var items  = unflatten(data);
55           
56
57        }, function (error) {
58            menuTreeData = null;
59            $route.reload();
60        });
61
62        var promiseUstMenuPath = asyncXXXXUstMenuPath();
63
64            promiseUstMenuPath.then(function (data) {
65                if (data.length === 1) {
66                    UstMenuPath = data[0];
67                    $scope.path = UstMenuPath.Yol2;
68        var promiseUstMenu = asyncXXXXUstMenu();
69
70
71        promiseUstMenu.then(function (data) {
72            
73            $scope.menuUstData = data;
74          
75
76        }, function (error) {
77            menuUstData = null;
78            $route.reload();
79        });
80        
81                }
82                else
83                    UstMenuPath = null;
84            }, function (error) {
85                UstMenuPath = null;
86                $route.reload();
87            });
88
89       
90
91    });
92
93    $scope.items = [];
94    $scope.treeViewItemDataDuzey = -1;
95
96    $scope.treeViewOptions = {
97         
98        width: 300,
99        height: "auto",
100        displayExpr: "MenuAd",
101        keyExpr: "ID",
102        parentIdExpr: "ParentID", 
103        dataStructure: "tree",
104        focusStateEnabled: true,      // Klavyedeki Tab ve Ok tuşlarıyla odaklanmayı sağlar
105        hoverStateEnabled: true,      // Fareyle üzerine gelindiğinde görsel geri bildirim verir
106        adaptivityEnabled: true,
107        bindingOptions: {
108            dataSource: "items"
109        },
110        onContentReady: function (e) {
111            // 1. Alt menüsü olmayan (yaprak) öğelerden aria-expanded özniteliğini kaldır
112            $(e.element).find('.dx-treeview-node-is-leaf').removeAttr('aria-expanded');
113
114            // 2. Rolü olmayan iç div'lerden aria-selected özniteliğini kaldır
115            $(e.element).find('.dx-treeview-item').removeAttr('aria-selected');
116
117            // 3. Ana kapsayıcıdaki aranan hayali ID sorununu çözmek için (gerekirse) aktifi temizleyin
118            $(e.element).removeAttr('aria-activedescendant');
119        },
120        onItemClick: function (e) {
121         
122            var item = e.itemData;
123            $scope.treeViewItemDataDuzey = item.Duzey; 
124
125            $window.location.href = "#!/birimler/" + item.BirimID + "/" + GrupID + "/" + UMenuID;
126             
127        }
128    };
129
130
131    $scope.UstMenuClick = function (IcerikID, IcerikTipNo, IcerikAdres, IcerikGuID, UstMenuID) {
132        if (IcerikTipNo === 1 && IcerikID !== 0)
133            window.open("#!/" + IcerikAdres + "/" + IcerikID + "/" + UstMenuID + "/" + IcerikGuID,"_self" );
134        else if (IcerikTipNo === 1 && IcerikID === 0 && IcerikAdres !== "")
135            window.open("#!/" + IcerikAdres + "/" + UstMenuID, "_self");
136
137        else if (IcerikTipNo === 2)
138            window.open(IcerikAdres, item.Hedef);
139        //$window.location.href = "#!/birimler/" + ID + "/" + GrupID + "/" + UMenuID;
140
141    }
142
143    //Find index to insert new item---->
144    function findItemIndex(arr, elem) {
145        var len = arr.length;
146        for (var i = 0; i < len; i++) {
147            if (arr[i].SiraNo > elem.SiraNo)
148                return i;
149        }
150        return len;
151    }
152
153    function unflatten(arr) {
154        var tree = [],
155            mappedArr = {},
156            arrElem,
157            mappedElem;
158
159        // First map the nodes of the array to an object -> create a hash table.
160        for (var i = 0, len = arr.length; i < len; i++) {
161            arrElem = arr[i];
162            mappedArr[arrElem.ID] = arrElem;
163            mappedArr[arrElem.ID]['items'] = [];
164        }
165
166
167        for (var ID in mappedArr) {
168            if (mappedArr.hasOwnProperty(ID)) {
169                mappedElem = mappedArr[ID];
170                // If the element is not at the root level, add it to its parent array of children.  
171
172                if (mappedElem.ParentID) {
173
174                    //mappedArr[mappedElem['ParentID']]['items'].push(mappedElem);
175                    pushIndex = findItemIndex(mappedArr[mappedElem['ParentID']]['items'], mappedElem);
176                    mappedArr[mappedElem['ParentID']]['items'].splice(pushIndex, 0, mappedElem);
177
178                }
179                // If the element is at the root level, add it to first level elements array.
180                else {
181
182                    //tree.push(mappedElem);
183                    pushIndex = findItemIndex(tree, mappedElem);
184                    tree.splice(pushIndex, 0, mappedElem);
185                }
186
187            }
188        }
189
190        return tree;
191    }
192     
193    $scope.dsTreeMenu = new DevExpress.data.DataSource({
194        store: {
195            type: "odata",
196            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
197            key: "ID",
198            keyType: "Int32"
199        },
200        sort: "SiraNo", 
201        paginate: false, 
202        map: function (itemData) {
203            return {
204                ID: itemData.ID,
205                MenuAd: itemData.MenuAd, 
206                ParentID: UMenuID,  
207                Duzey: 3,
208                IcerikAdres: itemData.IcerikAdres,
209                IcerikID: itemData.IcerikID,
210                IcerikGuID: itemData.IcerikGuID,
211                IcerikTipNo: itemData.IcerikTipNo,
212                BirimID: itemData.BirimID, 
213                Hedef: itemData.Hedef
214            };
215        }
216    });
217
218    
219    var asyncXXXXTreeMenu = function () {
220
221        var d = $q.defer();
222
223        $scope.dsTreeMenu.filter([["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu], "and", ["UstMenuID", "=", UMenuID]]);
224        var result = $scope.dsTreeMenu.load();
225
226        result.done(function (data) {
227            
228            d.resolve(data);
229        })
230            .fail(function (error) {
231                d.reject(error);
232                $route.reload();
233            });
234
235        return d.promise;
236    }; 
237
238    var asyncXXXXBirimler = function () {
239
240        var d = $q.defer();
241
242        var filter =  ["ID", "=", BirimID] ;
243 
244        $scope.dsBirimler.filter(filter);
245
246
247        var resultbirim = $scope.dsBirimler.load();
248
249        resultbirim.done(function (data) {
250              
251            d.resolve(data);
252        })
253            .fail(function (error) {
254                d.reject(error);
255                $route.reload();
256            });
257
258        return d.promise;
259    };
260
261    var asyncXXXXBolumler= function () {
262
263        var d = $q.defer();
264
265        var filter = [["BirimTanimID", "=", BirimID], "and", ["DilKodu", "=", $scope.DilKodu]];
266
267        $scope.dsBolumler.filter(filter);
268
269
270        var resultbolum = $scope.dsBolumler.load();
271
272        resultbolum.done(function (data) {
273
274            d.resolve(data);
275        })
276            .fail(function (error) {
277                d.reject(error);
278                $route.reload();
279            });
280
281        return d.promise;
282    };  
283    var asyncXXXXUstMenuPath = function () {
284
285        var d = $q.defer();
286
287        var resultUstMenuPath = $scope.dsUstMenuPath.load();
288
289        resultUstMenuPath.done(function (data) {
290            d.resolve(data);
291        })
292            .fail(function (error) {
293                d.reject(error);
294                $route.reload();
295            });
296
297        return d.promise;
298    };
299
300    $scope.dsUstMenuPath = new DevExpress.data.DataSource({
301        store: {
302            type: "odata",
303            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
304            key: "ID",
305            keyType: "Int32"
306        },
307        map: function (itemData) {
308            return {
309                ID: itemData.ID,
310                Yol2: itemData.Yol2 
311            };
312        } 
313    });
314
315    $scope.dsUstMenuPath.filter("ID", "=", UMenuID);
316
317   
318    var asyncXXXXUstMenu = function () {
319          
320        var str = $scope.path;
321    
322        var array = str.split(',');
323     
324        var filter = []; 
325        var filterID = [];
326 
327        for (var fID in array) {
328        
329            if (array.hasOwnProperty(fID)) {
330                if (array[fID] !== "") {
331                    filterID.push(["ID", "=", parseInt(array[fID])]);
332
333                    if ((array[fID] !== "") && (array[fID] !== array[array.length - 1])) {
334
335                        filterID.push("or");
336                    }
337                }
338
339            }
340        }
341      
342        filter = [["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu]];
343        if (array.length>0) filter.push("and", filterID);
344       // alert(filter);
345        $scope.dsUstMenu.filter(filter);
346        $scope.dsUstMenu.sort("Seviye");
347
348        var d = $q.defer();
349  
350
351        var result = $scope.dsUstMenu.load();
352
353        result.done(function (data) {
354            
355            d.resolve(data);
356        })
357            .fail(function (error) {
358                d.reject(error);
359                $route.reload();
360            });
361
362        return d.promise;
363    }; 
364
365    $scope.dsUstMenu = new DevExpress.data.DataSource( 
366        { 
367        store: {
368            type: "odata",
369            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
370            key: "ID",
371            keyType: "Int32"
372        },
373        sort: "Seviye",
374        paginate: false,
375        map: function (itemData) {
376            return {
377                ID: itemData.ID,
378                MenuAd: itemData.MenuAd,
379                Adres: itemData.AdresSatiri, 
380                Duzey: itemData.Seviye,
381                IcerikTipNo: itemData.IcerikTipNo,
382                IcerikID: itemData.IcerikID,
383                UstMenuID: itemData.UstMenuID,
384                IcerikAdres: itemData.IcerikAdres,
385                IcerikGuID: itemData.IcerikGuID
386            };
387        }
388        });
389
390 
391
392    $scope.dsBirimler = new DevExpress.data.DataSource({
393        store: {
394            type: "odata",
395            url: "https://odata.atu.edu.tr/odata/DataService.svc/BirimTanim",
396            key: "ID",
397            keyType: "Int32"
398        },
399        sort: "ID",
400        map: function (itemData) {
401            return {
402                Adi: itemData.Adi,
403                Resim: itemData.Resim,
404                Aciklama: itemData.Aciklama,
405                icerikHTML: itemData.icerikHTML,
406                GrupID: itemData.GrupID,
407                ID: itemData.ID,
408                Misyon: itemData.Misyon,
409                Vizyon: itemData.Vizyon,
410                Adres: itemData.Adres
411            };
412        }
413
414    });
415   
416
417    $scope.dsBolumler= new DevExpress.data.DataSource({
418        store: {
419            type: "odata",
420            url: "https://odata.atu.edu.tr/odata/DataService.svc/BolumTanim",
421            key: "ID",
422            keyType: "Int32"
423        },
424        sort: "ID",
425        map: function (itemData) {
426            return {
427                ID: itemData.ID,
428                Adi: itemData.Adi,
429                BirimTanimID: itemData.BirimTanimID,
430                URL: itemData.URL,
431                Resim: itemData.Resim
432            };
433        }
434
435    }); 
436});
437
438
439 

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.