FilterWidget is now back to only one filter per page, but others features were kept

This commit is contained in:
Paolo
2019-09-20 17:54:44 +02:00
parent 6752dc649f
commit 0a4dffa704
4 changed files with 117 additions and 237 deletions
+1 -26
View File
@@ -795,32 +795,7 @@ class FilterWidgetLib
$filterUniqueId = $this->_ci->router->directory.$this->_ci->router->class.'/'.$this->_ci->router->method;
}
if ($params != null
&& is_array($params)
&& (isset($params[self::APP_PARAMETER]) || isset($params[self::DATASET_NAME_PARAMETER]) || isset($params[self::FILTER_ID])))
{
$app = '';
$dataset = '';
$filterid = '';
if (isset($params[self::APP_PARAMETER])) $app = $params[self::APP_PARAMETER];
if (isset($params[self::DATASET_NAME_PARAMETER])) $dataset = $params[self::DATASET_NAME_PARAMETER];
if (isset($params[self::FILTER_ID])) $filterid = $params[self::FILTER_ID];
$filterUniqueId .= '/'.$app.':'.$dataset.':'.$filterid;
}
// If the FHC_CONTROLLER_ID parameter is present in the HTTP GET
if (isset($_GET[self::FHC_CONTROLLER_ID]))
{
$filterUniqueId .= '/'.$this->_ci->input->get(self::FHC_CONTROLLER_ID); // then use it
}
elseif (isset($_POST[self::FHC_CONTROLLER_ID])) // else if the FHC_CONTROLLER_ID parameter is present in the HTTP POST
{
$filterUniqueId .= '/'.$this->_ci->input->post(self::FHC_CONTROLLER_ID); // then use it
}
$this->_filterUniqueId = $filterUniqueId;
$this->setFilterUniqueId($filterUniqueId);
}
/**
+1 -1
View File
@@ -1,5 +1,5 @@
<div class="row" id="divFilterWidgetDataset" app="<?php echo $app; ?>" dataset="<?php echo $dataset; ?>" filterid="<?php echo $filterid; ?>">
<div class="row" id="divFilterWidgetDataset">
<div class="col-lg-12">
<!-- Filter name -->
+114 -206
View File
@@ -15,15 +15,12 @@
* It may be overwritten by a custom refreshSideMenuHook included in a javascript which will be loaded after this one
* The given parameters, filterUniqueId and navigation_page, are required
*/
function refreshSideMenuHook(app, dataset, filterid)
function refreshSideMenuHook()
{
FHC_NavigationWidget.refreshSideMenuHook(
'widgets/Filters/setNavigationMenu',
{
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
app + ":" +
dataset + ":" +
filterid,
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix(),
navigation_page: FHC_NavigationWidget.getNavigationPage()
}
);
@@ -36,8 +33,8 @@ function refreshSideMenuHook(app, dataset, filterid)
*/
function sideMenuHook()
{
// If menu is present and there is only one FilterWidget in this page
if (FHC_FilterWidget._hideMenu != true && FHC_FilterWidget._isMultipleFilterWidgets() != true)
// If menu is present
if (FHC_FilterWidget._hideMenu != true)
{
$(".remove-custom-filter").click(function() {
@@ -46,10 +43,7 @@ function sideMenuHook()
"widgets/Filters/removeCustomFilter",
{
filter_id: $(this).attr("value"), // filter_id of the filter to be removed
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
FHC_FilterWidget._filterWidgetsAttributes[0].app + ":" +
FHC_FilterWidget._filterWidgetsAttributes[0].dataset + ":" +
FHC_FilterWidget._filterWidgetsAttributes[0].filterid
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -62,11 +56,7 @@ function sideMenuHook()
{
if (typeof refreshSideMenuHook == "function")
{
refreshSideMenuHook(
FHC_FilterWidget._filterWidgetsAttributes[0].app,
FHC_FilterWidget._filterWidgetsAttributes[0].dataset,
FHC_FilterWidget._filterWidgetsAttributes[0].filterid
);
refreshSideMenuHook();
}
}
}
@@ -93,7 +83,6 @@ var FHC_FilterWidget = {
// Properties
_datasetRepresentation: null, // contains the current data representation
_filterWidgetsAttributes: null, //
_hideMenu: false, //
_hideOptions: false, //
@@ -105,8 +94,6 @@ var FHC_FilterWidget = {
*/
display: function() {
FHC_FilterWidget._setFilterWidgetsAttributes();
FHC_FilterWidget._getFilter(FHC_FilterWidget._renderFilterWidget);
},
@@ -164,30 +151,30 @@ var FHC_FilterWidget = {
/**
* To reset the Filter Options GUI
*/
_resetGUI: function(filterWidgetDiv) {
_resetGUI: function() {
filterWidgetDiv.find("#dragAndDropFieldsArea").html("");
filterWidgetDiv.find("#addField").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
filterWidgetDiv.find("#appliedFilters").html("");
filterWidgetDiv.find("#addFilter").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
$("#dragAndDropFieldsArea").html("");
$("#addField").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
$("#appliedFilters").html("");
$("#addFilter").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
// If the choosen dataset representation is tablesorter
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
{
filterWidgetDiv.find("#filterTableDataset > thead > tr").html("");
filterWidgetDiv.find("#filterTableDataset > tbody").html("");
$("#filterTableDataset > thead > tr").html("");
$("#filterTableDataset > tbody").html("");
}
// If the choosen dataset representation is pivotUI
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_PIVOTUI)
{
filterWidgetDiv.find("#filterPivotUI").html("");
$("#filterPivotUI").html("");
}
// If the choosen dataset representation is tabulator
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABULATOR)
{
filterWidgetDiv.find("#filterTabulator").html("");
$("#filterTabulator").html("");
}
},
@@ -197,35 +184,28 @@ var FHC_FilterWidget = {
*/
_getFilter: function(renderFunction) {
FHC_FilterWidget._filterWidgetsAttributes.forEach(function(filterWidgetsAttributes) {
FHC_AjaxClient.ajaxCallGet(
"widgets/Filters/getFilter",
{
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
FHC_AjaxClient.ajaxCallGet(
"widgets/Filters/getFilter",
{
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
filterWidgetsAttributes.app + ":" +
filterWidgetsAttributes.dataset + ":" +
filterWidgetsAttributes.filterid
},
{
successCallback: function(data, textStatus, jqXHR) {
if (FHC_AjaxClient.hasData(data))
if (FHC_AjaxClient.hasData(data))
{
if (typeof renderFunction == "function")
{
if (typeof renderFunction == "function")
{
renderFunction(FHC_AjaxClient.getData(data));
}
}
else
{
console.log(FHC_AjaxClient.getError(data));
renderFunction(FHC_AjaxClient.getData(data));
}
}
else
{
console.log(FHC_AjaxClient.getError(data));
}
}
);
});
}
);
},
/**
@@ -236,35 +216,29 @@ var FHC_FilterWidget = {
*/
_renderFilterWidget: function(data) {
var app = data.app != null ? data.app : "";
var dataset = data.datasetName != null ? data.datasetName : "";
var filterid = data.filter_id != null ? data.filter_id : "";
var filterWidgetDiv = $('div[app="' + app + '"][dataset="' + dataset + '"][filterid="' + filterid + '"]');
FHC_FilterWidget._initSessionStorage(); // initialize the session storage
FHC_FilterWidget._setDatasetRepresentation(data); // set what type of dataset representation was choosen
FHC_FilterWidget._setHideMenu(data); // sets the _hideMenu property
FHC_FilterWidget._setHideOptions(data);
FHC_FilterWidget._turnOffEvents(filterWidgetDiv); // turns all the events off
FHC_FilterWidget._resetGUI(filterWidgetDiv); // Reset the entire GUI
FHC_FilterWidget._turnOffEvents(); // turns all the events off
FHC_FilterWidget._resetGUI(); // Reset the entire GUI
// Render the GUI for this FilterWidget
FHC_FilterWidget._setFilterName(filterWidgetDiv, data); // set the name in the GUI
FHC_FilterWidget._setFilterName(data); // set the name in the GUI
if (FHC_FilterWidget._hideOptions != true)
{
FHC_FilterWidget._renderDragAndDropFields(filterWidgetDiv, data); // render the fields drag and drop GUI
FHC_FilterWidget._renderDropDownFields(filterWidgetDiv, data); // render the fields drop-down
FHC_FilterWidget._renderAppliedFilters(filterWidgetDiv, data); // render the GUI for the applied filters
FHC_FilterWidget._renderDropDownFilters(filterWidgetDiv, data); // render the filters drop-down
FHC_FilterWidget._renderDragAndDropFields(data); // render the fields drag and drop GUI
FHC_FilterWidget._renderDropDownFields(data); // render the fields drop-down
FHC_FilterWidget._renderAppliedFilters(data); // render the GUI for the applied filters
FHC_FilterWidget._renderDropDownFilters(data); // render the filters drop-down
}
FHC_FilterWidget._renderDataset(filterWidgetDiv, data);
FHC_FilterWidget._renderDataset(data);
FHC_FilterWidget._turnOnEvents(filterWidgetDiv); // turns all the events off
FHC_FilterWidget._turnOnEvents(); // turns all the events off
},
/**
@@ -291,23 +265,23 @@ var FHC_FilterWidget = {
* Turns all the events off
* NOTE: must be aligned to _turnOnEvents
*/
_turnOffEvents: function(filterWidgetDiv) {
_turnOffEvents: function() {
filterWidgetDiv.find('[data-toggle="collapse"]').off("click");
filterWidgetDiv.find(".drag-and-drop-fields-span").off("draggable");
filterWidgetDiv.find(".drag-and-drop-fields-span").off("droppable");
filterWidgetDiv.find(".remove-selected-field").off("click");
filterWidgetDiv.find("#addField").off("change");
filterWidgetDiv.find(".applied-filter-operation").off("change");
filterWidgetDiv.find(".remove-applied-filter").off("click");
filterWidgetDiv.find("#addFilter").off("change");
filterWidgetDiv.find("#applyFilter").off("click");
filterWidgetDiv.find("#saveCustomFilterButton").off("click");
$('[data-toggle="collapse"]').off("click");
$(".drag-and-drop-fields-span").off("draggable");
$(".drag-and-drop-fields-span").off("droppable");
$(".remove-selected-field").off("click");
$("#addField").off("change");
$(".applied-filter-operation").off("change");
$(".remove-applied-filter").off("click");
$("#addFilter").off("change");
$("#applyFilter").off("click");
$("#saveCustomFilterButton").off("click");
// If the choosen dataset representation is tablesorter
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
{
FHC_FilterWidget._disableTablesorter(filterWidgetDiv); // disable the tablesorter
FHC_FilterWidget._disableTablesorter(); // disable the tablesorter
}
},
@@ -315,23 +289,23 @@ var FHC_FilterWidget = {
* Turns all the events on
* NOTE: must be aligned to _turnOffEvents
*/
_turnOnEvents: function(filterWidgetDiv) {
_turnOnEvents: function() {
filterWidgetDiv.find('[data-toggle="collapse"]').click(FHC_FilterWidget._dataToggleCollapseEvent); // Click event to collapse or to open the filter options panel
filterWidgetDiv.find(".drag-and-drop-fields-span").draggable(FHC_FilterWidget._draggableConf); // draggable event on selected fields
filterWidgetDiv.find(".drag-and-drop-fields-span").droppable(FHC_FilterWidget._droppableConf); // droppable event on selected fields
filterWidgetDiv.find(".remove-selected-field").click(FHC_FilterWidget._revomeSelectedFieldsEvent); // Click event on the "X" link
filterWidgetDiv.find("#addField").change(FHC_FilterWidget._addFieldEvent); // Change event on the fields drop-down to add new fields
filterWidgetDiv.find(".applied-filter-operation").change(FHC_FilterWidget._appliedFiltersOperationsEvent); // Change event on the operation drop-down
filterWidgetDiv.find(".remove-applied-filter").click(FHC_FilterWidget._removeAppliedFiltersEvent); // Click event to the "X" button to remove an applied filter
filterWidgetDiv.find("#addFilter").change(FHC_FilterWidget._addFilterEvent); // Click event on the applied filters drop-down to add a new filter to the dataset
filterWidgetDiv.find("#applyFilter").click(FHC_FilterWidget._applyFilterEvent); // Click event on the applied filters drop-down to apply filters to the dataset
filterWidgetDiv.find("#saveCustomFilterButton").click(FHC_FilterWidget._saveCustomFilterButtonEvent); // Click evento to for the save custom filter button
$('[data-toggle="collapse"]').click(FHC_FilterWidget._dataToggleCollapseEvent); // Click event to collapse or to open the filter options panel
$(".drag-and-drop-fields-span").draggable(FHC_FilterWidget._draggableConf); // draggable event on selected fields
$(".drag-and-drop-fields-span").droppable(FHC_FilterWidget._droppableConf); // droppable event on selected fields
$(".remove-selected-field").click(FHC_FilterWidget._revomeSelectedFieldsEvent); // Click event on the "X" link
$("#addField").change(FHC_FilterWidget._addFieldEvent); // Change event on the fields drop-down to add new fields
$(".applied-filter-operation").change(FHC_FilterWidget._appliedFiltersOperationsEvent); // Change event on the operation drop-down
$(".remove-applied-filter").click(FHC_FilterWidget._removeAppliedFiltersEvent); // Click event to the "X" button to remove an applied filter
$("#addFilter").change(FHC_FilterWidget._addFilterEvent); // Click event on the applied filters drop-down to add a new filter to the dataset
$("#applyFilter").click(FHC_FilterWidget._applyFilterEvent); // Click event on the applied filters drop-down to apply filters to the dataset
$("#saveCustomFilterButton").click(FHC_FilterWidget._saveCustomFilterButtonEvent); // Click evento to for the save custom filter button
// If the choosen dataset representation is tablesorter
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
{
FHC_FilterWidget._enableTableSorter(filterWidgetDiv); // enable the tablesorter
FHC_FilterWidget._enableTableSorter(); // enable the tablesorter
}
},
@@ -412,20 +386,15 @@ var FHC_FilterWidget = {
});
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/sortSelectedFields",
{
selectedFields: arrayDndId,
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
FHC_FilterWidget._cleanTablesorterLocalStorage(divFilterWidgetDataset.find("#filterTableDataset"));
FHC_FilterWidget._cleanTablesorterLocalStorage();
FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR);
}
}
@@ -438,16 +407,11 @@ var FHC_FilterWidget = {
*/
_revomeSelectedFieldsEvent: function(event) {
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/removeSelectedField",
{
selectedField: $(this).attr("fieldToRemove"),
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -483,20 +447,15 @@ var FHC_FilterWidget = {
*/
_addFieldEvent: function(event) {
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/addSelectedField",
{
selectedField: $(this).val(),
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
FHC_FilterWidget._cleanTablesorterLocalStorage(divFilterWidgetDataset.find("#filterTableDataset"));
FHC_FilterWidget._cleanTablesorterLocalStorage();
FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR);
}
}
@@ -508,14 +467,12 @@ var FHC_FilterWidget = {
*/
_applyFilterEvent: function() {
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
var appliedFilters = [];
var appliedFiltersOperations = [];
var appliedFiltersConditions = [];
var appliedFiltersOptions = [];
divFilterWidgetDataset.find("#appliedFilters > div").each(function(i, e) {
$("#appliedFilters > div").each(function(i, e) {
appliedFilters.push($(this).find(".hidden-field-name").val());
appliedFiltersOperations.push($(this).find(".applied-filter-operation").val());
appliedFiltersConditions.push($(this).find(".applied-filter-condition:enabled").val());
@@ -529,10 +486,7 @@ var FHC_FilterWidget = {
appliedFiltersOperations: appliedFiltersOperations,
appliedFiltersConditions: appliedFiltersConditions,
appliedFiltersOptions: appliedFiltersOptions,
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -547,16 +501,11 @@ var FHC_FilterWidget = {
*/
_removeAppliedFiltersEvent: function(event) {
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/removeAppliedFilter",
{
appliedFilter: $(this).attr("filterToRemove"),
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -571,16 +520,11 @@ var FHC_FilterWidget = {
*/
_addFilterEvent: function(event) {
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/addFilter",
{
filter: $(this).val(),
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
@@ -618,27 +562,22 @@ var FHC_FilterWidget = {
if ($("#customFilterDescription").val() != "")
{
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
FHC_AjaxClient.ajaxCallPost(
"widgets/Filters/saveCustomFilter",
{
customFilterDescription: $("#customFilterDescription").val(),
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
divFilterWidgetDataset.attr("app") + ":" +
divFilterWidgetDataset.attr("dataset") + ":" +
divFilterWidgetDataset.attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {
// If menu is present and there is only one FilterWidget in this page
if (FHC_FilterWidget._hideMenu != true && FHC_FilterWidget._isMultipleFilterWidgets() != true)
// If menu is present
if (FHC_FilterWidget._hideMenu != true)
{
// If a success and refreshSideMenuHook is a valid function then call it to refresh the side menu
if (typeof refreshSideMenuHook == "function")
{
refreshSideMenuHook(divFilterWidgetDataset.attr("app"), divFilterWidgetDataset.attr("dataset"), divFilterWidgetDataset.attr("filterid"));
refreshSideMenuHook();
}
}
}
@@ -654,11 +593,11 @@ var FHC_FilterWidget = {
/**
* Retrive the filter name from data and display it in the GUI
*/
_setFilterName: function(filterWidgetDiv, data) {
_setFilterName: function(data) {
if (data.hasOwnProperty("filterName"))
{
filterWidgetDiv.find(".filter-name-title").html(data.filterName);
$(".filter-name-title").html(data.filterName);
}
},
@@ -667,7 +606,7 @@ var FHC_FilterWidget = {
* Retrieves the list of used fields, the list of all the fields and
* their possibly present aliases from the parameter data
*/
_renderDragAndDropFields: function(filterWidgetDiv, data) {
_renderDragAndDropFields: function(data) {
var arrayFieldsToDisplay = FHC_FilterWidget._getFieldsToDisplay(data);
@@ -683,7 +622,7 @@ var FHC_FilterWidget = {
strHtml += " </span>";
strHtml += "</span>";
filterWidgetDiv.find("#dragAndDropFieldsArea").append(strHtml);
$("#dragAndDropFieldsArea").append(strHtml);
}
},
@@ -691,16 +630,16 @@ var FHC_FilterWidget = {
* Renders the drop-down element that contains all the usable fields in the FilterWidget
* The list of all usable fields and their possibly aliases are retrieved from the parameter data
*/
_renderDropDownFields: function(filterWidgetDiv, data) {
_renderDropDownFields: function(data) {
FHC_FilterWidget._renderDropDown(filterWidgetDiv, data, data.selectedFields, 'addField');
FHC_FilterWidget._renderDropDown(data, data.selectedFields, 'addField');
},
/**
* Renders a dropdown attached to the HTML element ddElementId, using the elements from data.fields
* and excluding the elements that are prenset in the elements parameter
*/
_renderDropDown: function(filterWidgetDiv, data, elements, ddElementId) {
_renderDropDown: function(data, elements, ddElementId) {
if (data.hasOwnProperty("fields") && $.isArray(data.fields))
{
@@ -729,9 +668,9 @@ var FHC_FilterWidget = {
fieldToDisplay = data.columnsAliases[fc];
}
if (filterWidgetDiv.find("#" + ddElementId).length) // checks if the element exists
if ($("#" + ddElementId).length) // checks if the element exists
{
filterWidgetDiv.find("#" + ddElementId).append("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
$("#" + ddElementId).append("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
}
}
}
@@ -742,7 +681,7 @@ var FHC_FilterWidget = {
* Render the GUI to operate with the filters applied to the dataset
* The list of all applied filters is retrieved from the parameter data
*/
_renderAppliedFilters: function(filterWidgetDiv, data) {
_renderAppliedFilters: function(data) {
if (data.hasOwnProperty("datasetMetadata") && $.isArray(data.datasetMetadata)
&& data.hasOwnProperty("filters") && $.isArray(data.filters))
@@ -773,7 +712,7 @@ var FHC_FilterWidget = {
appliedFilters += "</div>";
filterWidgetDiv.find("#appliedFilters").append(appliedFilters);
$("#appliedFilters").append(appliedFilters);
}
}
}
@@ -785,9 +724,9 @@ var FHC_FilterWidget = {
* to apply a filter to the dataset
* The list of all usable fields and their possibly aliases are retrieved from the parameter data
*/
_renderDropDownFilters: function(filterWidgetDiv, data) {
_renderDropDownFilters: function(data) {
FHC_FilterWidget._renderDropDown(filterWidgetDiv, data, data.filters, 'addFilter');
FHC_FilterWidget._renderDropDown(data, data.filters, 'addFilter');
},
/**
@@ -884,24 +823,24 @@ var FHC_FilterWidget = {
return html;
},
_renderDataset: function(filterWidgetDiv, data) {
_renderDataset: function(data) {
// If the choosen dataset representation is tablesorter then...
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
{
FHC_FilterWidget._renderDatasetTablesorter(filterWidgetDiv, data); // ...render the tablesorter GUI
FHC_FilterWidget._renderDatasetTablesorter(data); // ...render the tablesorter GUI
}
// If the choosen dataset representation is pivotUI then...
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_PIVOTUI)
{
FHC_FilterWidget._renderDatasetPivotUI(filterWidgetDiv, data); // ...render the pivotUI GUI
FHC_FilterWidget._renderDatasetPivotUI(data); // ...render the pivotUI GUI
}
// If the choosen dataset representation is tabulator then...
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABULATOR)
{
FHC_FilterWidget._renderDatasetTabulator(filterWidgetDiv, data); // ...render the tabulator GUI
FHC_FilterWidget._renderDatasetTabulator(data); // ...render the tabulator GUI
}
},
@@ -909,11 +848,11 @@ var FHC_FilterWidget = {
* Renders the tablesorter for the FilterWidget
* The data to be displayed are retrived from the parameter data
*/
_renderDatasetTablesorter: function(filterWidgetDiv, data) {
_renderDatasetTablesorter: function(data) {
if (data.hasOwnProperty("checkboxes") && data.checkboxes != null && data.checkboxes.trim() != "")
{
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
$("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
}
var arrayFieldsToDisplay = FHC_FilterWidget._getFieldsToDisplay(data);
@@ -922,7 +861,7 @@ var FHC_FilterWidget = {
{
var columnName = arrayFieldsToDisplay[i];
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
$("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
}
if (data.hasOwnProperty("additionalColumns") && $.isArray(data.additionalColumns))
@@ -931,7 +870,7 @@ var FHC_FilterWidget = {
{
var columnName = data.additionalColumns[i];
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
$("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
}
}
@@ -942,8 +881,8 @@ var FHC_FilterWidget = {
if (data.checkboxes != null && data.checkboxes != "")
{
// select checkbox range with shift key
if (typeof filterWidgetDiv.find("#filterTableDataset").checkboxes === 'function')
filterWidgetDiv.find("#filterTableDataset").checkboxes("range", true);
if (typeof $("#filterTableDataset").checkboxes === 'function')
$("#filterTableDataset").checkboxes("range", true);
}
for (var i = 0; i < data.dataset.length; i++)
@@ -985,7 +924,7 @@ var FHC_FilterWidget = {
strHtml += "</tr>";
filterWidgetDiv.find("#filterTableDataset > tbody").append(strHtml);
$("#filterTableDataset > tbody").append(strHtml);
}
}
}
@@ -994,9 +933,9 @@ var FHC_FilterWidget = {
/**
* Enable the tablesorter libs to render the dataset table with sorting features
*/
_enableTableSorter: function(filterWidgetDiv) {
_enableTableSorter: function() {
var filterWidgetTablesorter = filterWidgetDiv.find("#filterTableDataset");
var filterWidgetTablesorter = $("#filterTableDataset");
// Checks if the table contains data (rows)
if (filterWidgetTablesorter.find("tbody:empty").length == 0
@@ -1013,7 +952,7 @@ var FHC_FilterWidget = {
// Reset filter storage if there is a filter id in url
var filter_id = FHC_AjaxClient.getUrlParameter("filter_id");
if (typeof filter_id !== "undefined") FHC_FilterWidget._cleanTablesorterLocalStorage(filterWidgetTablesorter);
if (typeof filter_id !== "undefined") FHC_FilterWidget._cleanTablesorterLocalStorage();
$.tablesorter.updateAll(filterWidgetTablesorter[0].config, true, null);
}
@@ -1022,24 +961,24 @@ var FHC_FilterWidget = {
/**
* Disable the tablesorter
*/
_disableTablesorter: function(filterWidgetDiv) {
_disableTablesorter: function() {
filterWidgetDiv.find("#filterTableDataset").trigger("disable");
$("#filterTableDataset").trigger("disable");
},
/**
* Tablesorter filter local storage clean
*/
_cleanTablesorterLocalStorage: function(filterWidgetTablesorter) {
_cleanTablesorterLocalStorage: function() {
filterWidgetTablesorter.trigger("filterResetSaved");
$("#filterTableDataset").trigger("filterResetSaved");
},
/**
* Renders the pivotUI for the FilterWidget
* The data to be displayed are retrived from the parameter data
*/
_renderDatasetPivotUI: function(filterWidgetDiv, data) {
_renderDatasetPivotUI: function(data) {
// Checks if options were given and returns them
var options = FHC_FilterWidget._getRepresentationOptions(data);
@@ -1088,7 +1027,7 @@ var FHC_FilterWidget = {
}
// Renders the pivotUI
filterWidgetDiv.find("#filterPivotUI").pivotUI(
$("#filterPivotUI").pivotUI(
pivotUIData,
options
);
@@ -1131,7 +1070,7 @@ var FHC_FilterWidget = {
* Renders the tabulator for the FilterWidget
* The data to be displayed are retrived from the parameter data
*/
_renderDatasetTabulator: function(filterWidgetDiv, data) {
_renderDatasetTabulator: function(data) {
// Checks if options were given and returns them
var options = FHC_FilterWidget._getRepresentationOptions(data);
@@ -1152,7 +1091,7 @@ var FHC_FilterWidget = {
options.data = data.dataset;
// Renders the tabulator
filterWidgetDiv.find("#filterTabulator").tabulator(options);
$("#filterTabulator").tabulator(options);
}
}
},
@@ -1283,11 +1222,7 @@ var FHC_FilterWidget = {
*/
_setHideMenu: function(data) {
if (FHC_FilterWidget._filterWidgetsAttributes.length > 1)
{
FHC_FilterWidget._hideMenu = true;
}
else if (data.hasOwnProperty("hideMenu"))
if (data.hasOwnProperty("hideMenu"))
{
FHC_FilterWidget._hideMenu = data.hideMenu;
}
@@ -1302,33 +1237,6 @@ var FHC_FilterWidget = {
{
FHC_FilterWidget._hideOptions = data.hideOptions;
}
},
/**
* Return true if there are more then one FilterWidget in this page, otherwise false
*/
_isMultipleFilterWidgets: function() {
return $("div[id*='divFilterWidgetDataset']").length > 1;
},
/**
*
*/
_setFilterWidgetsAttributes: function() {
FHC_FilterWidget._filterWidgetsAttributes = [];
$("div[id*='divFilterWidgetDataset']").each(function(i, e) {
var filterWidgetsAttributes = {};
filterWidgetsAttributes.app = e.attributes["app"].nodeValue;
filterWidgetsAttributes.dataset = e.attributes["dataset"].nodeValue;
filterWidgetsAttributes.filterid = e.attributes["filterid"].nodeValue;
FHC_FilterWidget._filterWidgetsAttributes.push(filterWidgetsAttributes);
});
}
};
@@ -49,10 +49,7 @@ var InfocenterPersonDataset = {
FHC_AjaxClient.ajaxCallGet(
'widgets/Filters/rowNumber',
{
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
$("#divFilterWidgetDataset").attr("app") + ":" +
$("#divFilterWidgetDataset").attr("dataset") + ":" +
$("#divFilterWidgetDataset").attr("filterid")
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix()
},
{
successCallback: function(data, textStatus, jqXHR) {