diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php
index 2d00a9bf4..e57799840 100644
--- a/application/widgets/FilterWidget.php
+++ b/application/widgets/FilterWidget.php
@@ -263,6 +263,9 @@ class FilterWidget extends Widget
// Read the all session for this filter widget
$session = $this->filterslib->getSession();
+ // To be always stored in the session, otherwise is not possible to load data from Filters controller
+ $this->filterslib->setElementSession(FiltersLib::REQUIRED_PERMISSIONS_PARAMETER, $this->_requiredPermissions);
+
// If session is NOT empty -> a filter was already loaded
if ($session != null)
{
@@ -339,14 +342,10 @@ class FilterWidget extends Widget
// Stores an array that contains all the data useful for
$this->filterslib->setSession(
array(
- FiltersLib::REQUIRED_PERMISSIONS_PARAMETER => $this->_requiredPermissions, // required permissions
-
FiltersLib::FILTER_ID => $this->_filterId, // the current filter id
FiltersLib::APP_PARAMETER => $this->_app, // the current app parameter
FiltersLib::DATASET_NAME_PARAMETER => $this->_datasetName, // the carrent dataset name
-
FiltersLib::SESSION_FILTER_NAME => $filterName, // the current filter name
-
FiltersLib::SESSION_FIELDS => $this->FiltersModel->getExecutedQueryListFields(), // all the fields of the dataset
FiltersLib::SESSION_SELECTED_FIELDS => $this->_getColumnsNames($parsedFilterJson->columns), // all the selected fields
FiltersLib::SESSION_COLUMNS_ALIASES => $this->_columnsAliases, // all the fields aliases
diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js
index 17136d3e0..fb4ad0452 100644
--- a/public/js/FilterWidget.js
+++ b/public/js/FilterWidget.js
@@ -160,6 +160,8 @@ var FHC_FilterWidget = {
*/
_renderFilterWidget: function(data) {
+ console.log(data);
+
FHC_FilterWidget._initSessionStorage(); // initialize the session storage
FHC_FilterWidget._turnOffEvents(); // turns all the events off
FHC_FilterWidget._resetGUI(); // Reset the entire GUI
@@ -545,10 +547,7 @@ var FHC_FilterWidget = {
*/
_renderDropDownFields: function(data) {
- if (data.hasOwnProperty("fields") && $.isArray(data.fields))
- {
- FHC_FilterWidget._renderDropDown(data, data.selectedFields, 'addField');
- }
+ FHC_FilterWidget._renderDropDown(data, data.selectedFields, 'addField');
},
/**
@@ -557,34 +556,37 @@ var FHC_FilterWidget = {
*/
_renderDropDown: function(data, elements, ddElementId) {
- for (var i = 0; i < data.fields.length; i++)
+ if (data.hasOwnProperty("fields") && $.isArray(data.fields))
{
- var toBeDisplayed = true;
-
- for (var j = 0; j < elements.length; j++)
+ for (var i = 0; i < data.fields.length; i++)
{
- var elementName = elements[j].hasOwnProperty("name") ? elements[j].name : elements[j];
+ var toBeDisplayed = true;
- if (data.fields[i] == elementName)
+ for (var j = 0; j < elements.length; j++)
{
- toBeDisplayed = false;
- break;
- }
- }
+ var elementName = elements[j].hasOwnProperty("name") ? elements[j].name : elements[j];
- if (toBeDisplayed == true)
- {
- var fieldName = data.fields[i];
- var fieldToDisplay = data.fields[i];
-
- if (data.hasOwnProperty("columnsAliases") && $.isArray(data.columnsAliases))
- {
- fieldToDisplay = data.columnsAliases[i];
+ if (data.fields[i] == elementName)
+ {
+ toBeDisplayed = false;
+ break;
+ }
}
- if ($("#" + ddElementId).length) // checks if the element exists
+ if (toBeDisplayed == true)
{
- $("#" + ddElementId).append("");
+ var fieldName = data.fields[i];
+ var fieldToDisplay = data.fields[i];
+
+ if (data.hasOwnProperty("columnsAliases") && $.isArray(data.columnsAliases))
+ {
+ fieldToDisplay = data.columnsAliases[i];
+ }
+
+ if ($("#" + ddElementId).length) // checks if the element exists
+ {
+ $("#" + ddElementId).append("");
+ }
}
}
}