-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsame-tab-menu-links.js
54 lines (45 loc) · 1.96 KB
/
same-tab-menu-links.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
(function(){
"use strict";
"use strict";
/* Make sure `showMmsid` is added to app declaration, as below */
var app = angular.module('viewCustom', ['angularLoad', 'sameTabMenuLinks']);
/**** begin code to be copied to custom.js ***/
app.component('prmTopNavBarLinksAfter', {
template: '<same-tab-menu-links></same-tab-menu-links>'
});
angular.module('sameTabMenuLinks', []).component('sameTabMenuLinks', {
bindings: {parentCtrl: '<'},
controller: function controller($document, $scope) {
this.$onInit = function() {
/*Must wait for menu items to appear*/
var elCheck = setInterval(updateLinks, 1000);
function updateLinks() {
/* Checks for menu links, sets all target attributes to '_self'*/
if( $document[0].querySelectorAll("div.top-nav-bar-links > div").length>0 ){
var menuItems=$document[0].querySelectorAll("div.top-nav-bar-links > div")
for (var i = 0; i < menuItems.length; i++) {
var mItem = menuItems[i];
var anchor = mItem.querySelector("div > a");
anchor.target="_self"
}
clearInterval(elCheck);
}
}
var linkCheck = setInterval(updateHiddenLinks, 1000);
function updateHiddenLinks() {
/* Checks for menu links, sets all target attributes to '_self'*/
if( $document[0].querySelectorAll("div.custom-links-container > div").length>0 ){
var menuItems=$document[0].querySelectorAll("div.custom-links-container > div")
for (var i = 0; i < menuItems.length; i++) {
var mItem = menuItems[i];
var anchor = mItem.querySelector("div > a");
anchor.target="_self"
}
clearInterval(linkCheck);
}
}
}
}
});
/**** end code to be copied to custom.js ***/
})();