- Added a new parameter to FilterWidget called columnsAliases to specify aliases for the columns

- If this parameter is given to the FilterWidget than it is used to display the name of the columns
This commit is contained in:
Paolo
2018-02-06 17:07:54 +01:00
parent 27a9722e9e
commit 82f5584385
4 changed files with 97 additions and 9 deletions
@@ -1,12 +1,23 @@
<div>
<?php
$selectedFields = FilterWidget::getSelectedFields();
$columnsAliases = FilterWidget::getColumnsAliases();
for ($selectedFieldsCounter = 0; $selectedFieldsCounter < count($selectedFields); $selectedFieldsCounter++)
{
$selectedField = $selectedFields[$selectedFieldsCounter];
$selectedFieldAlias = $selectedField;
if ($columnsAliases != null)
{
$indx = array_search($selectedField, $listFields);
if ($indx !== false)
{
$selectedFieldAlias = $columnsAliases[$indx];
}
}
?>
<input type="button" value="<?php echo $selectedField; ?> X" class="remove-field" fieldToRemove="<?php echo $selectedField; ?>">
<input type="button" value="<?php echo $selectedFieldAlias; ?> X" class="remove-field" fieldToRemove="<?php echo $selectedField; ?>">
<?php
}
?>
@@ -23,8 +34,14 @@
for ($listFieldsCounter = 0; $listFieldsCounter < count($listFields); $listFieldsCounter++)
{
$listField = $listFields[$listFieldsCounter];
$listFieldAlias = $listField;
if ($columnsAliases != null)
{
$listFieldAlias = $columnsAliases[$listFieldsCounter];
}
?>
<option value="<?php echo $listField; ?>"><?php echo $listField; ?></option>
<option value="<?php echo $listField; ?>"><?php echo $listFieldAlias; ?></option>
<?php
}
?>
@@ -1,17 +1,29 @@
<div>
<?php
$selectedFilters = FilterWidget::getSelectedFilters();
$columnsAliases = FilterWidget::getColumnsAliases();
for ($filtersCounter = 0; $filtersCounter < count($selectedFilters); $filtersCounter++)
{
$selectedFilter = $selectedFilters[$filtersCounter];
$md = FilterWidget::getFilterMetaData($selectedFilter, $metaData);
$selectedFieldAlias = $md->name;
if ($columnsAliases != null)
{
$indx = array_search($selectedFilter, $listFields);
if ($indx !== false)
{
$selectedFieldAlias = $columnsAliases[$indx];
}
}
?>
<div>
<span>
<?php echo $md->name; ?>
<?php echo $selectedFieldAlias; ?>
</span>
<?php echo FilterWidget::renderFilterType($md); ?>
@@ -37,8 +49,14 @@
for ($listFieldsCounter = 0; $listFieldsCounter < count($listFields); $listFieldsCounter++)
{
$field = $listFields[$listFieldsCounter];
$listFieldAlias = $field;
if ($columnsAliases != null)
{
$listFieldAlias = $columnsAliases[$listFieldsCounter];
}
?>
<option value="<?php echo $field; ?>"><?php echo $field; ?></option>
<option value="<?php echo $field; ?>"><?php echo $listFieldAlias; ?></option>
<?php
}
?>
@@ -4,6 +4,7 @@
$selectedFields = FilterWidget::getSelectedFields();
$additionalColumns = FilterWidget::getAdditionalColumns();
$checkboxes = FilterWidget::getCheckboxes();
$columnsAliases = FilterWidget::getColumnsAliases();
?>
<div>
@@ -21,8 +22,19 @@
for ($selectedFieldsCounter = 0; $selectedFieldsCounter < count($selectedFields); $selectedFieldsCounter++)
{
$selectedField = $selectedFields[$selectedFieldsCounter];
$selectedFieldAlias = $selectedField;
if ($columnsAliases != null)
{
$indx = array_search($selectedField, $listFields);
if ($indx !== false)
{
$selectedFieldAlias = $columnsAliases[$indx];
}
}
?>
<th title="<?php echo $selectedField; ?>"><?php echo $selectedField; ?></th>
<th title="<?php echo $selectedField; ?>"><?php echo $selectedFieldAlias; ?></th>
<?php
}
?>
+45 -4
View File
@@ -16,6 +16,7 @@ class FilterWidget extends Widget
const CHECKBOXES = 'checkboxes';
const HIDE_HEADER = 'hideHeader';
const HIDE_SAVE = 'hideSave';
const COLUMNS_ALIASES = 'columnsAliases';
const DATASET_PARAMETER = 'dataset';
const METADATA_PARAMETER = 'metaData';
@@ -67,6 +68,7 @@ class FilterWidget extends Widget
private $additionalColumns;
private $formatRaw;
private $checkboxes;
private $columnsAliases;
private $dataset;
private $metaData;
@@ -171,6 +173,14 @@ class FilterWidget extends Widget
return self::_getFromSession(self::ADDITIONAL_COLUMNS);
}
/**
*
*/
public static function getColumnsAliases()
{
return self::_getFromSession(self::COLUMNS_ALIASES);
}
/**
*
*/
@@ -178,7 +188,12 @@ class FilterWidget extends Widget
{
if (self::$FilterWidgetInstance->hideHeader != true)
{
self::_loadView(self::WIDGET_URL_SELECT_FIELDS, array(self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields));
self::_loadView(
self::WIDGET_URL_SELECT_FIELDS,
array(
self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields
)
);
}
}
@@ -189,7 +204,13 @@ class FilterWidget extends Widget
{
if (self::$FilterWidgetInstance->hideHeader != true)
{
self::_loadView(self::WIDGET_URL_SELECT_FILTERS, array(self::METADATA_PARAMETER => self::$FilterWidgetInstance->metaData));
self::_loadView(
self::WIDGET_URL_SELECT_FILTERS,
array(
self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields,
self::METADATA_PARAMETER => self::$FilterWidgetInstance->metaData
)
);
}
}
@@ -209,7 +230,13 @@ class FilterWidget extends Widget
*/
public static function loadViewTableDataset()
{
self::_loadView(self::WIDGET_URL_TABLE_DATASET, array(self::DATASET_PARAMETER => self::$FilterWidgetInstance->dataset));
self::_loadView(
self::WIDGET_URL_TABLE_DATASET,
array(
self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields,
self::DATASET_PARAMETER => self::$FilterWidgetInstance->dataset
)
);
}
/**
@@ -510,6 +537,11 @@ class FilterWidget extends Widget
$filterSessionArray[self::FILTER_ID] = -1;
}
if (!isset($filterSessionArray[self::COLUMNS_ALIASES]))
{
$filterSessionArray[self::COLUMNS_ALIASES] = array();
}
$this->session->set_userdata(self::SESSION_NAME, $filterSessionArray);
}
@@ -528,6 +560,7 @@ class FilterWidget extends Widget
$this->checkboxes = null;
$this->hideHeader = false;
$this->hideSave = false;
$this->columnsAliases = null;
if (!is_array($args) || (is_array($args) && count($args) == 0))
{
@@ -604,6 +637,13 @@ class FilterWidget extends Widget
{
$this->hideSave = $args[self::HIDE_SAVE];
}
if (isset($args[self::COLUMNS_ALIASES])
&& is_array($args[self::COLUMNS_ALIASES])
&& count($args[self::COLUMNS_ALIASES]) > 0)
{
$this->columnsAliases = $args[self::COLUMNS_ALIASES];
}
}
}
@@ -967,7 +1007,8 @@ class FilterWidget extends Widget
$filterSessionArray = array(
self::SELECTED_FIELDS => $this->_getSelectedFieldsFromPost(),
self::SELECTED_FILTERS => $this->_getSelectedFiltersFromPost(),
self::ADDITIONAL_COLUMNS => $this->additionalColumns
self::ADDITIONAL_COLUMNS => $this->additionalColumns,
self::COLUMNS_ALIASES => $this->columnsAliases
);
$filterSessionArray[self::ACTIVE_FILTERS] = array();