1 2 3xApp.controller('akademikpersonelController', function akademikpersonelController($scope, $routeParams, $location, $q, $window, $http, $rootScope, $route) { 4 var UMenuID = parseInt($routeParams.UstMenuId); 5 var menuTreeData = []; 6 var menuUstData = []; 7 var UstMenuPath = null; 8 $scope.path = ""; 9 $scope.items = []; 10 var items = []; 11 //$scope.Akademik = []; 12 if (sessionStorage.getItem('SiteData') != null) { 13 $scope.SiteIDA = JSON.parse(sessionStorage.getItem('SiteData')); 14 15 } 16 angular.element(document).ready(function () { 17 18 if (sessionStorage.getItem('BirimData') != null) { 19 $scope.BirimIDA = JSON.parse(sessionStorage.getItem('BirimData')); 20 21 } 22 $scope.BirimID= $scope.BirimIDA; 23 24 25 $scope.SayfaUst(); 26 27 28 AkademikPersonel(); 29 $rootScope.AcilirPencere = 2; 30 var promiseTreeMenu = asyncXXXXTreeMenu(); 31 32 33 promiseTreeMenu.then(function (data) { 34 35 $scope.items = data; 36 items = unflatten(data); 37 38 39 }, function (error) { 40 menuTreeData = null; 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 }); 60 61 } 62 else 63 UstMenuPath = null; 64 }, function (error) { 65 UstMenuPath = null; 66 }); 67 68 69 70 71 }); 72 73 74 $scope.items = []; 75 $scope.treeViewItemDataDuzey = -1; 76 77 $scope.treeViewOptions = { 78 79 //items: items, 80 width: 300, 81 height: "auto", 82 displayExpr: "MenuAd", 83 keyExpr: "ID", 84 parentIdExpr: "ParentID", 85 //itemsExpr: "men=TreeData", 86 dataStructure: "tree", 87 //showRowLines: true, 88 //showBorders: true, 89 //columnAutoWidth: true, 90 //showColumnHeaders: false, 91 //hoverStateEnabled: true, 92 focusStateEnabled: true, // Klavyedeki Tab ve Ok tuÅlarıyla odaklanmayı saÄlar 93 hoverStateEnabled: true, // Fareyle üzerine gelindiÄinde görsel geri bildirim verir 94 adaptivityEnabled: true, 95 noDataText: "", 96 bindingOptions: { 97 dataSource: "items" 98 }, 99 onContentReady: function (e) { 100 // 1. Alt menüsü olmayan (yaprak) öÄelerden aria-expanded özniteliÄini kaldır 101 $(e.element).find('.dx-treeview-node-is-leaf').removeAttr('aria-expanded'); 102 103 // 2. Rolü olmayan iç div'lerden aria-selected özniteliÄini kaldır 104 $(e.element).find('.dx-treeview-item').removeAttr('aria-selected'); 105 106 // 3. Ana kapsayıcıdaki aranan hayali ID sorununu çözmek için (gerekirse) aktifi temizleyin 107 $(e.element).removeAttr('aria-activedescendant'); 108 }, 109 onItemClick: function (e) { 110 111 112 var item = e.itemData; 113 $scope.treeViewItemDataDuzey = item.Duzey; 114 115 if (item.IcerikTipNo === 1 && item.IcerikID !== 0) 116 window.open("#!/" + item.IcerikAdres + "/" + item.IcerikID + "/" + item.ParentID + "/" + item.IcerikGuID, item.Hedef); 117 else if (item.IcerikTipNo === 1 && item.IcerikID === 0 && item.IcerikAdres !== "") 118 window.open("#!/" + item.IcerikAdres + "/" + item.ParentID, item.Hedef); 119 120 else if (item.IcerikTipNo === 2) 121 window.open(item.IcerikAdres, item.Hedef); 122 } 123 }; 124 125 $scope.UstMenuClick = function (IcerikID, IcerikTipNo, IcerikAdres, IcerikGuID, UstMenuID) { 126 127 if (IcerikTipNo === 1 && IcerikID !== 0) 128 window.open("#!/" + IcerikAdres + "/" + IcerikID + "/" + UstMenuID + "/" + IcerikGuID, item.Hedef); 129 else if (IcerikTipNo === 1 && IcerikID === 0 && IcerikAdres !== "") 130 window.open("#!/" + IcerikAdres + "/" + UstMenuID, item.Hedef); 131 132 else if (IcerikTipNo === 2) 133 window.open(IcerikAdres, item.Hedef); 134 135 } 136 137 //Find index to insert new item----> 138 function findItemIndex(arr, elem) { 139 var len = arr.length; 140 for (var i = 0; i < len; i++) { 141 if (arr[i].SiraNo > elem.SiraNo) 142 return i; 143 } 144 return len; 145 } 146 147 function unflatten(arr) { 148 var tree = [], 149 mappedArr = {}, 150 arrElem, 151 mappedElem; 152 153 // First map the nodes of the array to an object -> create a hash table. 154 for (var i = 0, len = arr.length; i < len; i++) { 155 arrElem = arr[i]; 156 mappedArr[arrElem.ID] = arrElem; 157 mappedArr[arrElem.ID]['items'] = []; 158 } 159 160 161 for (var ID in mappedArr) { 162 if (mappedArr.hasOwnProperty(ID)) { 163 mappedElem = mappedArr[ID];
164 // If the element is not at the root level, add it to its parent array of children. 165 166 if (mappedElem.ParentID) { 167 168 //mappedArr[mappedElem['ParentID']]['items'].push(mappedElem); 169 pushIndex = findItemIndex(mappedArr[mappedElem['ParentID']]['items'], mappedElem); 170 mappedArr[mappedElem['ParentID']]['items'].splice(pushIndex, 0, mappedElem); 171 172 } 173 // If the element is at the root level, add it to first level elements array. 174 else { 175 176 //tree.push(mappedElem); 177 pushIndex = findItemIndex(tree, mappedElem); 178 tree.splice(pushIndex, 0, mappedElem); 179 } 180 181 } 182 } 183 184 return tree; 185 } 186 187 $scope.dsTreeMenu = new DevExpress.data.DataSource({ 188 store: { 189 type: "odata", 190 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 191 key: "ID", 192 keyType: "Int32" 193 }, 194 sort: "SiraNo", 195 filter: ([["SiteID", "=", $scope.SiteIDA], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu], "and", ["UstMenuID", "=", UMenuID ]]), 196 paginate: false, 197 map: function (itemData) { 198 return { 199 ID: itemData.ID, 200 MenuAd: itemData.MenuAd, 201 IcerikAdres: itemData.IcerikAdres, 202 ParentID: itemData.UstMenuID, 203 IcerikID: itemData.IcerikID, 204 IcerikGuID: itemData.IcerikGuID, 205 Duzey: itemData.Seviye, 206 IcerikTipNo: itemData.IcerikTipNo, 207 Hedef: itemData.Hedef 208 }; 209 } 210 }); 211 212 213 var asyncXXXXTreeMenu = function () { 214 if (sessionStorage.getItem('SiteData') != null) { 215 $scope.SiteIDA = JSON.parse(sessionStorage.getItem('SiteData')); 216 217 } 218 219 var d = $q.defer(); 220 221 222 var result = $scope.dsTreeMenu.load(); 223 224 result.done(function (data) { 225 226 d.resolve(data); 227 }) 228 .fail(function (error) { 229 d.reject(error); 230 //console.log("sa ID = " + $scope.SiteIDA ); 231 }); 232 233 return d.promise; 234 }; 235 236 function AkademikPersonel() { 237 238 239 240 // console.log("Birim ID = " + $scope.BirimIDA); 241 242 var personelDetayPost = $http({ 243 method: 'POST', 244 headers: { 'Content-Type': 'application/json' }, 245 url: 'https://bilgisistemi.atu.edu.tr/WS/Genel.asmx/AkademikPersonelListesiByBirim?birimId=' + $scope.BirimIDA + '&dilKodu=' + $scope.DilKodu , 246 data: { "birimId": $scope.BirimIDA, "dilKodu": $scope.DilKodu }, 247 dataType: 'json' 248 }).then(function successCallback(response) { 249 $scope.Akademik = response.data; 250 251 // console.log( JSON.stringify($scope.Akademik)); 252 253 }, function errorCallback(response) { 254 $route.reload(); 255 // console.log( JSON.stringify($scope.Akademik)); 256 }); 257 258 } 259 260 var asyncXXXXUstMenuPath = function () { 261 262 var d = $q.defer(); 263 264 var resultUstMenuPath = $scope.dsUstMenuPath.load(); 265 266 resultUstMenuPath.done(function (data) { 267 d.resolve(data); 268 }) 269 .fail(function (error) { 270 d.reject(error); 271 }); 272 273 return d.promise; 274 }; 275 $scope.dsUstMenuPath = new DevExpress.data.DataSource({ 276 store: { 277 type: "odata", 278 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 279 key: "ID", 280 keyType: "Int32" 281 }, 282 map: function (itemData) { 283 return { 284 ID: itemData.ID, 285 Yol2: itemData.Yol2 286 }; 287 } 288 }); 289 290 $scope.dsUstMenuPath.filter("ID", "=", UMenuID); 291 292 293 var asyncXXXXUstMenu = function () { 294 295 var str = $scope.path; 296 297 var array = str.split(','); 298 299 var filter = []; 300 var filterID = []; 301 302 for (var fID in array) { 303 304 if (array.hasOwnProperty(fID)) { 305 if (array[fID] !== "") { 306 filterID.push(["ID", "=", parseInt(array[fID])]); 307 308 if ((array[fID] !== "") && (array[fID] !== array[array.length - 1])) { 309 310 filterID.push("or"); 311 } 312 } 313 314 } 315 } 316 317 filter = [["SiteID", "=", $scope.SiteIDA], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu]]; 318 if (array.length > 0) filter.push("and", filterID); 319 // alert(filter); 320 $scope.dsUstMenu.filter(filter); 321 $scope.dsUstMenu.sort("Seviye"); 322 323 var d = $q.defer(); 324 325 326 var result = $scope.dsUstMenu.load(); 327 328 result.done(function (data) { 329 330 d.resolve(data); 331 }) 332 .fail(function (error) { 333 d.reject(error); 334 }); 335 336 return d.promise; 337 }; 338 339 $scope.dsUstMenu = new DevExpress.data.DataSource( 340 { 341 store: { 342 type: "odata", 343 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 344 key: "ID", 345 keyType: "Int32" 346 }, 347 sort: "Seviye", 348 paginate: false, 349 map: function (itemData) { 350 return { 351 ID: itemData.ID, 352 MenuAd: itemData.MenuAd, 353 Adres: itemData.AdresSatiri, 354 Duzey: itemData.Seviye, 355 IcerikTipNo: itemData.IcerikTipNo, 356 IcerikID: itemData.IcerikID, 357 UstMenuID: itemData.UstMenuID, 358 IcerikAdres: itemData.IcerikAdres, 359 IcerikGuID: itemData.IcerikGuID, 360 Hedef: itemData.Hedef 361 }; 362 } 363 }); 364 365}); 366 367 368
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.