1 2 3xApp.controller('SSSController', function SSSController($scope, $routeParams, $location, $q, $window, $rootScope, $route) { 4 5 6 var UMenuID = parseInt($routeParams.UstMenuId); 7 8 var menuTreeData = []; 9 10 angular.element(document).ready(function () { 11 12 $rootScope.AcilirPencere = 2; 13 $scope.SayfaUst(); 14 $scope.SSS = []; 15 $scope.items = $scope.menuData;//.filter(item=> item.Duzey >= $scope.treeViewItemDataDuzey); 16 17 var promiseSSS = asyncXXXXSSS(); 18 19 promiseSSS.then(function (data) { 20 //alert(JSON.stringify(data)) 21 $scope.SSS = data; 22 23 }, function (error) { 24 $scope.SSS = null; 25 $route.reload(); 26 }); 27 28 29 30 var promiseTreeMenu = asyncXXXXTreeMenu(); 31 32 33 promiseTreeMenu.then(function (data) { 34 35 36 $scope.items = data; 37 var items = unflatten(data); 38 39 40 }, function (error) { 41 menuTreeData = null; 42 $route.reload(); 43 }); 44 45 var promiseUstMenuPath = asyncXXXXUstMenuPath(); 46 47 promiseUstMenuPath.then(function (data) { 48 if (data.length === 1) { 49 UstMenuPath = data[0]; 50 $scope.path = UstMenuPath.Yol2; 51 var promiseUstMenu = asyncXXXXUstMenu(); 52 53 54 promiseUstMenu.then(function (data) { 55 56 $scope.menuUstData = data; 57 58 59 }, function (error) { 60 menuUstData = null; 61 $route.reload(); 62 }); 63 64 } 65 else 66 UstMenuPath = null; 67 }, function (error) { 68 UstMenuPath = null; 69 $route.reload(); 70 }); 71 72 }); 73 74 $scope.accordionOptions = { 75 itemTemplate: "sss_sorular", 76 bindingOptions: { 77 dataSource: "SSS", 78 animationDuration: "animationDuration", 79 collapsible: "collapsible", 80 multiple: "multiple", 81 selectedItems: "selectedItems" 82 } 83 }; 84 85 86 $scope.items = []; 87 $scope.treeViewItemDataDuzey = -1; 88 89 $scope.treeViewOptions = { 90 91 //items: items, 92 width: 300, 93 height: "auto", 94 displayExpr: "MenuAd", 95 keyExpr: "ID", 96 parentIdExpr: "ParentID", 97 //itemsExpr: "men=TreeData", 98 dataStructure: "tree", 99 //showRowLines: true, 100 //showBorders: true, 101 //columnAutoWidth: true, 102 //showColumnHeaders: false, 103 //hoverStateEnabled: true, 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 var item = e.itemData; 122 $scope.treeViewItemDataDuzey = item.Duzey; 123 124 if (item.IcerikTipNo === 1 && item.IcerikID !== 0) 125 window.open("#!/" + item.IcerikAdres + "/" + item.IcerikID + "/" + item.ParentID + "/" + item.IcerikGuID, item.Hedef); 126 else if (item.IcerikTipNo === 1 && item.IcerikID === 0 && item.IcerikAdres !== "") 127 window.open("#!/" + item.IcerikAdres + "/" + item.ParentID, item.Hedef); 128 129 else if (item.IcerikTipNo === 2) 130 window.open(item.IcerikAdres, item.Hedef); 131 132 } 133 }; 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.UstMenuClick = function (IcerikID, IcerikTipNo, IcerikAdres, IcerikGuID, UstMenuID) { 188 189 if (IcerikTipNo === 1 && IcerikID !== 0) 190 window.open("#!/" + IcerikAdres + "/" + IcerikID + "/" + UstMenuID + "/" + IcerikGuID, item.Hedef); 191 else if (IcerikTipNo === 1 && IcerikID === 0 && IcerikAdres !== "") 192 window.open("#!/" + IcerikAdres + "/" + UstMenuID, item.Hedef); 193 194 else if (IcerikTipNo === 2) 195 window.open(IcerikAdres, item.Hedef); 196 197 } 198 199 200 $scope.dsTreeMenu = new DevExpress.data.DataSource({ 201 store: { 202 type: "odata", 203 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 204 key: "ID", 205 keyType: "Int32" 206 }, 207 sort: "SiraNo", 208 filter: ([["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu], "and", ["UstMenuID", "=", UMenuID]]), 209 paginate: false, 210 map: function (itemData) { 211 return { 212 ID: itemData.ID, 213 MenuAd: itemData.MenuAd, 214 IcerikAdres: itemData.IcerikAdres, 215 ParentID: itemData.UstMenuID, 216 IcerikID: itemData.IcerikID, 217 IcerikGuID: itemData.IcerikGuID, 218 Duzey: itemData.Seviye, 219 IcerikTipNo: itemData.IcerikTipNo, 220 Hedef: itemData.Hedef 221 }; 222 } 223 }); 224 225 226 var asyncXXXXTreeMenu = function () { 227 228 var d = $q.defer(); 229 230 231 var result = $scope.dsTreeMenu.load(); 232 233 result.done(function (data) { 234 235 d.resolve(data); 236 }) 237 .fail(function (error) { 238 d.reject(error); 239 $route.reload(); 240 }); 241 242 return d.promise; 243 }; 244 245 246 var asyncXXXXSSS = function () { 247 248 var d = $q.defer(); 249 250 251 $scope.dsSSS.filter([["SiteID", "=", $scope.SiteID], "and", ["BirimID", "=", $scope.BirimID]]); 252 253 var resultSSS = $scope.dsSSS.load(); 254 255 resultSSS.done(function (data) { 256 d.resolve(data); 257 }) 258 .fail(function (error) { 259 d.reject(error); 260 $route.reload(); 261 }); 262 263 return d.promise; 264 }; 265 266 $scope.dsSSS = new DevExpress.data.DataSource({ 267 store: { 268 type: "odata", 269 url: "https://odata.atu.edu.tr/odata/DataService.svc/SSS", 270 key: "ID", 271 keyType: "Int32" 272 }, 273 sort: "Sira", 274 paginate: false, 275 map: function (itemData) { 276 return { 277 ID: itemData.ID, 278 baslik: itemData.baslik, 279 soruicerik: itemData.soruicerik, 280 Sira: itemData.Sira 281 }; 282 } 283 284 }); 285 286 287 288 var asyncXXXXUstMenuPath = function () { 289 290 var d = $q.defer(); 291 292 var resultUstMenuPath = $scope.dsUstMenuPath.load(); 293 294 resultUstMenuPath.done(function (data) { 295 d.resolve(data); 296 }) 297 .fail(function (error) { 298 d.reject(error); 299 $route.reload(); 300 }); 301 302 return d.promise; 303 }; 304 $scope.dsUstMenuPath = new DevExpress.data.DataSource({ 305 store: { 306 type: "odata", 307 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 308 key: "ID", 309 keyType: "Int32" 310 }, 311 map: function (itemData) { 312 return { 313 ID: itemData.ID, 314 Yol2: itemData.Yol2 315 }; 316 } 317 });
318 319 $scope.dsUstMenuPath.filter("ID", "=", UMenuID); 320 321 322 var asyncXXXXUstMenu = function () { 323 324 var str = $scope.path; 325 326 var array = str.split(','); 327 328 var filter = []; 329 var filterID = []; 330 331 for (var fID in array) { 332 333 if (array.hasOwnProperty(fID)) { 334 if (array[fID] !== "") { 335 filterID.push(["ID", "=", parseInt(array[fID])]); 336 337 if ((array[fID] !== "") && (array[fID] !== array[array.length - 1])) { 338 339 filterID.push("or"); 340 } 341 } 342 343 } 344 } 345 346 filter = [["SiteID", "=", $scope.SiteID], "and", ["Durum", "=", 1], "and", ["DilKodu", "=", $scope.DilKodu]]; 347 if (array.length > 0) filter.push("and", filterID); 348 // alert(filter); 349 $scope.dsUstMenu.filter(filter); 350 $scope.dsUstMenu.sort("Seviye"); 351 352 var d = $q.defer(); 353 354 355 var result = $scope.dsUstMenu.load(); 356 357 result.done(function (data) { 358 359 d.resolve(data); 360 }) 361 .fail(function (error) { 362 d.reject(error); 363 $route.reload(); 364 }); 365 366 return d.promise; 367 }; 368 369 $scope.dsUstMenu = new DevExpress.data.DataSource( 370 { 371 store: { 372 type: "odata", 373 url: "https://odata.atu.edu.tr/odata/DataService.svc/Menu", 374 key: "ID", 375 keyType: "Int32" 376 }, 377 sort: "Seviye", 378 paginate: false, 379 map: function (itemData) { 380 return { 381 ID: itemData.ID, 382 MenuAd: itemData.MenuAd, 383 Adres: itemData.AdresSatiri, 384 Duzey: itemData.Seviye, 385 IcerikTipNo: itemData.IcerikTipNo, 386 IcerikID: itemData.IcerikID, 387 UstMenuID: itemData.UstMenuID, 388 IcerikAdres: itemData.IcerikAdres, 389 IcerikGuID: itemData.IcerikGuID 390 }; 391 } 392 }); 393}); 394 395 396
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.