Merge branch 'add_jquery_sortable'
[order_line_extra.git] / item_schedule.php
index 45bbfd60a07a96e183c5c18dcb2774efaf17b9b5..36b10b935b86acbb09900d50a25db7d9dfa1f999 100644 (file)
@@ -31,11 +31,13 @@ page($_SESSION['page_title'], false, false, "", $js);
 
 //---------------------------------------------------------------------------------------------
 
+div_start('item_schedule');
 start_form();
 
 start_table(TABLESTYLE_NOBORDER);
 start_row();
 
+echo date('h:i:s <br>',time());
 ?>GET<?php
 print_r($_GET);
 ?>POST<?php
@@ -50,8 +52,8 @@ else {
        $_POST['stock_id'] = get_global_stock_item();
        }
 }
-if (list_updated('stock_id')) 
-       $Ajax->activate('item_schedule');
+
+if (list_updated('stock_id') || in_ajax()) $Ajax->activate('item_schedule');
 
 //if (!@$_GET['popup'])
        start_form();
@@ -60,12 +62,12 @@ if (list_updated('stock_id'))
 $stock_id = $_POST['stock_id'];
        stock_costable_items_list_cells(_("Item:"), 'stock_id', $stock_id);
 
+
 end_row();
 end_table(1);
 
 $scheduler = new ItemScheduler($stock_id, 'DEF');
 
-div_start('item_schedule');
 start_table(TABLESTYLE);
 $th = $scheduler->tableHeader();
 
@@ -74,7 +76,6 @@ table_header($th);
 $scheduler->generateTable();
 
 end_table();
-div_end();
 
 
 submit_center_first('Update', _("Update"), '', 'default', false);
@@ -83,6 +84,7 @@ submit_center_last('Cancel', _("Cancel"), '', 'cancel', false);
 
 
 end_form();
+div_end();
 end_page();
 ?>
 <style type='text/css'>
@@ -122,16 +124,37 @@ tr.tDnD_whileDrag :nth-child(4), tr.tDnD_whileDrag :nth-child(5) {
 <script src="js/jquery.tablednd.0.8.min.js"></script>
 <script text="text/javascript">
        console.log('hello')
-       $(document).ready(function() {
-               console.log('ready')
-               $('#item_schedule table').tableDnD({
-                       onDragStart: function (table, row) {
-                                       console.log(table)
-                                       console.log(row)}
-                       ,onDrop: function (table, row) {
-                                       console.log(table)
-                                       console.log(row)}
-               })
+       /**  add table DnD as behavior **/
+       function onDragStart (table, row) {
+       console.log(table)
+               console.log(row)
+       }
+       function findRowPosition(table, row) {
+       }
+       function addInput(form, name, value) {
+               $(form).append('<input type="hidden" name="'+name+'" value="'+value+'">')
+                       }
+       function addInputs(form, name, values) {
+               for(index = 0; index < values.length; index++) {
+                               addInput(form, name+'['+index+']', values[index])
+                               }
+                       }
+       function onDrop(table, row) {
+               var row_ids = $.map(table.tBodies[0].rows, function(r) { return r.id} )
+               var row_id = row.id
+               var form = $(table).closest('form')[0]
+               
+               addInput(form, 'row_id', row.id)
+               addInputs(form, 'row_order', row_ids )
+               
+               JsHttpRequest.request(this, form);
+               
+       }
+
+       var inserts = {
+               '#item_schedule table': function (e) { 
+                       $(e).tableDnD({onDragStart: onDragStart, onDrop: onDrop})
+               }
        }
-       )
+Behaviour.register(inserts);
 </script>