[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [10651] Controller: Changed code for generating url i
From: |
Torstein |
Subject: |
[Fmsystem-commits] [10651] Controller: Changed code for generating url in javascript to call pgpGWLink function |
Date: |
Tue, 08 Jan 2013 08:05:32 +0000 |
Revision: 10651
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=10651
Author: vator
Date: 2013-01-08 08:05:31 +0000 (Tue, 08 Jan 2013)
Log Message:
-----------
Controller: Changed code for generating url in javascript to call pgpGWLink
function
Modified Paths:
--------------
trunk/controller/js/controller/custom_drag_drop.js
Modified: trunk/controller/js/controller/custom_drag_drop.js
===================================================================
--- trunk/controller/js/controller/custom_drag_drop.js 2013-01-07 17:56:24 UTC
(rev 10650)
+++ trunk/controller/js/controller/custom_drag_drop.js 2013-01-08 08:05:31 UTC
(rev 10651)
@@ -1,149 +1,150 @@
+// The row that is moved
var placeholder;
+// The row that act as an illusion of where to place the moved row
var drag_elem;
var next_elem;
var prev_elem;
-var adj_y;
+var list_container_pos_y;
$(document).ready(function(){
- // On drag item row
- $(".drag_item a").mousedown(function(e){
- // Setting placeholder to the clicked row
- placeholder = $(this).closest('li');
- init_drag( placeholder, e );
- start_drag("item");
+ // On drag item row
+ $(".drag_item a").mousedown(function(e){
+ // Setting placeholder to the clicked row
+ placeholder = $(this).closest('li');
- return false;
- });
-
- // On drag group
- $(".drag_group h3 a").mousedown(function(e){
- // Setting placeholder to the clicked row
- placeholder = $(this).closest('li');
- init_drag( placeholder, e );
- start_drag("group");
+ init_drag( placeholder, e );
+ start_drag("item");
- return false;
- });
+ return false;
+ });
+
+
+ // On drag group
+ $(".drag_group h3 a").mousedown(function(e){
+ // Setting placeholder to the clicked row
+ placeholder = $(this).closest('li');
+ init_drag( placeholder, e );
+ start_drag("group");
+
+ return false;
+ });
- // Saves group and item order
- $("#saveOrder").click(function(e){
- e.preventDefault();
+ // Saves group and item order
+ $("#saveOrder").click(function(e){
+ e.preventDefault();
- var thisForm = $(this).closest("form");
- var submitBtn = $(this);
- var control_id = $("#control_id").val();
+ var thisForm = $(this).closest("form");
+ var submitBtn = $(this);
+ var control_id = $("#control_id").val();
- var group_order_arr = new Array();
- var item_order_arr = new Array();
- $('ul.groups li.drag_group').each(function(){
+ var group_order_arr = new Array();
+ var item_order_arr = new Array();
+ $('ul.groups li.drag_group').each(function(){
- var group_order_nr =
$(this).find("span.group_order_nr").text();
- var group_id =
$(this).find("input[name=group_id]").val();
+ var group_order_nr = $(this).find("span.group_order_nr").text();
+ var group_id = $(this).find("input[name=group_id]").val();
- group_order_arr.push( group_id + ":" + group_order_nr );
+ group_order_arr.push( group_id + ":" + group_order_nr );
- $(this).find("ul.items li").each(function(){
- var item_order_nr =
$(this).find("span.item_order_nr").text();
- var item_id =
$(this).find("input[name=item_id]").val();
+ $(this).find("ul.items li").each(function(){
+ var item_order_nr = $(this).find("span.item_order_nr").text();
+ var item_id = $(this).find("input[name=item_id]").val();
- item_order_arr.push( item_id + ":" +
item_order_nr );
- });
- });
-
- // Request url for saving groups and items within group
- var oArgs =
{menuaction:'controller.uicontrol_group.save_group_and_item_order'};
- var requestUrl = phpGWLink('index.php', oArgs, true);
-
- $(submitBtn).find(".text").text("Lagrer");
+ item_order_arr.push( item_id + ":" + item_order_nr );
+ });
+ });
+
+ // Request url for saving groups and items within group
+ var oArgs =
{menuaction:'controller.uicontrol_group.save_group_and_item_order'};
+ var requestUrl = phpGWLink('index.php', oArgs, true);
- $(submitBtn).find(".text").append("<img id='loading'
src='controller/images/loading.gif' />");
+ $(submitBtn).find(".text").text("Lagrer");
+ $(submitBtn).find(".text").append("<img id='loading'
src='controller/images/loading.gif' />");
- // Saves order for groups and items to db
- $.ajax({
- type: 'POST',
- url: requestUrl + "&control_id=" + control_id +
"&group_order=" + group_order_arr.toString() + "&item_order=" +
item_order_arr.toString(),
- success: function() {
-
- $(submitBtn).find("img").remove();
- $(submitBtn).find(".text").text("Lagre
rekkefølge");
-
-
-
- }
- });
- });
+ // Saves order for groups and items to db
+ $.ajax({
+ type: 'POST',
+ url: requestUrl + "&control_id=" + control_id + "&group_order=" +
group_order_arr.toString() + "&item_order=" + item_order_arr.toString(),
+ success: function() {
+ $(submitBtn).find("img").remove();
+ $(submitBtn).find(".text").text("Lagre rekkefølge");
+ }
+ });
+ });
});
// Initialises drag. Sets placeholder, next, previous and cloned drag row.
function init_drag(placeholder, e){
- adj_y = e.pageY - $(placeholder).position().top;
+ list_container_pos_y = e.pageY - $(placeholder).position().top;
- next_elem = $(placeholder).next();
- prev_elem = $(placeholder).prev();
- drag_elem = $(placeholder).clone();
+ next_elem = $(placeholder).next();
+ prev_elem = $(placeholder).prev();
+ drag_elem = $(placeholder).clone();
- $(drag_elem).addClass("drag_elem");
- $(drag_elem).removeClass("list_item");
+ $(drag_elem).addClass("drag_elem");
+ $(drag_elem).removeClass("list_item");
- $(drag_elem).insertAfter(placeholder);
+ $(drag_elem).insertAfter(placeholder);
- $(drag_elem).css("left", $(placeholder).position().left + "px");
- $(drag_elem).css("top", $(placeholder).position().top + "px");
+ $(drag_elem).css("left", $(placeholder).position().left + "px");
+ $(drag_elem).css("top", $(placeholder).position().top + "px");
}
function start_drag(drag_type){
- $(document).bind("mouseup", stop_drag);
+ $(document).bind("mouseup", stop_drag);
- $(document).bind("mousemove", function(e){
- var x = 0;
- var y = e.pageY - adj_y;
+ $(document).bind("mousemove", function(e){
+ var drag_elem_rel_pos_y = e.pageY - list_container_pos_y;
- $(drag_elem).css("left", x + "px");
- $(drag_elem).css("top", y + "px");
-
- // Move drag element over next element
- if( $(next_elem).length > 0 && e.pageY >
$(next_elem).offset().top ){
- $(placeholder).insertAfter(next_elem);
- next_elem = $(placeholder).next();
- prev_elem = $(placeholder).prev();
-
- // Updating order number for drag element and previous
element
- update_order_nr($(placeholder).find("span." + drag_type
+ "_order_nr"), "+");
- update_order_nr($(prev_elem).find("span." + drag_type +
"_order_nr"), "-");
- }
- // Move drag element over previous element
- else if( $(prev_elem).length > 0 && e.pageY <
$(prev_elem).offset().top + $(prev_elem).height()/2 ){
- $(placeholder).insertBefore(prev_elem);
- prev_elem = $(placeholder).prev();
- next_elem = $(placeholder).next();
+ $(drag_elem).css("left", "0px");
+ $(drag_elem).css("top", drag_elem_rel_pos_y + "px");
+
+ var agg_drag_elem_half_height_down = drag_elem_rel_pos_y +
parseInt($(drag_elem).css("height"))/2;
+ var agg_drag_elem_half_height_up = drag_elem_rel_pos_y -
parseInt($(drag_elem).css("height"))/2;
+
+ // Move drag element over next element
+ if( $(next_elem).length > 0 && !$(next_elem).hasClass('drag_elem') &&
(agg_drag_elem_half_height_down > $(next_elem).position().top) ){
+ $(placeholder).insertAfter(next_elem);
+ next_elem = $(placeholder).next();
+ prev_elem = $(placeholder).prev();
- // Updating order number for drag element and next
element
- update_order_nr($(placeholder).find("span." + drag_type
+ "_order_nr"), "-");
- update_order_nr($(next_elem).find("span." + drag_type +
"_order_nr"), "+");
- }
-
- return false;
- });
+ // Updating order number for drag element and previous element
+ update_order_nr($(placeholder).find("span." + drag_type + "_order_nr"),
"+");
+ update_order_nr($(prev_elem).find("span." + drag_type + "_order_nr"),
"-");
+ }
+ // Move drag element over previous element
+ else if( $(prev_elem).length > 0 && !$(prev_elem).hasClass('drag_elem') &&
( agg_drag_elem_half_height_up < $(prev_elem).position().top) ){
+ $(placeholder).insertBefore(prev_elem);
+ prev_elem = $(placeholder).prev();
+ next_elem = $(placeholder).next();
+
+ // Updating order number for drag element and next element
+ update_order_nr($(placeholder).find("span." + drag_type + "_order_nr"),
"-");
+ update_order_nr($(next_elem).find("span." + drag_type + "_order_nr"),
"+");
+ }
+
+ return false;
+ });
}
// Release binding for mouse events
function stop_drag(){
- $(drag_elem).remove();
+ $(drag_elem).remove();
- $(document).unbind("mousemove");
- $(document).unbind("mouseup");
+ $(document).unbind("mousemove");
+ $(document).unbind("mouseup");
}
// Updates order number for hidden field and number in front of row
function update_order_nr(element, sign){
- var order_nr = $(element).text();
+ var order_nr = $(element).text();
- if(sign == "+")
- var updated_order_nr = parseInt(order_nr) + 1;
- else
- var updated_order_nr = parseInt(order_nr) - 1;
+ if(sign == "+")
+ var updated_order_nr = parseInt(order_nr) + 1;
+ else
+ var updated_order_nr = parseInt(order_nr) - 1;
- // Updating order number in front of row
- $(element).text(updated_order_nr);
+ // Updating order number in front of row
+ $(element).text(updated_order_nr);
}
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [10651] Controller: Changed code for generating url in javascript to call pgpGWLink function,
Torstein <=