aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--javascript/initialise_elgg.js94
1 files changed, 81 insertions, 13 deletions
diff --git a/javascript/initialise_elgg.js b/javascript/initialise_elgg.js
index 0927eab78..15aa40396 100644
--- a/javascript/initialise_elgg.js
+++ b/javascript/initialise_elgg.js
@@ -1,5 +1,3 @@
-
-
$(document).ready(function () {
// close all drawer elements
@@ -25,21 +23,26 @@ $(document).ready(function () {
$('a.toggle_customise_edit_panel').click(function () {
$('div#customise_editpanel').slideToggle("fast");
return false;
- });
-
- // temp. function to close panel on save
- $('input.submit_button').click(function () {
- $('div#customise_editpanel').slideToggle("fast");
- return false;
- });
+ });
// click function for customise panel - remove widget
$('img.remove_me').click(function () {
- $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium");
+ //$(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium");
+ $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () {
+ $(this).remove();
+ var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ',');
+ var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ',');
+ document.getElementById('debugField1').value = widgetNameMain;
+ document.getElementById('debugField2').value = widgetNameRight;
+ });
+
return false;
});
-
- var els = ['#widget_picker_gallery', '#main_widgets', '#rightsidebar_widgets'];
+
+ // draggable, droppable, and sortable elements
+
+ // sortable widgets
+ var els = ['#main_widgets', '#rightsidebar_widgets'];
var $els = $(els.toString());
$els.sortable({
@@ -50,8 +53,73 @@ $(document).ready(function () {
opacity: 0.8,
appendTo: 'body',
placeholder: 'placeholder',
- connectWith: els
+ connectWith: els,
+ start:function(e,ui) { // prevent droppable drop function from running when resorting main lists
+ $('#rightsidebar_widgets').droppable("disable");
+ $('#main_widgets').droppable("disable");
+ },
+ stop: function(e,ui) {
+ $(this).sortable( "refresh" );
+
+ var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ',');
+ var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ',');
+ //alert('widgetName = ' +widgetName);
+ document.getElementById('debugField1').value = widgetNameMain;
+ document.getElementById('debugField2').value = widgetNameRight;
+ }
+ });
+
+ // define draggable widgets from gallery
+ $("#widget_picker_gallery .draggable_widget").draggable({
+ helper: 'clone',
+ containment: '#customise_editpanel',
+ start: function(ev, ui) {
+ $('#rightsidebar_widgets').droppable("enable");
+ $('#main_widgets').droppable("enable");
+ }
});
+
+ // define what happens when new widgets are dragged from the gallery
+ $("#rightsidebar_widgets").droppable({
+ accept: ".draggable_widget",
+ hoverClass: 'droppable-hover',
+ drop: function(ev, ui) {
+ $(this).append($(ui.draggable).clone() );
+ $(this).droppable("disable");
+ $('img.remove_me').click(function () {
+ $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () {
+ $(this).remove();
+ var widgetNameMain = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ',');
+ document.getElementById('debugField2').value = widgetNameMain;
+ });
+ return false;
+ });
+ $els.sortable( "refresh" );
+ var widgetNameRight = ($('#rightsidebar_widgets').text()).replace(/[\n]/g, ',');
+ document.getElementById('debugField2').value = widgetNameRight;
+ }
+ });
+ $("#main_widgets").droppable({
+ accept: ".draggable_widget",
+ hoverClass: 'droppable-hover',
+ drop: function(ev, ui) {
+ $(this).append($(ui.draggable).clone() );
+ $(this).droppable("disable");
+ $('img.remove_me').click(function () {
+ $(this.parentNode.parentNode.parentNode.parentNode.parentNode).fadeOut("medium", function () {
+ $(this).remove();
+ var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ',');
+ document.getElementById('debugField1').value = widgetNameMain;
+ });
+ return false;
+
+ });
+ $els.sortable( "refresh" );
+ var widgetNameMain = ($('#main_widgets').text()).replace(/[\n]/g, ',');
+ document.getElementById('debugField1').value = widgetNameMain;
+ }
+ });
+
});