<?php
+JavaScript::instance()->add("Hallinta.closeDialogAfterInsert = false;");
+JavaScript::instance()->add("Hallinta.closeDialogAfterSave = false;");
+
+$jscode = <<<EOC
+function move_callback(data)
+{
+ grid_update(Hallinta.grid);
+}
+
+function move_up(id)
+{
+ ajax_request('function', 'callback=up&id='+id, move_callback);
+}
+
+function move_down(id)
+{
+ ajax_request('function', 'callback=down&id='+id, move_callback);
+}
+EOC;
+JavaScript::instance()->add($jscode);
+
$mask = array(
'table' => 'metro_abteilung',
'title' => 'Abteilungen',
+ 'sort' => 1,
'list' => array(
'id' => array(
'name' => 'ID',
'visible' => false,
),
+ 'sort' => array(
+ 'name' => 'Sort',
+ 'width' => 50,
+ ),
'gang' => array(
'name' => 'Gang',
- 'specs' => "filterUI: 't'",
+ 'filter' => 't1',
'width' => 50,
),
'name' => array(
'name' => 'Name',
- 'specs' => "filterUI: 't'",
+ 'filter' => 't',
'width' => 200,
),
+ 'up' => array(
+ 'name' => 'Up',
+ 'width' => 25,
+ 'specs' => array('ClassName' => 'aligncenter', 'canSort' => false),
+ 'control' => "new Rico.TableColumn.link('javascript:move_up({0})')",
+ 'sql' => "'<img src=\"masks/metro/up.png\" title=\"Move up Abteilung from this on\">'",
+ ),
+ 'down' => array(
+ 'name' => 'Dn',
+ 'width' => 25,
+ 'specs' => array('ClassName' => 'aligncenter', 'canSort' => false),
+ 'control' => "new Rico.TableColumn.link('javascript:move_down({0})')",
+ 'sql' => "'<img src=\"masks/metro/down.png\" title=\"Move down Abteilung from this on\">'",
+ ),
),
'edit' => array(
+ 'sort' => array(
+ 'name' => 'Sortierung',
+ 'type' => 'text',
+ 'size' => 5,
+ 'null' => true,
+ ),
'gang' => array(
'name' => 'Gang',
'type' => 'text',
- 'size' => 10,
- 'null' => true,
+ 'size' => 5,
+ 'required' => true,
),
'name' => array(
'name' => 'Name',
'required' => true,
),
),
+ 'callbacks' => array(
+ 'up' => cb_up,
+ 'down' => cb_down,
+ ),
);
-?>
+function cb_up()
+{
+ global $db;
+
+ $sql = sprintf("UPDATE metro_abteilung SET sort = sort-1 WHERE sort >= (SELECT sort FROM metro_abteilung WHERE id = %d)",
+ $_POST['id']);
+ $db->query($sql);
+}
+
+function cb_down()
+{
+ global $db;
+
+ $sql = sprintf("UPDATE metro_abteilung SET sort = sort+1 WHERE sort >= (SELECT sort FROM metro_abteilung WHERE id = %d)",
+ $_POST['id']);
+ $db->query($sql);
+}