mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-15 02:59:28 +00:00
- Now the FilterWidget always store the required permissions into the session to let the Filters controller to provide data even if the dataset is empty
- Now the _renderDropDown method of the FilterWidget.js checks the parameter to avoid errors
This commit is contained in:
@@ -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
|
||||
|
||||
+26
-24
@@ -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("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
|
||||
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("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user