Many, many changes, and yet still much to do. Many things are working, but certainly nothing beyond simply data retrieval (no editing or adding of any data). Also, some work is still required to ensure the grids have the right columns; we can strip out certain columns for some views (such as removing customer from the leases grid of the customer view... completely redundant). And of course, there are still many bugs and lots to clean up.
git-svn-id: file:///svn-source/pmgr/branches/yafr_20090716/site@368 97e9348a-65ac-dc4b-aefc-98561f571b83
This commit is contained in:
@@ -97,22 +97,35 @@ $postData['custom'] = isset($custom_post_data) ? $custom_post_data : null;
|
||||
// Perform column customizations.
|
||||
// This will largely be based off of the 'formatter' parameter,
|
||||
// but could be on any pertinent condition.
|
||||
foreach ($jqGridColumns AS &$col) {
|
||||
foreach ($jqGridColumns AS $header => &$col) {
|
||||
$default = array();
|
||||
|
||||
// Make sure every column has a name
|
||||
$default['name'] = preg_replace("/\./", '-', $col['index']);
|
||||
$default['name'] = preg_replace("/\./", '-', $col['index']);
|
||||
$default['force'] = isset($col['forcewidth']) ? $col['forcewidth'] : null;
|
||||
|
||||
// Perform customization based on formatter
|
||||
if (isset($col['formatter'])) {
|
||||
if ($col['formatter'] === 'id') {
|
||||
// Switch currency over to our own custom formatting
|
||||
// Use our custom formatting for ids
|
||||
$col['formatter'] = array('--special' => 'idFormatter');
|
||||
$default['width'] = 50;
|
||||
$default['align'] = 'center';
|
||||
|
||||
// For IDs, force the width by default,
|
||||
// unless otherwise instructed NOT to.
|
||||
if (!isset($default['force']))
|
||||
$default['force'] = true;
|
||||
}
|
||||
elseif ($col['formatter'] === 'number') {
|
||||
$default['width'] = 60;
|
||||
$default['align'] = 'right';
|
||||
|
||||
// No special formatting for number
|
||||
unset($col['formatter']);
|
||||
}
|
||||
elseif ($col['formatter'] === 'currency') {
|
||||
// Switch currency over to our own custom formatting
|
||||
// Use our custom formatting for currency
|
||||
$col['formatter'] = array('--special' => 'currencyFormatter');
|
||||
$default['width'] = 85;
|
||||
$default['align'] = 'right';
|
||||
@@ -122,14 +135,24 @@ foreach ($jqGridColumns AS &$col) {
|
||||
$default['width'] = 95;
|
||||
$default['align'] = 'center';
|
||||
}
|
||||
elseif ($col['formatter'] === 'name' || $col['formatter'] === 'longname') {
|
||||
elseif (preg_match("/^(long|short)?name$/",
|
||||
$col['formatter'], $matches)) {
|
||||
$default['width'] = 100;
|
||||
if ($col['formatter'] === 'longname')
|
||||
if (!empty($matches[1]) && $matches[1] === 'long')
|
||||
$default['width'] *= 1.5;
|
||||
if (!empty($matches[1]) && $matches[1] === 'short')
|
||||
$default['width'] *= 0.7;
|
||||
|
||||
// No special formatting for name
|
||||
unset($col['formatter']);
|
||||
}
|
||||
elseif ($col['formatter'] === 'enum') {
|
||||
$default['width'] = 60;
|
||||
//$default['align'] = 'right';
|
||||
|
||||
// No special formatting for enum
|
||||
unset($col['formatter']);
|
||||
}
|
||||
elseif ($col['formatter'] === 'comment') {
|
||||
$default['width'] = 300;
|
||||
$default['sortable'] = false;
|
||||
@@ -137,6 +160,13 @@ foreach ($jqGridColumns AS &$col) {
|
||||
// No special formatting for comment
|
||||
unset($col['formatter']);
|
||||
}
|
||||
// else just let the formatter pass through untouched
|
||||
|
||||
// Just a rough approximation to ensure columns
|
||||
// are wide enough to fully display their header.
|
||||
$min_width = strlen($header) * 10;
|
||||
if ((!isset($default['width']) || $default['width'] < $min_width) && !$default['force'])
|
||||
$default['width'] = $min_width;
|
||||
}
|
||||
|
||||
$col = array_merge($default, $col);
|
||||
|
||||
Reference in New Issue
Block a user