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