diff options
author | pete <pete@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-01-22 15:53:51 +0000 |
---|---|---|
committer | pete <pete@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2009-01-22 15:53:51 +0000 |
commit | f05a92d4e0df4edcc50eb1f3aa62641d6675186a (patch) | |
tree | 5465e2807b01da65113f6d2ce137eb79ce45f767 /views/default/js/initialise_elgg.php | |
parent | 4807d374a4f558d9ae5669e359de05bcb2357ff4 (diff) | |
download | elgg-f05a92d4e0df4edcc50eb1f3aa62641d6675186a.tar.gz elgg-f05a92d4e0df4edcc50eb1f3aa62641d6675186a.tar.bz2 |
jquery framework and avatar menu updated
git-svn-id: https://code.elgg.org/elgg/trunk@2601 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default/js/initialise_elgg.php')
-rw-r--r-- | views/default/js/initialise_elgg.php | 216 |
1 files changed, 92 insertions, 124 deletions
diff --git a/views/default/js/initialise_elgg.php b/views/default/js/initialise_elgg.php index 3eb62b05b..38f25673e 100644 --- a/views/default/js/initialise_elgg.php +++ b/views/default/js/initialise_elgg.php @@ -1,5 +1,6 @@ $(document).ready(function () {
-
+
+ // COLLAPSABLE WIDGETS (on Dashboard & Profile pages)
// toggle widget box contents
$('a.toggle_box_contents').bind('click', toggleContent);
@@ -7,24 +8,22 @@ $(document).ready(function () { $('a.toggle_box_edit_panel').click(function () {
$(this.parentNode.parentNode).children("[class=collapsable_box_editpanel]").slideToggle("fast");
return false;
- });
-
-
+ });
+
// toggle customise edit panel
$('a.toggle_customise_edit_panel').click(function () {
$('div#customise_editpanel').slideToggle("fast");
return false;
- });
-
+ });
+
// toggle plugin's more info on admin tools admin
$('a.manifest_details').click(function () {
$(this.parentNode.parentNode).children("[class=manifest_file]").slideToggle("fast");
return false;
});
-
- //////////////////
- // WIDGET GALLERY
- // sortable widgets
+
+ // WIDGET GALLERY EDIT PANEL
+ // Sortable widgets
var els = ['#leftcolumn_widgets', '#middlecolumn_widgets', '#rightcolumn_widgets', '#widget_picker_gallery' ];
var $els = $(els.toString());
@@ -38,9 +37,7 @@ $(document).ready(function () { placeholder: 'placeholder',
connectWith: els,
start:function(e,ui) {
- // prevent droppable drop function from running when re-sorting main lists
- //$('#middlecolumn_widgets').droppable("disable");
- //$('#leftcolumn_widgets').droppable("disable");
+
},
stop: function(e,ui) {
// refresh list before updating hidden fields with new widget order
@@ -53,15 +50,13 @@ $(document).ready(function () { document.getElementById('debugField1').value = widgetNamesLeft;
document.getElementById('debugField2').value = widgetNamesMiddle;
document.getElementById('debugField3').value = widgetNamesRight;
-
}
});
- // bind more info buttons
- // it's wrapped in a function so it can be called when new widgets are created
- widget_moreinfo();
-
- // setup hover class for dragged widgets
+ // bind more info buttons - called when new widgets are created
+ widget_moreinfo();
+
+ // set-up hover class for dragged widgets
$("#rightcolumn_widgets").droppable({
accept: ".draggable_widget",
hoverClass: 'droppable-hover'
@@ -75,59 +70,40 @@ $(document).ready(function () { hoverClass: 'droppable-hover'
});
-
-
-
-
}); /* end document ready function */
+// List active widgets for each page column
+function outputWidgetList(forElement) {
+ return( $("input[@name='handler'], input[@name='guid']", forElement ).makeDelimitedList("value") );
+}
-
-
-
-
-
-
-
-
-
+// Make delimited list
jQuery.fn.makeDelimitedList = function(elementAttribute) {
-
- var delimitedListArray = new Array();
+ var delimitedListArray = new Array();
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));
}
-
-
-function outputWidgetList(forElement) {
- return( $("input[@name='handler'], input[@name='guid']", forElement ).makeDelimitedList("value") );
-}
-
-
-// widget panel collapsed/expanded state
+// Read each widgets collapsed/expanded state from cookie and apply
function widget_state(forWidget) {
var thisWidgetState = $.cookie(forWidget);
if (thisWidgetState == 'collapsed') {
-
forWidget = "#" + forWidget;
-
$(forWidget).find("div.collapsable_box_content").hide();
$(forWidget).find("a.toggle_box_contents").html('+');
$(forWidget).find("a.toggle_box_edit_panel").fadeOut('medium');
@@ -135,44 +111,39 @@ function widget_state(forWidget) { }
-// toggle widget box contents
+// Toggle widgets contents and save to a cookie
var toggleContent = function(e) {
- var targetContent = $('div.collapsable_box_content', this.parentNode.parentNode);
- if (targetContent.css('display') == 'none') {
- targetContent.slideDown(400);
- $(this).html('-');
- $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeIn('medium');
-
- // set cookie for widget panel open-state
- var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id');
- $.cookie(thisWidgetName, 'expanded', { expires: 365 });
-
-
- } else {
- targetContent.slideUp(400);
- $(this).html('+');
- $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeOut('medium');
- // make sure edit pane is closed
- $(this.parentNode.parentNode).children("[class=collapsable_box_editpanel]").hide();
-
- // set cookie for widget panel closed-state
- var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id');
- $.cookie(thisWidgetName, 'collapsed', { expires: 365 });
- }
+var targetContent = $('div.collapsable_box_content', this.parentNode.parentNode);
+ if (targetContent.css('display') == 'none') {
+ targetContent.slideDown(400);
+ $(this).html('-');
+ $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeIn('medium');
+
+ // set cookie for widget panel open-state
+ var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id');
+ $.cookie(thisWidgetName, 'expanded', { expires: 365 });
+
+ } else {
+ targetContent.slideUp(400);
+ $(this).html('+');
+ $(this.parentNode).children("[class=toggle_box_edit_panel]").fadeOut('medium');
+ // make sure edit pane is closed
+ $(this.parentNode.parentNode).children("[class=collapsable_box_editpanel]").hide();
+
+ // set cookie for widget panel closed-state
+ var thisWidgetName = $(this.parentNode.parentNode.parentNode).attr('id');
+ $.cookie(thisWidgetName, 'collapsed', { expires: 365 });
+ }
return false;
};
-
-
-
+// More info tooltip in widget gallery edit panel
function widget_moreinfo() {
$("img.more_info").hover(function(e) {
-
- var widgetdescription = $("input[@name='description']", this.parentNode.parentNode.parentNode ).attr('value');
-
- $("body").append("<p id='widget_moreinfo'><b>"+ widgetdescription +" </b></p>");
-
+ var widgetdescription = $("input[@name='description']", this.parentNode.parentNode.parentNode ).attr('value');
+ $("body").append("<p id='widget_moreinfo'><b>"+ widgetdescription +" </b></p>");
+
if (e.pageX < 900) {
$("#widget_moreinfo")
.css("top",(e.pageY + 10) + "px")
@@ -185,59 +156,56 @@ function widget_moreinfo() { .css("left",(e.pageX - 210) + "px")
.fadeIn("medium");
}
-
- },
+ },
function() {
$("#widget_moreinfo").remove();
- });
-
+ });
+
$("img.more_info").mousemove(function(e) {
- //$("#widget_moreinfo")
- // .css("top",(e.pageY + 10) + "px")
- // .css("left",(e.pageX + 10) + "px");
+ // action on mousemove
});
-
};
-
+// COOKIES
jQuery.cookie = function(name, value, options) {
- if (typeof value != 'undefined') { // name and value given, set cookie
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
+ if (typeof value != 'undefined') { // name and value given, set cookie
+ options = options || {};
+ if (value === null) {
+ value = '';
+ options.expires = -1;
+ }
+ var expires = '';
+ if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
+ var date;
+ if (typeof options.expires == 'number') {
+ date = new Date();
+ date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
+ } else {
+ date = options.expires;
}
- // CAUTION: Needed to parenthesize options.path and options.domain
- // in the following expressions, otherwise they evaluate to undefined
- // in the packed version for some reason...
- var path = options.path ? '; path=' + (options.path) : '';
- var domain = options.domain ? '; domain=' + (options.domain) : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- } else { // only name given, get cookie
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
- // Does this cookie string begin with the name we want?
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
+ expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
+ // CAUTION: Needed to parenthesize options.path and options.domain
+ // in the following expressions, otherwise they evaluate to undefined
+ // in the packed version for some reason.
+ var path = options.path ? '; path=' + (options.path) : '';
+ var domain = options.domain ? '; domain=' + (options.domain) : '';
+ var secure = options.secure ? '; secure' : '';
+ document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
+
+ } else { // only name given, get cookie
+ var cookieValue = null;
+ if (document.cookie && document.cookie != '') {
+ var cookies = document.cookie.split(';');
+ for (var i = 0; i < cookies.length; i++) {
+ var cookie = jQuery.trim(cookies[i]);
+ // Does this cookie string begin with the name we want?
+ if (cookie.substring(0, name.length + 1) == (name + '=')) {
+ cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
+ break;
+ }
+ }
+ }
+ return cookieValue;
+ }
};
|