[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7865]
From: |
Torstein |
Subject: |
[Fmsystem-commits] [7865] |
Date: |
Wed, 12 Oct 2011 10:23:31 +0000 |
Revision: 7865
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7865
Author: vator
Date: 2011-10-12 10:23:31 +0000 (Wed, 12 Oct 2011)
Log Message:
-----------
Modified Paths:
--------------
trunk/controller/js/controller/custom_ui.js
Added Paths:
-----------
trunk/controller/js/controller/ajax.js
trunk/controller/js/controller/custom_drag_drop.js
trunk/controller/js/controller/yui_drag_drop.js
Removed Paths:
-------------
trunk/controller/js/controller/custom_drag_drop.js
Added: trunk/controller/js/controller/ajax.js
===================================================================
--- trunk/controller/js/controller/ajax.js (rev 0)
+++ trunk/controller/js/controller/ajax.js 2011-10-12 10:23:31 UTC (rev
7865)
@@ -0,0 +1,22 @@
+$(document).ready(function(){
+
+ $(".save_order").submit(function(e){
+ e.preventDefault();
+
+ var control_id = $("#control_id").val();
+ var control_group_id =
$(this).find("input[name='control_group_id']").val();
+ var order_nr_array;
+
+ $(this).find("input[name='order_nr[]']").each(function() {
+ order_nr_array += $(this).val() + ",";
+ });
+
+ $.ajax({
+ type: 'POST',
+ url:
"index.php?menuaction=controller.uicontrol_item.save_item_order&control_id=" +
control_id + "&" + $(this).serialize(),
+ success: function( data ) {
+
+ }
+ });
+ });
+});
\ No newline at end of file
Property changes on: trunk/controller/js/controller/ajax.js
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/controller/js/controller/custom_drag_drop.js
===================================================================
--- trunk/controller/js/controller/custom_drag_drop.js 2011-10-12 10:22:56 UTC
(rev 7864)
+++ trunk/controller/js/controller/custom_drag_drop.js 2011-10-12 10:23:31 UTC
(rev 7865)
@@ -1,96 +0,0 @@
-YUI().use('dd-constrain', 'dd-proxy', 'dd-drop', function(Y) {
- //Listen for all drop:over events
- Y.DD.DDM.on('drop:over', function(e) {
- //Get a reference to our drag and drop nodes
- var drag = e.drag.get('node'),
- drop = e.drop.get('node');
-
- //Are we dropping on a li node?
- if (drop.get('tagName').toLowerCase() === 'li') {
- //Are we not going up?
- if (!goingUp) {
- drop = drop.get('nextSibling');
- }
- //Add the node to this list
- e.drop.get('node').get('parentNode').insertBefore(drag, drop);
- //Resize this nodes shim, so we can drop on it later.
- e.drop.sizeShim();
- }
- });
- //Listen for all drag:drag events
- Y.DD.DDM.on('drag:drag', function(e) {
- //Get the last y point
- var y = e.target.lastXY[1];
- //is it greater than the lastY var?
- if (y < lastY) {
- //We are going up
- goingUp = true;
- } else {
- //We are going down.
- goingUp = false;
- }
- //Cache for next check
- lastY = y;
- });
- //Listen for all drag:start events
- Y.DD.DDM.on('drag:start', function(e) {
- //Get our drag object
- var drag = e.target;
- //Set some styles here
- drag.get('node').setStyle('opacity', '.25');
- drag.get('dragNode').set('innerHTML',
drag.get('node').get('innerHTML'));
- drag.get('dragNode').setStyles({
- opacity: '.5',
- borderColor: drag.get('node').getStyle('borderColor'),
- backgroundColor: drag.get('node').getStyle('backgroundColor')
- });
- });
- //Listen for a drag:end events
- Y.DD.DDM.on('drag:end', function(e) {
- var drag = e.target;
- //Put our styles back
- drag.get('node').setStyles({
- visibility: '',
- opacity: '1'
- });
- });
- //Listen for all drag:drophit events
- Y.DD.DDM.on('drag:drophit', function(e) {
- var drop = e.drop.get('node'),
- drag = e.drag.get('node');
-
- //if we are not on an li, we must have been dropped on a ul
- if (drop.get('tagName').toLowerCase() !== 'li') {
- if (!drop.contains(drag)) {
- drop.appendChild(drag);
- }
- }
- });
-
- //Static Vars
- var goingUp = false, lastY = 0;
-
- //Get the list of li's in the lists and make them draggable
- var lis = Y.Node.all('#play ul li');
- lis.each(function(v, k) {
- var dd = new Y.DD.Drag({
- node: v,
- target: {
- padding: '0 0 0 20'
- }
- }).plug(Y.Plugin.DDProxy, {
- moveOnEnd: false
- }).plug(Y.Plugin.DDConstrained, {
- constrain2node: '#play'
- });
- });
-
- //Create simple targets for the 2 lists.
- var uls = Y.Node.all('#play ul');
- uls.each(function(v, k) {
- var tar = new Y.DD.Drop({
- node: v
- });
- });
-
-});
\ No newline at end of file
Added: trunk/controller/js/controller/custom_drag_drop.js
===================================================================
--- trunk/controller/js/controller/custom_drag_drop.js
(rev 0)
+++ trunk/controller/js/controller/custom_drag_drop.js 2011-10-12 10:23:31 UTC
(rev 7865)
@@ -0,0 +1,127 @@
+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);
+
+ adj_y = e.pageY - $(drag_elem).position().top;
+
+ next_elem = $(drag_elem).next();
+ prev_elem = $(drag_elem).prev();
+ illusion = $(drag_elem).clone();
+
+ $(illusion).addClass("drag");
+ $(illusion).removeClass("list_item");
+
+ $(illusion).insertAfter(drag_elem);
+
+ $(illusion).css("left", $(drag_elem).position().left + "px");
+ $(illusion).css("top", $(drag_elem).position().top + "px");
+
+ start_drag();
+ });
+});
+
+
+function start_drag(){
+ $(document).bind("mouseup", stop_drag);
+
+ $(document).bind("mousemove", function(e){
+
+ var x = 0;
+ var y = e.pageY - adj_y;
+
+ $(illusion).css("left", x + "px");
+ $(illusion).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();
+
+ 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);
+ }
+ // 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);
+
+ /* =========== 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);
+ }
+ });
+}
+
+function stop_drag(){
+ $(illusion).remove();
+
+ $(document).unbind("mousemove");
+ $(document).unbind("mouseup");
+}
\ No newline at end of file
Modified: trunk/controller/js/controller/custom_ui.js
===================================================================
--- trunk/controller/js/controller/custom_ui.js 2011-10-12 10:22:56 UTC (rev
7864)
+++ trunk/controller/js/controller/custom_ui.js 2011-10-12 10:23:31 UTC (rev
7865)
@@ -4,6 +4,7 @@
$("ul.control_items ul:first").find("li ul").slideDown("slow");
$("ul.control_items ul:first").addClass('active');
+ /*
===============================================================================
*/
$(".expand_list h4").click(function(){
if( $(this).parent().parent().hasClass('active')){
@@ -17,6 +18,8 @@
}
});
+ /*
===============================================================================
*/
+
$(".expand_all").click(function(){
$(".expand_all").css("background",
"url('controller/images/bg_expand_blue.png') no-repeat");
$(".expand_all").css("color", "#FFFFFF");
@@ -47,8 +50,8 @@
var control_group_id = chbox_id.substring(
chbox_id.indexOf("_")+1, chbox_id.indexOf(":") );
var control_item_id = chbox_id.substring(
chbox_id.indexOf(":")+1, chbox_id.length );
- if ($("#hid_"+control_item_id).length > 0){
- $("#hid_"+control_item_id).remove();
+ if ($("#hid_" + control_item_id).length > 0){
+ $("#hid_" + control_item_id).remove();
}else{
$("#frm_control_items").prepend("<input type='hidden'
id=hid_" + control_item_id + " name='control_tag_ids[]' value=" +
control_group_id + ":" + control_item_id + " />");
}
Copied: trunk/controller/js/controller/yui_drag_drop.js (from rev 7836,
trunk/controller/js/controller/custom_drag_drop.js)
===================================================================
--- trunk/controller/js/controller/yui_drag_drop.js
(rev 0)
+++ trunk/controller/js/controller/yui_drag_drop.js 2011-10-12 10:23:31 UTC
(rev 7865)
@@ -0,0 +1,96 @@
+YUI().use('dd-constrain', 'dd-proxy', 'dd-drop', function(Y) {
+ //Listen for all drop:over events
+ Y.DD.DDM.on('drop:over', function(e) {
+ //Get a reference to our drag and drop nodes
+ var drag = e.drag.get('node'),
+ drop = e.drop.get('node');
+
+ //Are we dropping on a li node?
+ if (drop.get('tagName').toLowerCase() === 'li') {
+ //Are we not going up?
+ if (!goingUp) {
+ drop = drop.get('nextSibling');
+ }
+ //Add the node to this list
+ e.drop.get('node').get('parentNode').insertBefore(drag, drop);
+ //Resize this nodes shim, so we can drop on it later.
+ e.drop.sizeShim();
+ }
+ });
+ //Listen for all drag:drag events
+ Y.DD.DDM.on('drag:drag', function(e) {
+ //Get the last y point
+ var y = e.target.lastXY[1];
+ //is it greater than the lastY var?
+ if (y < lastY) {
+ //We are going up
+ goingUp = true;
+ } else {
+ //We are going down.
+ goingUp = false;
+ }
+ //Cache for next check
+ lastY = y;
+ });
+ //Listen for all drag:start events
+ Y.DD.DDM.on('drag:start', function(e) {
+ //Get our drag object
+ var drag = e.target;
+ //Set some styles here
+ drag.get('node').setStyle('opacity', '.25');
+ drag.get('dragNode').set('innerHTML',
drag.get('node').get('innerHTML'));
+ drag.get('dragNode').setStyles({
+ opacity: '.5',
+ borderColor: drag.get('node').getStyle('borderColor'),
+ backgroundColor: drag.get('node').getStyle('backgroundColor')
+ });
+ });
+ //Listen for a drag:end events
+ Y.DD.DDM.on('drag:end', function(e) {
+ var drag = e.target;
+ //Put our styles back
+ drag.get('node').setStyles({
+ visibility: '',
+ opacity: '1'
+ });
+ });
+ //Listen for all drag:drophit events
+ Y.DD.DDM.on('drag:drophit', function(e) {
+ var drop = e.drop.get('node'),
+ drag = e.drag.get('node');
+
+ //if we are not on an li, we must have been dropped on a ul
+ if (drop.get('tagName').toLowerCase() !== 'li') {
+ if (!drop.contains(drag)) {
+ drop.appendChild(drag);
+ }
+ }
+ });
+
+ //Static Vars
+ var goingUp = false, lastY = 0;
+
+ //Get the list of li's in the lists and make them draggable
+ var lis = Y.Node.all('#play ul li');
+ lis.each(function(v, k) {
+ var dd = new Y.DD.Drag({
+ node: v,
+ target: {
+ padding: '0 0 0 20'
+ }
+ }).plug(Y.Plugin.DDProxy, {
+ moveOnEnd: false
+ }).plug(Y.Plugin.DDConstrained, {
+ constrain2node: '#play'
+ });
+ });
+
+ //Create simple targets for the 2 lists.
+ var uls = Y.Node.all('#play ul');
+ uls.each(function(v, k) {
+ var tar = new Y.DD.Drop({
+ node: v
+ });
+ });
+
+});
\ No newline at end of file
Property changes on: trunk/controller/js/controller/yui_drag_drop.js
___________________________________________________________________
Added: svn:mime-type
+ text/plain
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7865],
Torstein <=