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
|
elgg.provide('elgg.ui');
elgg.ui.init = function () {
$('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);
if (!subnav) {
return;
}
$.data(subnav, 'cancelHide', true);
$(subnav).css({zIndex: zIndex++}).slideDown(options.speed);
if (this.nodeName.toLowerCase() == 'ul') {
var 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 = [];
var 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);
$(function() {
elgg.ui.init();
});
|