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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
elgg.provide('elgg.ui');
elgg.ui.init = function () {
//if the user clicks a system message, make it disappear
$('.elgg-system-messages li').live('click', function() {
$(this).stop().fadeOut('fast');
});
$('a.collapsibleboxlink').click(elgg.ui.toggleCollapsibleBox);
// set-up hover class for dragged widgets
var cols = [
"#rightcolumn_widgets",
"#middlecolumn_widgets",
"#leftcolumn_widgets"
].join(',');
$(cols).droppable({
accept: ".draggable_widget",
hoverClass: 'droppable-hover'
});
};
// reusable generic hidden panel
elgg.ui.toggleCollapsibleBox = function () {
$(this.parentNode.parentNode).children(".collapsible_box").slideToggle("fast");
return false;
};
//define some helper jquery plugins
(function($) {
// ELGG TOOLBAR MENU
$.fn.elgg_topbardropdownmenu = function(options) {
var defaults = {
speed: 350
};
options = $.extend(defaults, options || {});
this.each(function() {
var root = this, zIndex = 5000;
function getSubnav(ele) {
if (ele.nodeName.toLowerCase() === 'li') {
var subnav = $('> ul', ele);
return subnav.length ? subnav[0] : null;
} else {
return ele;
}
}
function getActuator(ele) {
if (ele.nodeName.toLowerCase() === 'ul') {
return $(ele).parents('li')[0];
} else {
return ele;
}
}
function hide() {
var subnav = getSubnav(this);
if (!subnav) {
return;
}
$.data(subnav, 'cancelHide', false);
setTimeout(function() {
if (!$.data(subnav, 'cancelHide')) {
$(subnav).slideUp(100);
}
}, 250);
}
function show() {
var subnav = getSubnav(this), li;
if (!subnav) {
return;
}
$.data(subnav, 'cancelHide', true);
$(subnav).css({zIndex: zIndex}).slideDown(options.speed);
zIndex++;
if (this.nodeName.toLowerCase() === 'ul') {
li = getActuator(this);
$(li).addClass('hover');
$('> a', li).addClass('hover');
}
}
$('ul, li', this).hover(show, hide);
$('li', this).hover(
function () {
$(this).addClass('hover');
$('> a', this).addClass('hover');
},
function () {
$(this).removeClass('hover');
$('> a', this).removeClass('hover');
}
);
});
};
//Make delimited list
$.fn.makeDelimitedList = function(elementAttribute) {
var delimitedListArray = [],
listDelimiter = "::";
// Loop over each element in the stack and add the elementAttribute to the array
this.each(function(e) {
var listElement = $(this);
// Add the attribute value to our values array
delimitedListArray[delimitedListArray.length] = listElement.attr(elementAttribute);
}
);
// Return value list by joining the array
return delimitedListArray.join(listDelimiter);
};
})(jQuery);
elgg.register_event_handler('init', 'system', elgg.ui.init);
|