PageSourceSearch

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

js atu.edu.tr collected 2026-10-02 05:54:32 UTC 16,592 bytes, 547 lines download raw bytes

1
2
3xApp.controller('UlasimController', function UlasimController($scope, $routeParams, $location, $q, $window, $rootScope,  $route) {
4 
5        var UMenuID = parseInt($routeParams.UstMenuId);
6    
7    
8    angular.element(document).ready(function () {
9        $rootScope.AcilirPencere = 2;
10        $scope.SayfaUst();
11        $scope.items = $scope.menuData;
12
13        var promiseIletisim = asyncXXXXIletisim();
14
15        promiseIletisim.then(function (data) {
16            if (data.length === 1) {
17            $scope.Iletisim = data[0];
18                //alert(JSON.stringify(data[0]));
19            }
20            else
21                $scope.Iletisim = null;
22        }, function (error) {
23            $scope.Iletisim = null;
24            $route.reload();
25        });
26
27
28        var promiseTreeMenu = asyncXXXXTreeMenu();
29
30
31        promiseTreeMenu.then(function (data) {
32
33            $scope.items = data;
34            var items = unflatten(data);
35
36
37
38        }, function (error) {
39            menuTreeData = null;
40            $route.reload();
41        });
42
43        var promiseUstMenuPath = asyncXXXXUstMenuPath();
44
45        promiseUstMenuPath.then(function (data) {
46            if (data.length === 1) {
47                UstMenuPath = data[0];
48                $scope.path = UstMenuPath.Yol2;
49                var promiseUstMenu = asyncXXXXUstMenu();
50
51
52                promiseUstMenu.then(function (data) {
53
54                    $scope.menuUstData = data;
55
56
57                }, function (error) {
58                    menuUstData = null;
59                    $route.reload();
60                });
61
62            }
63            else
64                UstMenuPath = null;
65        }, function (error) {
66            UstMenuPath = null;
67            $route.reload();
68        });
69
70
71    }); 
72
73
74    $scope.dsBirimUstmenu = new DevExpress.data.DataSource({
75        store: {
76            type: "odata",
77            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
78            key: "ID",
79            keyType: "Int32"
80        },
81        sort: "ID",
82
83        map: function (itemData) {
84            return {
85                ID: itemData.ID,
86                MenuAd: itemData.MenuAd,
87                IcerikAdres: itemData.IcerikAdres,
88                ParentID: itemData.UstMenuID,
89                IcerikID: itemData.IcerikID,
90                IcerikGuID: itemData.IcerikGuID,
91                Duzey: itemData.Seviye,
92                IcerikTipNo: itemData.IcerikTipNo,
93                Hedef: itemData.Hedef
94            };
95        }
96    });
97
98
99    var markerUrl = "https://js.devexpress.com/Demos/RealtorApp/images/map-marker.png",
100        markersData = [{
101            location: [37.039592, 35.384432],
102            tooltip: {
103                text: "Adana Alparslan Türkeş Bilim ve Teknoloji Üniversitesi"
104            }
105        } ,
106            {
107                location: [36.996792, 35.264442],
108                tooltip: {
109                    text: "Büyükşehir Belediyesi Adana Merkez Otogarı"
110                }
111            } 
112           
113        ];
114
115    $scope.markerUrlValue = markerUrl;
116    $scope.markers = markersData;
117
118    $scope.routes = [
119        {
120            weight: 6,
121            color: "blue",
122            opacity: 0.5,
123            mode: "",
124            locations: [
125                [37.039592, 35.384432],
126                [36.996792, 35.264442] 
127            ]
128        }
129    ];    
130
131    $scope.mapOptions = {
132        provider: "google",
133        zoom: 16,
134        height: "100%",
135        width: "100%",
136        controls:true,
137        //zoomControl: "true",
138        //mapTypeControl: "true",
139        //scaleControl: "true",
140        //streetViewControl: "false",
141        //rotateControl: "true",
142        //fullscreenControl: "true",
143         
144        bindingOptions: {
145            markerIconSrc: "markerUrlValue",
146            markers: "markers",
147            routes: "routes"
148        },
149        key: {
150            google: "AIzaSyAR6HJMUI76YzOR10AIlX2WjkZi5fruHHc"
151        }    
152    };
153
154    $scope.chooseModeOptions = {
155        dataSource: ["Adana Merkez Otogar","Adana Havalimanı","Adana Yüreğir Otagarı"],
156        value: "Adana Merkez Otogar",
157        onValueChanged: function (data) {
158
159            if (data.value === "Adana Merkez Otogar") {
160         
161                $scope.routes = [  {
162                    weight: 6,
163                    color: "blue",
164                    opacity: 0.5,
165                    mode: "",
166                    locations: [[37.039592, 35.384432], [36.996792, 35.264442]]
167                } ];
168                $scope.markers = [{
169                    location: [37.039592, 35.384432],
170                    tooltip: {
171                        text: "Adana Alparslan Türkeş Bilim ve Teknoloji Üniversitesi"
172                    }
173                },
174                {
175                    location: [36.996792, 35.264442],
176                    tooltip: {
177                        text: "Büyükşehir Belediyesi Adana Merkez Otogarı"
178                    }
179                }
180
181                ];
182            }
183            else if (data.value === "Adana Havalimanı") {
184              
185
186                $scope.routes = [  {
187                    weight: 6,
188                    color: "blue",
189                    opacity: 0.5,
190                    mode: "",  
191                    locations: [[37.039592, 35.384432], [36.983578, 35.296116]]
192                }];
193
194                $scope.markers = [{
195                    location: [37.039592, 35.384432],
196                    tooltip: {
197                        text: "Adana Alparslan Türkeş Bilim ve Teknoloji Üniversitesi"
198                    }
199                },
200                    {
201                        location: [36.983578, 35.296116],
202                        tooltip: {
203                            text: "Adana Şakirpaşa Havalimanı"
204                        }
205                    },
206
207                ];
208            }
209            else if (data.value === "Adana Yüreğir Otagarı") {
210                $scope.routes = [  {
211                    weight: 6,
212                    color: "blue",
213                    opacity: 0.5,
214                    mode: "",
215                    locations: [[37.039592, 35.384432], [36.991505, 35.343758]]
216                }];
217                $scope.markers = [{
218                    location: [37.039592, 35.384432],
219                    tooltip: {
220                        text: "Adana Alparslan Türkeş Bilim ve Teknoloji Üniversitesi"
221                    }
222                },
223                    {
224                        location: [36.991505, 35.343758],
225                        tooltip: {
226                            text: "Adana Yüreğir Otogarı"
227                        }
228                    } 
229                ];
230            }
231        }
232    };
233
234     
235    $scope.items = [];
236    $scope.treeViewItemDataDuzey = -1;
237
238    $scope.treeViewOptions = {
239         
240        width: 300,
241        height: "auto",
242        displayExpr: "MenuAd",
243        keyExpr: "ID",
244        parentIdExpr: "ParentID", 
245        dataStructure: "tree", 
246        noDataText: "",
247        focusStateEnabled: true,      // Klavyedeki Tab ve Ok tuşlarıyla odaklanmayı sağlar
248        hoverStateEnabled: true,      // Fareyle üzerine gelindiğinde görsel geri bildirim verir
249        adaptivityEnabled: true,
250        bindingOptions: {
251            dataSource: "items"
252        },
253        onContentReady: function (e) {
254            // 1. Alt menüsü olmayan (yaprak) öğelerden aria-expanded özniteliğini kaldır
255            $(e.element).find('.dx-treeview-node-is-leaf').removeAttr('aria-expanded');
256
257            // 2. Rolü olmayan iç div'lerden aria-selected özniteliğini kaldır
258            $(e.element).find('.dx-treeview-item').removeAttr('aria-selected');
259
260            // 3. Ana kapsayıcıdaki aranan hayali ID sorununu çözmek için (gerekirse) aktifi temizleyin
261            $(e.element).removeAttr('aria-activedescendant');
262        },
263        onItemClick: function (e) {
264
265         
266            var item = e.itemData;
267            $scope.treeViewItemDataDuzey = item.Duzey;
268
269            if (item.IcerikTipNo === 1 && item.IcerikID !== 0)
270                $window.open("#!/" + item.IcerikAdres + "/" + item.IcerikID + "/" + item.ParentID + "/" + item.IcerikGuID, item.Hedef);
271            else if (item.IcerikTipNo === 1 && item.IcerikID === 0 && item.IcerikAdres !== "")
272                $window.open("#!/" + item.IcerikAdres + "/" + item.ParentID, item.Hedef);
273
274            else if (item.IcerikTipNo === 2)
275                $window.open(item.IcerikAdres, item.Hedef);
276
277        }
278    };
279
280    $scope.UstMenuClick = function (IcerikID, IcerikTipNo, IcerikAdres, IcerikGuID, UstMenuID) {
281
282        if (IcerikTipNo === 1 && IcerikID !== 0)
283            $window.open("#!/" + IcerikAdres + "/" + IcerikID + "/" + UstMenuID + "/" + IcerikGuID, item.Hedef);
284        else if (IcerikTipNo === 1 && IcerikID === 0 && IcerikAdres !== "")
285            $window.open("#!/" + IcerikAdres + "/" + UstMenuID, item.Hedef);
286
287        else if (IcerikTipNo === 2)
288            $window.open(IcerikAdres, item.Hedef);
289
290    }
291
292
293    //Find index to insert new item---->
294    function findItemIndex(arr, elem) {
295        var len = arr.length;
296        for (var i = 0; i < len; i++) {
297            if (arr[i].SiraNo > elem.SiraNo)
298                return i;
299        }
300        return len;
301    }
302
303    function unflatten(arr) {
304        var tree = [],
305            mappedArr = {},
306            arrElem,
307            mappedElem;
308
309        // First map the nodes of the array to an object -> create a hash table.
310        for (var i = 0, len = arr.length; i < len; i++) {
311            arrElem = arr[i];
312            mappedArr[arrElem.ID] = arrElem;
313            mappedArr[arrElem.ID]['items'] = [];
314        }
315
316
317        for (var ID in mappedArr) {
318            if (mappedArr.hasOwnProperty(ID)) {
319                mappedElem = mappedArr[ID];
320                // If the element is not at the root level, add it to its parent array of children.  
321
322                if (mappedElem.ParentID) {
323
324                    //mappedArr[mappedElem['ParentID']]['items'].push(mappedElem);
325                    pushIndex = findItemIndex(mappedArr[mappedElem['ParentID']]['items'], mappedElem);
326                    mappedArr[mappedElem['ParentID']]['items'].splice(pushIndex, 0, mappedElem);
327
328                }
329                // If the element is at the root level, add it to first level elements array.
330                else {
331
332                    //tree.push(mappedElem);
333                    pushIndex = findItemIndex(tree, mappedElem);
334                    tree.splice(pushIndex, 0, mappedElem);
335                }
336
337            }
338        }
339
340        return tree;
341    }
342
343
344    $scope.dsTreeMenu = new DevExpress.data.DataSource({
345        store: {
346            type: "odata",
347            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
348            key: "ID",
349            keyType: "Int32"
350        },
351        sort: "SiraNo",
352        filter: ([["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu], "and", ["UstMenuID", "=", UMenuID]]),
353        paginate: false,
354        map: function (itemData) {
355            return {
356                ID: itemData.ID,
357                MenuAd: itemData.MenuAd,
358                IcerikAdres: itemData.IcerikAdres,
359                ParentID: itemData.UstMenuID,
360                IcerikID: itemData.IcerikID,
361                IcerikGuID: itemData.IcerikGuID,
362                Duzey: itemData.Seviye,
363                IcerikTipNo: itemData.IcerikTipNo,
364                Hedef: itemData.Hedef
365            };
366        }
367    });
368
369
370    var asyncXXXXTreeMenu = function () {
371
372        var d = $q.defer();
373
374
375        var result = $scope.dsTreeMenu.load();
376
377        result.done(function (data) {
378
379            d.resolve(data);
380        })
381            .fail(function (error) {
382                d.reject(error);
383                $route.reload();
384            });
385
386        return d.promise;
387    }; 
388
389    var asyncXXXXIletisim = function () {
390
391        var d = $q.defer();
392
393
394        $scope.dsIletisim.filter([["SiteID", "=", $scope.SiteID], "and", ["BirimID", "=", $scope.BirimID]]);
395
396        var resultIletisim = $scope.dsIletisim.load();
397
398        resultIletisim.done(function (data) {
399            d.resolve(data);
400        })
401            .fail(function (error) {
402                d.reject(error);
403                $route.reload();
404            });
405
406        return d.promise;
407    };
408
409    $scope.dsIletisim= new DevExpress.data.DataSource({
410        store: {
411            type: "odata",
412            url: "https://odata.atu.edu.tr/odata/DataService.svc/Iletisim",
413            key: "ID",
414            keyType: "Int32"
415        },
416         
417        map: function (itemData) {
418            return {
419                ID: itemData.ID,
420                Telefon: itemData.Telefon,
421                Faks: itemData.Faks,
422                Eposta: itemData.Eposta,
423                Adres: itemData.Adres,
424                Enlem: itemData.Enlem,
425                Boylam: itemData.Boylam,
426                GuID: itemData.GuID,
427                KEPadresi: itemData.KEPadresi
428            };
429        }
430
431    });
432
433
434
435    var asyncXXXXUstMenuPath = function () {
436
437        var d = $q.defer();
438
439        var resultUstMenuPath = $scope.dsUstMenuPath.load();
440
441        resultUstMenuPath.done(function (data) {
442            d.resolve(data);
443        })
444            .fail(function (error) {
445                d.reject(error);
446                $route.reload();
447            });
448
449        return d.promise;
450    };
451    $scope.dsUstMenuPath = new DevExpress.data.DataSource({
452        store: {
453            type: "odata",
454            url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
455            key: "ID",
456            keyType: "Int32"
457        },
458        map: function (itemData) {
459            return {
460                ID: itemData.ID,
461                Yol2: itemData.Yol2
462            };
463        }
464    });
465
466    $scope.dsUstMenuPath.filter("ID", "=", UMenuID);
467
468
469    var asyncXXXXUstMenu = function () {
470
471        var str = $scope.path;
472
473        var array = str.split(',');
474
475        var filter = [];
476        var filterID = [];
477
478        for (var fID in array) {
479
480            if (array.hasOwnProperty(fID)) {
481                if (array[fID] !== "") {
482                    filterID.push(["ID", "=", parseInt(array[fID])]);
483
484                    if ((array[fID] !== "") && (array[fID] !== array[array.length - 1])) {
485
486                        filterID.push("or");
487                    }
488                }
489
490            }
491        }
492
493        filter = [["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu]];
494        if (array.length > 0) filter.push("and", filterID);
495        // alert(filter);
496        $scope.dsUstMenu.filter(filter);
497        $scope.dsUstMenu.sort("Seviye");
498
499        var d = $q.defer();
500
501
502        var result = $scope.dsUstMenu.load();
503
504        result.done(function (data) {
505
506            d.resolve(data);
507        })
508            .fail(function (error) {
509                d.reject(error);
510                $route.reload();
511            });
512
513        return d.promise;
514    };
515
516    $scope.dsUstMenu = new DevExpress.data.DataSource(
517        {
518            store: {
519                type: "odata",
520                url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu",
521                key: "ID",
522                keyType: "Int32"
523            },
524            sort: "Seviye",
525            paginate: false,
526            map: function (itemData) {
527                return {
528                    ID: itemData.ID,
529                    MenuAd: itemData.MenuAd,
530                    Adres: itemData.AdresSatiri,
531                    Duzey: itemData.Seviye,
532                    IcerikTipNo: itemData.IcerikTipNo,
533                    IcerikID: itemData.IcerikID,
534                    UstMenuID: itemData.UstMenuID,
535                    IcerikAdres: itemData.IcerikAdres,
536                    IcerikGuID: itemData.IcerikGuID,
537                    Hedef: itemData.Hedef
538                  
539                };
540            }
541        });
542
543 
544});
545
546
547 

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.