[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7875]
From: |
Torstein |
Subject: |
[Fmsystem-commits] [7875] |
Date: |
Thu, 13 Oct 2011 11:20:24 +0000 |
Revision: 7875
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7875
Author: vator
Date: 2011-10-13 11:20:06 +0000 (Thu, 13 Oct 2011)
Log Message:
-----------
Modified Paths:
--------------
trunk/controller/js/controller/ajax.js
trunk/controller/js/controller/custom_drag_drop.js
Modified: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js 2011-10-13 08:55:21 UTC (rev
7874)
+++ trunk/controller/js/controller/ajax.js 2011-10-13 11:20:06 UTC (rev
7875)
@@ -1,5 +1,6 @@
$(document).ready(function(){
+ // Saves order of control items for a group
$(".frm_save_order").submit(function(e){
e.preventDefault();
var thisForm = $(this);
@@ -7,6 +8,7 @@
var control_id = $("#control_id").val();
var control_group_id =
$(this).find("input[name='control_group_id']").val();
var order_nr_array;
+ var requestUrl = $(thisForm).attr("action");
$(this).find("input[name='order_nr[]']").each(function() {
order_nr_array += $(this).val() + ",";
@@ -14,11 +16,14 @@
$.ajax({
type: 'POST',
- url:
"index.php?menuaction=controller.uicontrol_item.save_item_order&control_id=" +
control_id + "&" + $(this).serialize(),
+ url: requestUrl + "&control_id=" + control_id + "&" +
$(this).serialize(),
success: function() {
+
+ // Changes text on save button
var this_submit_btn =
$(thisForm).find("input[type='submit']");
$(this_submit_btn).val("Lagret");
+ // Changes text on save button back to
original
window.setTimeout(function() {
$(this_submit_btn).val('Lagre
rekkefølge');
}, 1000);
Modified: trunk/controller/js/controller/custom_drag_drop.js
===================================================================
--- trunk/controller/js/controller/custom_drag_drop.js 2011-10-13 08:55:21 UTC
(rev 7874)
+++ trunk/controller/js/controller/custom_drag_drop.js 2011-10-13 11:20:06 UTC
(rev 7875)
@@ -1,33 +1,60 @@
+var placeholder;
var drag_elem;
-var illusion;
var next_elem;
var prev_elem;
var adj_y;
$(document).ready(function(){
- $(".list_item").mousedown(function(e){
- drag_elem = $(this);
+ // Drag row is clicked
+ $(".drag").mousedown(function(e){
+ placeholder = $(this).parent();
- adj_y = e.pageY - $(drag_elem).position().top;
+ adj_y = e.pageY - $(placeholder).position().top;
- next_elem = $(drag_elem).next();
- prev_elem = $(drag_elem).prev();
- illusion = $(drag_elem).clone();
+ next_elem = $(placeholder).next();
+ prev_elem = $(placeholder).prev();
+ drag_elem = $(placeholder).clone();
- $(illusion).addClass("drag");
- $(illusion).removeClass("list_item");
+ $(drag_elem).addClass("drag_elem");
+ $(drag_elem).removeClass("list_item");
- $(illusion).insertAfter(drag_elem);
+ $(drag_elem).insertAfter(placeholder);
- $(illusion).css("left", $(drag_elem).position().left + "px");
- $(illusion).css("top", $(drag_elem).position().top + "px");
+ $(drag_elem).css("left", $(placeholder).position().left + "px");
+ $(drag_elem).css("top", $(placeholder).position().top + "px");
start_drag();
});
+
+ // Delete a control item list
+ $(".delete").click(function(){
+ var thisElem = $(this);
+ var thisRow = $(this).parent();
+
+ var url = $(thisElem).attr("href");
+
+ // Sending request for deleting a control item list
+ $.ajax({
+ type: 'POST',
+ url: url,
+ success: function() {
+ $(thisRow).fadeOut("slow");
+
+ var next_row = $(thisRow).next();
+
+ // Updating order numbers for rows below
deleted row
+ while( $(next_row).length > 0){
+ update_order_nr(next_row, "-");
+ next_row = $(next_row).next();
+ }
+ }
+ });
+
+ return false;
+ });
});
-
function start_drag(){
$(document).bind("mouseup", stop_drag);
@@ -36,92 +63,60 @@
var x = 0;
var y = e.pageY - adj_y;
- $(illusion).css("left", x + "px");
- $(illusion).css("top", y + "px");
+ $(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 + $(next_elem).height()/2 ){
- $(drag_elem).insertAfter(next_elem);
-
- /* =========== UPDATE ORDERNR FOR DRAG ELEMENT
============ */
-
- var hidden_order_nr = $(drag_elem).find("input");
- var order_value = $(hidden_order_nr).attr("value");
-
- var span_order_nr = $(drag_elem).find("span.order_nr");
-
- var order_nr = order_value.substring( 0,
order_value.indexOf(":") );
- var updated_order_nr = parseInt(order_nr) + 1;
-
- var id = order_value.substring(
order_value.indexOf(":")+1, order_value.length );
- var updated_order_value = updated_order_nr + ":" + id;
-
- $(hidden_order_nr).val(updated_order_value);
- $(span_order_nr).text(updated_order_nr);
-
- /* =========== UPDATE ORDERNR FOR PREVIOUS ELEMENT
============ */
-
- next_elem = $(drag_elem).next();
- prev_elem = $(drag_elem).prev();
+ $(placeholder).insertAfter(next_elem);
+ next_elem = $(placeholder).next();
+ prev_elem = $(placeholder).prev();
- hidden_order_nr = $(prev_elem).find("input");
- tag = $(hidden_order_nr).attr("value");
-
- span_order_nr = $(prev_elem).find("span.order_nr");
-
- order_nr = tag.substring( 0, tag.indexOf(":") );
- updated_order_nr = parseInt(order_nr) - 1;
-
- id = tag.substring( tag.indexOf(":")+1, tag.length );
- updated_order_value = updated_order_nr + ":" + id;
-
- $(hidden_order_nr).val(updated_order_value);
- $(span_order_nr).text(updated_order_nr);
+ // Updating order number for drag element and previous
element
+ update_order_nr(placeholder, "+");
+ update_order_nr(prev_elem, "-");
}
// Move drag element over previous element
else if( $(prev_elem).length > 0 && e.pageY <
$(prev_elem).offset().top + $(prev_elem).height()/2 ){
- $(drag_elem).insertBefore(prev_elem);
+ $(placeholder).insertBefore(prev_elem);
+ prev_elem = $(placeholder).prev();
+ next_elem = $(placeholder).next();
- /* =========== UPDATE ORDERNR FOR DRAG ELEMENT
============ */
- var hidden_order_nr = $(drag_elem).find("input");
- var tag = $(hidden_order_nr).attr("value");
-
- var span_order_nr = $(drag_elem).find("span.order_nr");
-
- var order_nr = tag.substring( 0, tag.indexOf(":") );
- var updated_order_nr = parseInt(order_nr) - 1;
-
- var id = tag.substring( tag.indexOf(":")+1, tag.length
);
- var updated_order_value = updated_order_nr + ":" + id;
-
- $(hidden_order_nr).val(updated_order_value);
- $(span_order_nr).text(updated_order_nr);
-
- /* =========== UPDATE ORDERNR FOR NEXT ELEMENT
============ */
-
- prev_elem = $(drag_elem).prev();
- next_elem = $(drag_elem).next();
-
- hidden_order_nr = $(next_elem).find("input");
- tag = $(hidden_order_nr).attr("value");
-
- span_order_nr = $(next_elem).find("span.order_nr");
-
- order_nr = tag.substring( 0, tag.indexOf(":") );
- updated_order_nr = parseInt(order_nr) + 1;
-
- id = tag.substring( tag.indexOf(":")+1, tag.length );
- updated_order_value = updated_order_nr + ":" + id;
-
- $(hidden_order_nr).val(updated_order_value);
- $(span_order_nr).text(updated_order_nr);
+ // Updating order number for drag element and next
element
+ update_order_nr(placeholder, "-");
+ update_order_nr(next_elem, "+");
}
});
}
+// Release binding for mouse events
function stop_drag(){
- $(illusion).remove();
+ $(drag_elem).remove();
$(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 hidden_order_nr = $(element).find("input");
+ var order_value = $(hidden_order_nr).attr("value");
+
+ var span_order_nr = $(element).find("span.order_nr");
+
+ var order_nr = order_value.substring( 0, order_value.indexOf(":") );
+
+ if(sign == "+")
+ var updated_order_nr = parseInt(order_nr) + 1;
+ else
+ var updated_order_nr = parseInt(order_nr) - 1;
+
+ var id = order_value.substring( order_value.indexOf(":")+1,
order_value.length );
+ updated_order_value = updated_order_nr + ":" + id;
+
+ // Updating order number for hidden field
+ $(hidden_order_nr).val(updated_order_value);
+
+ // Updating order number in front of row
+ $(span_order_nr).text(updated_order_nr);
}
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7875],
Torstein <=