|
|
|
@@ -13,14 +13,17 @@
|
|
|
|
|
* Global function used by FilterWidget JS to refresh the side menu
|
|
|
|
|
* NOTE: it is called from the FilterWidget JS therefore must be a global function
|
|
|
|
|
* It may be overwritten by a custom refreshSideMenuHook included in a javascript which will be loaded after this one
|
|
|
|
|
* The given parameters, filter_page and navigation_page, are required
|
|
|
|
|
* The given parameters, filterUniqueId and navigation_page, are required
|
|
|
|
|
*/
|
|
|
|
|
function refreshSideMenuHook()
|
|
|
|
|
function refreshSideMenuHook(app, dataset, filterid)
|
|
|
|
|
{
|
|
|
|
|
FHC_NavigationWidget.refreshSideMenuHook(
|
|
|
|
|
'widgets/Filters/setNavigationMenu',
|
|
|
|
|
{
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage(),
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
app + ":" +
|
|
|
|
|
dataset + ":" +
|
|
|
|
|
filterid,
|
|
|
|
|
navigation_page: FHC_NavigationWidget.getNavigationPage()
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
@@ -33,8 +36,8 @@ function refreshSideMenuHook()
|
|
|
|
|
*/
|
|
|
|
|
function sideMenuHook()
|
|
|
|
|
{
|
|
|
|
|
// If menu is present
|
|
|
|
|
if (FHC_FilterWidget._hideMenu != true)
|
|
|
|
|
// If menu is present and there is only one FilterWidget in this page
|
|
|
|
|
if (FHC_FilterWidget._hideMenu != true && FHC_FilterWidget._isMultipleFilterWidgets() != true)
|
|
|
|
|
{
|
|
|
|
|
$(".remove-custom-filter").click(function() {
|
|
|
|
|
|
|
|
|
@@ -43,7 +46,10 @@ function sideMenuHook()
|
|
|
|
|
"widgets/Filters/removeCustomFilter",
|
|
|
|
|
{
|
|
|
|
|
filter_id: $(this).attr("value"), // filter_id of the filter to be removed
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].app + ":" +
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].dataset + ":" +
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].filterid
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
@@ -54,10 +60,13 @@ function sideMenuHook()
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// If a success and refreshSideMenuHook is a valid function then call it to refresh the side menu
|
|
|
|
|
if (typeof refreshSideMenuHook == "function")
|
|
|
|
|
{
|
|
|
|
|
refreshSideMenuHook();
|
|
|
|
|
refreshSideMenuHook(
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].app,
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].dataset,
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes[0].filterid
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -84,7 +93,9 @@ var FHC_FilterWidget = {
|
|
|
|
|
// Properties
|
|
|
|
|
|
|
|
|
|
_datasetRepresentation: null, // contains the current data representation
|
|
|
|
|
_filterTabulator: null, // stores the tabulator object (if used, otherwise is null)
|
|
|
|
|
_filterWidgetsAttributes: null, //
|
|
|
|
|
_hideMenu: false, //
|
|
|
|
|
_hideOptions: false, //
|
|
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
// Public methods
|
|
|
|
@@ -94,6 +105,8 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
display: function() {
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._setFilterWidgetsAttributes();
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._getFilter(FHC_FilterWidget._renderFilterWidget);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -108,7 +121,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
/**
|
|
|
|
|
* To retrive the page where the FilterWidget is used, using the FHC_JS_DATA_STORAGE_OBJECT
|
|
|
|
|
*/
|
|
|
|
|
getFilterPage: function() {
|
|
|
|
|
getFilterUniqueIdPrefix: function() {
|
|
|
|
|
|
|
|
|
|
return FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method;
|
|
|
|
|
},
|
|
|
|
@@ -151,30 +164,30 @@ var FHC_FilterWidget = {
|
|
|
|
|
/**
|
|
|
|
|
* To reset the Filter Options GUI
|
|
|
|
|
*/
|
|
|
|
|
_resetGUI: function() {
|
|
|
|
|
_resetGUI: function(filterWidgetDiv) {
|
|
|
|
|
|
|
|
|
|
$("#dragAndDropFieldsArea").html("");
|
|
|
|
|
$("#addField").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
|
|
|
|
|
$("#appliedFilters").html("");
|
|
|
|
|
$("#addFilter").html("<option value=''>" + FHC_PhrasesLib.t("ui", "bitteEintragWaehlen") + "</option>");
|
|
|
|
|
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>");
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tablesorter
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
|
|
|
|
|
{
|
|
|
|
|
$("#filterTableDataset > thead > tr").html("");
|
|
|
|
|
$("#filterTableDataset > tbody").html("");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > thead > tr").html("");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > tbody").html("");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is pivotUI
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_PIVOTUI)
|
|
|
|
|
{
|
|
|
|
|
$("#filterPivotUI").html("");
|
|
|
|
|
filterWidgetDiv.find("#filterPivotUI").html("");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tabulator
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABULATOR)
|
|
|
|
|
{
|
|
|
|
|
$("#filterTabulator").html("");
|
|
|
|
|
filterWidgetDiv.find("#filterTabulator").html("");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -184,28 +197,35 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_getFilter: function(renderFunction) {
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallGet(
|
|
|
|
|
"widgets/Filters/getFilter",
|
|
|
|
|
{
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
|
FHC_FilterWidget._filterWidgetsAttributes.forEach(function(filterWidgetsAttributes) {
|
|
|
|
|
|
|
|
|
|
if (FHC_AjaxClient.hasData(data))
|
|
|
|
|
{
|
|
|
|
|
if (typeof renderFunction == "function")
|
|
|
|
|
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))
|
|
|
|
|
{
|
|
|
|
|
renderFunction(FHC_AjaxClient.getData(data));
|
|
|
|
|
if (typeof renderFunction == "function")
|
|
|
|
|
{
|
|
|
|
|
renderFunction(FHC_AjaxClient.getData(data));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
console.log(FHC_AjaxClient.getError(data));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
console.log(FHC_AjaxClient.getError(data));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -216,23 +236,35 @@ 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(); // turns all the events off
|
|
|
|
|
FHC_FilterWidget._resetGUI(); // Reset the entire GUI
|
|
|
|
|
FHC_FilterWidget._turnOffEvents(filterWidgetDiv); // turns all the events off
|
|
|
|
|
FHC_FilterWidget._resetGUI(filterWidgetDiv); // Reset the entire GUI
|
|
|
|
|
|
|
|
|
|
// Render the GUI for this FilterWidget
|
|
|
|
|
FHC_FilterWidget._setFilterName(data); // set the name in the GUI
|
|
|
|
|
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(data);
|
|
|
|
|
FHC_FilterWidget._setFilterName(filterWidgetDiv, data); // set the name in the GUI
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._turnOnEvents(); // turns all the events off
|
|
|
|
|
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._renderDataset(filterWidgetDiv, data);
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._turnOnEvents(filterWidgetDiv); // turns all the events off
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -259,23 +291,23 @@ var FHC_FilterWidget = {
|
|
|
|
|
* Turns all the events off
|
|
|
|
|
* NOTE: must be aligned to _turnOnEvents
|
|
|
|
|
*/
|
|
|
|
|
_turnOffEvents: function() {
|
|
|
|
|
_turnOffEvents: function(filterWidgetDiv) {
|
|
|
|
|
|
|
|
|
|
$("[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");
|
|
|
|
|
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");
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tablesorter
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._disableTablesorter(); // disable the tablesorter
|
|
|
|
|
FHC_FilterWidget._disableTablesorter(filterWidgetDiv); // disable the tablesorter
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -283,23 +315,23 @@ var FHC_FilterWidget = {
|
|
|
|
|
* Turns all the events on
|
|
|
|
|
* NOTE: must be aligned to _turnOffEvents
|
|
|
|
|
*/
|
|
|
|
|
_turnOnEvents: function() {
|
|
|
|
|
_turnOnEvents: function(filterWidgetDiv) {
|
|
|
|
|
|
|
|
|
|
$("[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
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tablesorter
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._enableTableSorter(); // enable the tablesorter
|
|
|
|
|
FHC_FilterWidget._enableTableSorter(filterWidgetDiv); // enable the tablesorter
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -380,15 +412,20 @@ var FHC_FilterWidget = {
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/sortSelectedFields",
|
|
|
|
|
{
|
|
|
|
|
selectedFields: arrayDndId,
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
|
FHC_FilterWidget._cleanTablesorterLocalStorage();
|
|
|
|
|
FHC_FilterWidget._cleanTablesorterLocalStorage(divFilterWidgetDataset.find("#filterTableDataset"));
|
|
|
|
|
FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -401,11 +438,16 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_revomeSelectedFieldsEvent: function(event) {
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/removeSelectedField",
|
|
|
|
|
{
|
|
|
|
|
selectedField: $(this).attr("fieldToRemove"),
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
@@ -441,15 +483,20 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_addFieldEvent: function(event) {
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/addSelectedField",
|
|
|
|
|
{
|
|
|
|
|
selectedField: $(this).val(),
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
|
FHC_FilterWidget._cleanTablesorterLocalStorage();
|
|
|
|
|
FHC_FilterWidget._cleanTablesorterLocalStorage(divFilterWidgetDataset.find("#filterTableDataset"));
|
|
|
|
|
FHC_FilterWidget._failOrRefresh(data, textStatus, jqXHR);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -461,12 +508,14 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_applyFilterEvent: function() {
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
var appliedFilters = [];
|
|
|
|
|
var appliedFiltersOperations = [];
|
|
|
|
|
var appliedFiltersConditions = [];
|
|
|
|
|
var appliedFiltersOptions = [];
|
|
|
|
|
|
|
|
|
|
$("#appliedFilters > div").each(function(i, e) {
|
|
|
|
|
divFilterWidgetDataset.find("#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());
|
|
|
|
@@ -480,7 +529,10 @@ var FHC_FilterWidget = {
|
|
|
|
|
appliedFiltersOperations: appliedFiltersOperations,
|
|
|
|
|
appliedFiltersConditions: appliedFiltersConditions,
|
|
|
|
|
appliedFiltersOptions: appliedFiltersOptions,
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
@@ -495,11 +547,16 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_removeAppliedFiltersEvent: function(event) {
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/removeAppliedFilter",
|
|
|
|
|
{
|
|
|
|
|
appliedFilter: $(this).attr("filterToRemove"),
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
@@ -514,11 +571,16 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_addFilterEvent: function(event) {
|
|
|
|
|
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/addFilter",
|
|
|
|
|
{
|
|
|
|
|
filter: $(this).val(),
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
@@ -556,20 +618,27 @@ var FHC_FilterWidget = {
|
|
|
|
|
|
|
|
|
|
if ($("#customFilterDescription").val() != "")
|
|
|
|
|
{
|
|
|
|
|
var divFilterWidgetDataset = $(this).parents("#divFilterWidgetDataset");
|
|
|
|
|
|
|
|
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
|
|
|
"widgets/Filters/saveCustomFilter",
|
|
|
|
|
{
|
|
|
|
|
customFilterDescription: $("#customFilterDescription").val(),
|
|
|
|
|
filter_page: FHC_FilterWidget.getFilterPage()
|
|
|
|
|
filterUniqueId: FHC_FilterWidget.getFilterUniqueIdPrefix() + "/" +
|
|
|
|
|
divFilterWidgetDataset.attr("app") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("dataset") + ":" +
|
|
|
|
|
divFilterWidgetDataset.attr("filterid")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
|
|
|
if (FHC_FilterWidget._hideMenu != true)
|
|
|
|
|
|
|
|
|
|
// If menu is present and there is only one FilterWidget in this page
|
|
|
|
|
if (FHC_FilterWidget._hideMenu != true && FHC_FilterWidget._isMultipleFilterWidgets() != true)
|
|
|
|
|
{
|
|
|
|
|
// If a success and refreshSideMenuHook is a valid function then call it to refresh the side menu
|
|
|
|
|
if (typeof refreshSideMenuHook == "function")
|
|
|
|
|
{
|
|
|
|
|
refreshSideMenuHook();
|
|
|
|
|
refreshSideMenuHook(divFilterWidgetDataset.attr("app"), divFilterWidgetDataset.attr("dataset"), divFilterWidgetDataset.attr("filterid"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -585,11 +654,11 @@ var FHC_FilterWidget = {
|
|
|
|
|
/**
|
|
|
|
|
* Retrive the filter name from data and display it in the GUI
|
|
|
|
|
*/
|
|
|
|
|
_setFilterName: function(data) {
|
|
|
|
|
_setFilterName: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("filterName"))
|
|
|
|
|
{
|
|
|
|
|
$(".filter-name-title").html(data.filterName);
|
|
|
|
|
filterWidgetDiv.find(".filter-name-title").html(data.filterName);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -598,7 +667,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(data) {
|
|
|
|
|
_renderDragAndDropFields: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
var arrayFieldsToDisplay = FHC_FilterWidget._getFieldsToDisplay(data);
|
|
|
|
|
|
|
|
|
@@ -614,7 +683,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
strHtml += " </span>";
|
|
|
|
|
strHtml += "</span>";
|
|
|
|
|
|
|
|
|
|
$("#dragAndDropFieldsArea").append(strHtml);
|
|
|
|
|
filterWidgetDiv.find("#dragAndDropFieldsArea").append(strHtml);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -622,16 +691,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(data) {
|
|
|
|
|
_renderDropDownFields: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._renderDropDown(data, data.selectedFields, 'addField');
|
|
|
|
|
FHC_FilterWidget._renderDropDown(filterWidgetDiv, 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(data, elements, ddElementId) {
|
|
|
|
|
_renderDropDown: function(filterWidgetDiv, data, elements, ddElementId) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("fields") && $.isArray(data.fields))
|
|
|
|
|
{
|
|
|
|
@@ -660,9 +729,9 @@ var FHC_FilterWidget = {
|
|
|
|
|
fieldToDisplay = data.columnsAliases[fc];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($("#" + ddElementId).length) // checks if the element exists
|
|
|
|
|
if (filterWidgetDiv.find("#" + ddElementId).length) // checks if the element exists
|
|
|
|
|
{
|
|
|
|
|
$("#" + ddElementId).append("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
|
|
|
|
|
filterWidgetDiv.find("#" + ddElementId).append("<option value='" + fieldName + "'>" + fieldToDisplay + "</option>");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -673,7 +742,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(data) {
|
|
|
|
|
_renderAppliedFilters: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("datasetMetadata") && $.isArray(data.datasetMetadata)
|
|
|
|
|
&& data.hasOwnProperty("filters") && $.isArray(data.filters))
|
|
|
|
@@ -704,7 +773,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
|
|
|
|
|
appliedFilters += "</div>";
|
|
|
|
|
|
|
|
|
|
$("#appliedFilters").append(appliedFilters);
|
|
|
|
|
filterWidgetDiv.find("#appliedFilters").append(appliedFilters);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -716,9 +785,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(data) {
|
|
|
|
|
_renderDropDownFilters: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
FHC_FilterWidget._renderDropDown(data, data.filters, 'addFilter');
|
|
|
|
|
FHC_FilterWidget._renderDropDown(filterWidgetDiv, data, data.filters, 'addFilter');
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@@ -815,24 +884,24 @@ var FHC_FilterWidget = {
|
|
|
|
|
return html;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
_renderDataset: function(data) {
|
|
|
|
|
_renderDataset: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tablesorter then...
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABLESORTER)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._renderDatasetTablesorter(data); // ...render the tablesorter GUI
|
|
|
|
|
FHC_FilterWidget._renderDatasetTablesorter(filterWidgetDiv, data); // ...render the tablesorter GUI
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is pivotUI then...
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_PIVOTUI)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._renderDatasetPivotUI(data); // ...render the pivotUI GUI
|
|
|
|
|
FHC_FilterWidget._renderDatasetPivotUI(filterWidgetDiv, data); // ...render the pivotUI GUI
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// If the choosen dataset representation is tabulator then...
|
|
|
|
|
if (FHC_FilterWidget._datasetRepresentation == DATASET_REP_TABULATOR)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._renderDatasetTabulator(data); // ...render the tabulator GUI
|
|
|
|
|
FHC_FilterWidget._renderDatasetTabulator(filterWidgetDiv, data); // ...render the tabulator GUI
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -840,11 +909,11 @@ var FHC_FilterWidget = {
|
|
|
|
|
* Renders the tablesorter for the FilterWidget
|
|
|
|
|
* The data to be displayed are retrived from the parameter data
|
|
|
|
|
*/
|
|
|
|
|
_renderDatasetTablesorter: function(data) {
|
|
|
|
|
_renderDatasetTablesorter: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("checkboxes") && data.checkboxes != null && data.checkboxes.trim() != "")
|
|
|
|
|
{
|
|
|
|
|
$("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th data-filter='false' title='Select'>Select</th>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var arrayFieldsToDisplay = FHC_FilterWidget._getFieldsToDisplay(data);
|
|
|
|
@@ -853,7 +922,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
{
|
|
|
|
|
var columnName = arrayFieldsToDisplay[i];
|
|
|
|
|
|
|
|
|
|
$("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("additionalColumns") && $.isArray(data.additionalColumns))
|
|
|
|
@@ -862,7 +931,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
{
|
|
|
|
|
var columnName = data.additionalColumns[i];
|
|
|
|
|
|
|
|
|
|
$("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > thead > tr").append("<th title='" + columnName + "'>" + columnName + "</th>");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -873,8 +942,8 @@ var FHC_FilterWidget = {
|
|
|
|
|
if (data.checkboxes != null && data.checkboxes != "")
|
|
|
|
|
{
|
|
|
|
|
// select checkbox range with shift key
|
|
|
|
|
if (typeof $("#filterTableDataset").checkboxes === 'function')
|
|
|
|
|
$("#filterTableDataset").checkboxes("range", true);
|
|
|
|
|
if (typeof filterWidgetDiv.find("#filterTableDataset").checkboxes === 'function')
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset").checkboxes("range", true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < data.dataset.length; i++)
|
|
|
|
@@ -916,7 +985,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
|
|
|
|
|
strHtml += "</tr>";
|
|
|
|
|
|
|
|
|
|
$("#filterTableDataset > tbody").append(strHtml);
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset > tbody").append(strHtml);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -925,14 +994,16 @@ var FHC_FilterWidget = {
|
|
|
|
|
/**
|
|
|
|
|
* Enable the tablesorter libs to render the dataset table with sorting features
|
|
|
|
|
*/
|
|
|
|
|
_enableTableSorter: function() {
|
|
|
|
|
_enableTableSorter: function(filterWidgetDiv) {
|
|
|
|
|
|
|
|
|
|
var filterWidgetTablesorter = filterWidgetDiv.find("#filterTableDataset");
|
|
|
|
|
|
|
|
|
|
// Checks if the table contains data (rows)
|
|
|
|
|
if ($("#filterTableDataset").find("tbody:empty").length == 0
|
|
|
|
|
&& $("#filterTableDataset").find("tr:empty").length == 0
|
|
|
|
|
&& $("#filterTableDataset").hasClass("table-condensed"))
|
|
|
|
|
if (filterWidgetTablesorter.find("tbody:empty").length == 0
|
|
|
|
|
&& filterWidgetTablesorter.find("tr:empty").length == 0
|
|
|
|
|
&& filterWidgetTablesorter.hasClass("table-condensed"))
|
|
|
|
|
{
|
|
|
|
|
$("#filterTableDataset").tablesorter({
|
|
|
|
|
filterWidgetTablesorter.tablesorter({
|
|
|
|
|
dateFormat: "ddmmyyyy",
|
|
|
|
|
widgets: ["zebra", "filter"],
|
|
|
|
|
widgetOptions: {
|
|
|
|
@@ -942,33 +1013,33 @@ 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();
|
|
|
|
|
if (typeof filter_id !== "undefined") FHC_FilterWidget._cleanTablesorterLocalStorage(filterWidgetTablesorter);
|
|
|
|
|
|
|
|
|
|
$.tablesorter.updateAll($("#filterTableDataset")[0].config, true, null);
|
|
|
|
|
$.tablesorter.updateAll(filterWidgetTablesorter[0].config, true, null);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Disable the tablesorter
|
|
|
|
|
*/
|
|
|
|
|
_disableTablesorter: function() {
|
|
|
|
|
_disableTablesorter: function(filterWidgetDiv) {
|
|
|
|
|
|
|
|
|
|
$("#filterTableDataset").trigger("disable");
|
|
|
|
|
filterWidgetDiv.find("#filterTableDataset").trigger("disable");
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Tablesorter filter local storage clean
|
|
|
|
|
*/
|
|
|
|
|
_cleanTablesorterLocalStorage: function() {
|
|
|
|
|
_cleanTablesorterLocalStorage: function(filterWidgetTablesorter) {
|
|
|
|
|
|
|
|
|
|
$("#filterTableDataset").trigger("filterResetSaved");
|
|
|
|
|
filterWidgetTablesorter.trigger("filterResetSaved");
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Renders the pivotUI for the FilterWidget
|
|
|
|
|
* The data to be displayed are retrived from the parameter data
|
|
|
|
|
*/
|
|
|
|
|
_renderDatasetPivotUI: function(data) {
|
|
|
|
|
_renderDatasetPivotUI: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
// Checks if options were given and returns them
|
|
|
|
|
var options = FHC_FilterWidget._getRepresentationOptions(data);
|
|
|
|
@@ -1017,7 +1088,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Renders the pivotUI
|
|
|
|
|
$("#filterPivotUI").pivotUI(
|
|
|
|
|
filterWidgetDiv.find("#filterPivotUI").pivotUI(
|
|
|
|
|
pivotUIData,
|
|
|
|
|
options
|
|
|
|
|
);
|
|
|
|
@@ -1060,7 +1131,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
* Renders the tabulator for the FilterWidget
|
|
|
|
|
* The data to be displayed are retrived from the parameter data
|
|
|
|
|
*/
|
|
|
|
|
_renderDatasetTabulator: function(data) {
|
|
|
|
|
_renderDatasetTabulator: function(filterWidgetDiv, data) {
|
|
|
|
|
|
|
|
|
|
// Checks if options were given and returns them
|
|
|
|
|
var options = FHC_FilterWidget._getRepresentationOptions(data);
|
|
|
|
@@ -1081,7 +1152,7 @@ var FHC_FilterWidget = {
|
|
|
|
|
options.data = data.dataset;
|
|
|
|
|
|
|
|
|
|
// Renders the tabulator
|
|
|
|
|
FHC_FilterWidget._filterTabulator = new Tabulator("#filterTabulator", options);
|
|
|
|
|
filterWidgetDiv.find("#filterTabulator").tabulator(options);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
@@ -1212,12 +1283,53 @@ var FHC_FilterWidget = {
|
|
|
|
|
*/
|
|
|
|
|
_setHideMenu: function(data) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("hideMenu"))
|
|
|
|
|
if (FHC_FilterWidget._filterWidgetsAttributes.length > 1)
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._hideMenu = true;
|
|
|
|
|
}
|
|
|
|
|
else if (data.hasOwnProperty("hideMenu"))
|
|
|
|
|
{
|
|
|
|
|
FHC_FilterWidget._hideMenu = data.hideMenu;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set what type of dataset representation was choosen
|
|
|
|
|
*/
|
|
|
|
|
_setHideOptions: function(data) {
|
|
|
|
|
|
|
|
|
|
if (data.hasOwnProperty("hideOptions"))
|
|
|
|
|
{
|
|
|
|
|
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);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|