-
+
Add filter:
-
+
diff --git a/public/css/FilterWidget.css b/public/css/FilterWidget.css
index 6afe36177..42c10f2cc 100644
--- a/public/css/FilterWidget.css
+++ b/public/css/FilterWidget.css
@@ -1,30 +1,30 @@
-.filter-options-span {
- display: inline-block;
- width: 130px;
- font-weight: bold;
-}
-
.filter-name-title {
font-family: inherit;
font-size: 16px;
- /*font-weight: bold;*/
line-height: 1.1;
color: black;
}
+.panel-title {
+ font-weight: bold;
+ padding-top: 3px;
+}
+
.filters-hidden-panel {
margin: 0 10px 10px 10px;
}
-.hidden-control {
- display: none !important;
+.filter-span-label {
+ display: inline-block;
+ width: 130px;
+ font-weight: bold;
}
-.filter-select-fields-dnd-div {
+.drag-and-drop-fields-area {
height: 50px;
}
-.filter-select-field-dnd-span {
+.drag-and-drop-fields-span {
border: 1px solid black;
border-radius: 7px;
margin-left: 3px;
@@ -33,14 +33,23 @@
top: 10px;
}
-.filter-select-field-dnd-span:hover {
+.drag-and-drop-fields-span:hover {
cursor: move;
}
-.filter-select-field-dnd-span a {
+.remove-selected-field {
+ font-weight: bold;
cursor: pointer;
}
+.remove-selected-field:hover {
+ text-decoration: none;
+}
+
+.hidden-control {
+ display: none !important;
+}
+
.selection-before::before {
content: "";
position: absolute;
@@ -61,47 +70,38 @@
border-right: 2px solid #428bca;
}
-.select-filter-operation {
+.applied-filter-operation {
display: inline;
width: 130px;
}
-.select-filter-operation-value {
+.applied-filter-condition {
display: inline;
width: 400px;
}
-.select-filter-option {
+.applied-filter-option {
display: inline;
width: 100px;
}
-#addField, #customFilterDescription, #addFilter {
+.remove-applied-filter {
+ padding-bottom: 3px;
+}
+
+.drop-down-fields, .drop-down-filters, .input-text-custom-filter {
display: inline;
width: 535px;
}
-#selectedFilters {
+#appliedFilters {
margin-bottom: 20px;
}
-#applyFilter, #saveCustomFilterButton, .remove-selected-filter {
+#applyFilter, #saveCustomFilterButton, .remove-applied-filter {
font-weight: bold;
}
#applyFilter, #saveCustomFilterButton {
width: 100px;
}
-
-.remove-selected-filter {
- padding-bottom: 3px;
-}
-
-.panel-title {
- font-weight: bold;
- padding-top: 3px;
-}
-
-.remove-field {
- font-weight: bold;
-}
diff --git a/public/js/FilterWidget.js b/public/js/FilterWidget.js
index d32cfa63a..aaaae5b18 100644
--- a/public/js/FilterWidget.js
+++ b/public/js/FilterWidget.js
@@ -14,7 +14,7 @@
*/
function sideMenuHook()
{
- $(".remove-filter").click(function() {
+ $(".remove-applied-filter").click(function() {
//
FHC_AjaxClient.ajaxCallPost(
'system/Filters/deleteCustomFilter',
@@ -42,6 +42,9 @@ var FHC_FilterWidget = {
FHC_FilterWidget._getFilter(FHC_FilterWidget._renderFilterWidget);
},
+ //------------------------------------------------------------------------------------------------------------------
+ // Private methods
+
/**
*
*/
@@ -74,14 +77,21 @@ var FHC_FilterWidget = {
FHC_FilterWidget._setFilterName(data); //
- FHC_FilterWidget._renderDnDFields(data); //
+ FHC_FilterWidget._renderDragAndDropFields(data); //
FHC_FilterWidget._renderDropDownFields(data); //
FHC_FilterWidget._renderAppliedFilters(data); //
+ FHC_FilterWidget._renderDropDownFilters(data); //
+
+ FHC_FilterWidget._renderTableDataset(data); //
+
},
+ /**
+ *
+ */
_setFilterName: function(data) {
if (data.hasOwnProperty('filterName'))
{
@@ -92,58 +102,124 @@ var FHC_FilterWidget = {
/**
*
*/
- _renderDnDFields: function(data) {
+ _renderDragAndDropFields: function(data) {
- $(".remove-field").off('click');
+ $(".remove-selected-field").off('click');
- if (data.hasOwnProperty('rowNumber') && data.rowNumber > 0)
+ var arrayFieldsToDisplay = [];
+
+ if (data.hasOwnProperty('selectedFields') && $.isArray(data.selectedFields))
{
- var arrayFieldsToDisplay = [];
-
- if (data.hasOwnProperty('selectedFields') && $.isArray(data.selectedFields))
+ if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
{
- if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
+ for (var i = 0; i < data.selectedFields.length; i++)
{
- for (var i = 0; i < data.selectedFields.length; i++)
+ for (var j = 0; j < data.fields.length; j++)
{
- for (var j = 0; j < data.fields.length; j++)
+ if (data.selectedFields[i] == data.fields[j])
{
- if (data.selectedFields[i] == data.fields[j])
- {
- arrayFieldsToDisplay[i] = data.columnsAliases[j];
- }
+ arrayFieldsToDisplay[i] = data.columnsAliases[j];
}
}
}
- else
- {
- arrayFieldsToDisplay = data.selectedFields;
- }
}
-
- for (var i = 0; i < arrayFieldsToDisplay.length; i++)
+ else
{
- var fieldToDisplay = arrayFieldsToDisplay[i];
- var fieldName = data.selectedFields[i];
-
- var strHtml = '';
- strHtml += ' ' + fieldToDisplay + '';
- strHtml += ' ';
- strHtml += ' X ';
- strHtml += ' ';
- strHtml += '';
-
- $("#filterSelectFieldsDnd").append(strHtml);
+ arrayFieldsToDisplay = data.selectedFields;
}
+ }
- FHC_FilterWidget._drangAndDropEvents();
+ for (var i = 0; i < arrayFieldsToDisplay.length; i++)
+ {
+ var fieldToDisplay = arrayFieldsToDisplay[i];
+ var fieldName = data.selectedFields[i];
+
+ var strHtml = '';
+ strHtml += ' ' + fieldToDisplay + '';
+ strHtml += ' ';
+ strHtml += ' X ';
+ strHtml += ' ';
+ strHtml += '';
+
+ $("#dragAndDropFieldsArea").append(strHtml);
+ }
+
+ $(".drag-and-drop-fields-span").draggable({
+ containment: "parent",
+ cursor: "move",
+ opacity: 0.4,
+ revert: "invalid",
+ revertDuration: 200,
+ drag: function(event, ui) {
+
+ var padding = 20;
+ var draggedElement = $(this);
+
+ $(".drag-and-drop-fields-span").each(function(i, e) {
+
+ if ($(this).attr('id') != draggedElement.attr('id'))
+ {
+ $(this).removeClass("selection-after");
+ $(this).removeClass("selection-before");
+
+ var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
+
+ if (event.pageX > ($(this).offset().left - (padding / 2))
+ && event.pageX < ($(this).offset().left + $(this).width() + (padding / 2)))
+ {
+ if (event.pageX > elementCenter)
+ {
+ $(this).addClass("selection-after");
+ $(this).removeClass("selection-before");
+ }
+ else if (event.pageX < elementCenter)
+ {
+ $(this).addClass("selection-before");
+ $(this).removeClass("selection-after");
+ }
+ }
+ }
+
+ });
+
+ }
+ });
+
+ $(".drag-and-drop-fields-span").droppable({
+ accept: ".drag-and-drop-fields-span",
+ drop: function(event, ui) {
+
+ var padding = 20;
+ var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
+ var draggedElement = ui.helper;
+
+ if (event.pageX > elementCenter)
+ {
+ draggedElement.insertAfter($(this));
+ }
+ else if (event.pageX < elementCenter)
+ {
+ draggedElement.insertBefore($(this));
+ }
+
+ $(this).removeClass("selection-before");
+ $(this).removeClass("selection-after");
+
+ draggedElement.css({left: '0px', top: '10px'});
+
+ var arrayDndId = [];
+
+ $(".drag-and-drop-fields-span").each(function(i, e) {
+
+ arrayDndId[i] = $(this).attr('id').replace('dnd', '');
+
+ });
- $(".remove-field").click(function(event) {
//
FHC_AjaxClient.ajaxCallPost(
- 'system/Filters/removeSelectedFields',
+ 'system/Filters/sortSelectedFields',
{
- fieldName: $(this).attr('fieldToRemove'),
+ selectedFieldsLst: arrayDndId,
filter_page: FHC_FilterWidget._getFilterPage()
},
{
@@ -155,29 +231,58 @@ var FHC_FilterWidget = {
}
}
);
- });
- }
+ }
+ });
+
+ $(".remove-selected-field").click(function(event) {
+ //
+ FHC_AjaxClient.ajaxCallPost(
+ 'system/Filters/removeSelectedFields',
+ {
+ fieldName: $(this).attr('fieldToRemove'),
+ filter_page: FHC_FilterWidget._getFilterPage()
+ },
+ {
+ successCallback: function(data, textStatus, jqXHR) {
+ FHC_FilterWidget._resetSelectedFields();
+
+ FHC_FilterWidget.renderSelectedFields();
+ FHC_FilterWidget.renderTableDataset();
+ }
+ }
+ );
+ });
},
_renderDropDownFields: function(data) {
$("#addField").off('change');
- var strDropDown = '';
- $("#addField").append(strDropDown);
+ var strDropDown = '';
- if (data.fields != null)
+ if (data.hasOwnProperty('fields') && $.isArray(data.fields))
{
for (var i = 0; i < data.fields.length; i++)
{
- var fieldName = data.fields[i];
- var fieldToDisplay = data.fields[i];
+ var toBeDisplayed = true;
- if (data.selectedFields.indexOf(fieldName) < 0)
+ for (var j = 0; j < data.selectedFields.length; j++)
{
- if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
+ if (data.fields[i] == data.selectedFields[j])
{
- fieldToDisplay = data.allColumnsAliases[i];
+ toBeDisplayed = false;
+ break;
+ }
+ }
+
+ if (toBeDisplayed == true)
+ {
+ var fieldName = data.fields[i];
+ var fieldToDisplay = data.fields[i];
+
+ if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
+ {
+ fieldToDisplay = data.columnsAliases[i];
}
strDropDown = '';
@@ -211,77 +316,65 @@ var FHC_FilterWidget = {
*/
_renderAppliedFilters: function(data) {
- $("#addFilter").off('change');
-
- var data = FHC_AjaxClient.getData(data);
- var strDropDown = '';
-
- $("#addFilter").append(strDropDown);
-
- if (data.selectedFilters != null)
+ if (data.hasOwnProperty('datasetMetadata') && $.isArray(data.datasetMetadata)
+ && data.hasOwnProperty('filters') && $.isArray(data.filters))
{
- for (var i = 0; i < data.selectedFilters.length; i++)
+ for (var i = 0; i < data.filters.length; i++)
{
- var selectedFilters = '';
-
- selectedFilters += '';
- selectedFilters += data.selectedFiltersAliases[i];
- selectedFilters += '';
-
- selectedFilters += FHC_FilterWidget._getSelectedFilterFields(
- data.selectedFiltersMetaData[i],
- data.selectedFiltersActiveFilters[i],
- data.selectedFiltersActiveFiltersOperation[i],
- data.selectedFiltersActiveFiltersOption[i]
- );
-
- selectedFilters += '';
- selectedFilters += '';
- selectedFilters += '';
-
- selectedFilters += '
';
-
- $("#selectedFilters").append(selectedFilters);
- }
- }
-
- if (data.allSelectedFields != null)
- {
- for (var i = 0; i < data.allSelectedFields.length; i++)
- {
- var fieldName = data.allSelectedFields[i];
- var fieldToDisplay = data.allSelectedFields[i];
-
- if (data.selectedFilters.indexOf(fieldName) < 0)
+ for (var j = 0; j < data.datasetMetadata.length; j++)
{
- if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases))
+ if (data.filters[i].name == data.datasetMetadata[j].name)
{
- fieldToDisplay = data.allColumnsAliases[i];
- }
+ var appliedFilters = '';
- strDropDown = '';
- $("#addFilter").append(strDropDown);
+ appliedFilters += '';
+
+ if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
+ {
+ fieldToDisplay = data.columnsAliases[j];
+ }
+ else
+ {
+ fieldToDisplay = data.datasetMetadata[j].name;
+ }
+
+ appliedFilters += fieldToDisplay;
+ appliedFilters += '';
+
+ appliedFilters += FHC_FilterWidget._getSelectedFilterFields(
+ data.datasetMetadata[j],
+ data.filters[i]
+ );
+
+ appliedFilters += '';
+ appliedFilters += ' ';
+ appliedFilters += '';
+
+ appliedFilters += '
';
+
+ $("#appliedFilters").append(appliedFilters);
+ }
}
}
}
- $(".select-filter-operation").change(function() {
+ $(".applied-filter-operation").change(function() {
if ($(this).val() == "set" || $(this).val() == "nset")
{
- $(this).parent().parent().find(".select-filter-operation-value").addClass("hidden-control");
- $(this).parent().parent().find(".select-filter-option").addClass("hidden-control");
+ $(this).parent().parent().find(".applied-filter-condition").addClass("hidden-control");
+ $(this).parent().parent().find(".applied-filter-option").addClass("hidden-control");
- $(this).parent().parent().find(".select-filter-operation-value").prop('disabled', true);
- $(this).parent().parent().find(".select-filter-option").prop('disabled', true);
+ $(this).parent().parent().find(".applied-filter-condition").prop('disabled', true);
+ $(this).parent().parent().find(".applied-filter-option").prop('disabled', true);
}
else
{
- $(this).parent().parent().find(".select-filter-operation-value").removeClass("hidden-control");
- $(this).parent().parent().find(".select-filter-option").removeClass("hidden-control");
+ $(this).parent().parent().find(".applied-filter-condition").removeClass("hidden-control");
+ $(this).parent().parent().find(".applied-filter-option").removeClass("hidden-control");
- $(this).parent().parent().find(".select-filter-operation-value").prop('disabled', false);
- $(this).parent().parent().find(".select-filter-option").prop('disabled', false);
+ $(this).parent().parent().find(".applied-filter-condition").prop('disabled', false);
+ $(this).parent().parent().find(".applied-filter-option").prop('disabled', false);
}
});
@@ -295,9 +388,9 @@ var FHC_FilterWidget = {
$("#selectedFilters > div").each(function(i, e) {
var tmpSelectFilterName = $(this).find('.hidden-field-name').val();
- var tmpSelectFilterOperation = $(this).find('.select-filter-operation').val();
- var tmpSelectFilterOperationValue = $(this).find('.select-filter-operation-value:enabled').val();
- var tmpSelectFilterOption = $(this).find('.select-filter-option:enabled').val();
+ var tmpSelectFilterOperation = $(this).find('.applied-filter-operation').val();
+ var tmpSelectFilterOperationValue = $(this).find('.applied-filter-condition:enabled').val();
+ var tmpSelectFilterOption = $(this).find('.applied-filter-option:enabled').val();
selectFilterName.push(tmpSelectFilterName);
selectFilterOperation.push(tmpSelectFilterOperation);
@@ -325,7 +418,7 @@ var FHC_FilterWidget = {
);
});
- $(".remove-selected-filter").click(function(event) {
+ $(".remove-applied-filter").click(function(event) {
//
FHC_AjaxClient.ajaxCallPost(
'system/Filters/removeSelectedFilters',
@@ -345,287 +438,44 @@ var FHC_FilterWidget = {
},
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/**
*
*/
- renderSelectedFilters: function() {
- //
- FHC_AjaxClient.ajaxCallGet(
- 'system/Filters/getFilters',
+ _renderDropDownFilters: function(data) {
+
+ $("#addFilter").off('change');
+
+ if (data.hasOwnProperty('fields') && $.isArray(data.fields))
+ {
+ for (var i = 0; i < data.fields.length; i++)
{
- filter_page: FHC_FilterWidget._getFilterPage()
- },
- {
- successCallback: function(data, textStatus, jqXHR) {
+ var toBeDisplayed = true;
- if (FHC_AjaxClient.hasData(data))
- {
-
- }
-
- FHC_FilterWidget._addEventsSFilters();
- }
- }
- );
- },
-
- /**
- *
- */
- renderTableDataset: function() {
- //
- FHC_AjaxClient.ajaxCallGet(
- 'system/Filters/tableDataset',
- {
- filter_page: FHC_FilterWidget._getFilterPage()
- },
- {
- successCallback: function(data, textStatus, jqXHR) {
-
- FHC_FilterWidget._resetTableDataset();
-
- if (data != null)
- {
- if (data.checkboxes != null)
- {
- $("#filterTableDataset > thead > tr").append("Select | ");
- }
-
- var arrayFieldsToDisplay = [];
-
- if (data.columnsAliases != null && $.isArray(data.columnsAliases) && data.columnsAliases.length > 0)
- {
- arrayFieldsToDisplay = data.columnsAliases;
- }
- else if (data.selectedFields != null && $.isArray(data.selectedFields))
- {
- arrayFieldsToDisplay = data.selectedFields;
- }
-
- /* ------------------------------------------------------------------------------------------------ */
- if (data.checkboxes != null && data.checkboxes != "")
- {
- $("#filterTableDataset > thead > tr").html("
Select | ");
- }
-
- for (var i = 0; i < arrayFieldsToDisplay.length; i++)
- {
- var th = arrayFieldsToDisplay[i];
-
- $("#filterTableDataset > thead > tr").append("
" + th + " | ");
- }
-
- if (data.additionalColumns != null && $.isArray(data.additionalColumns))
- {
- for (var i = 0; i < data.additionalColumns.length; i++)
- {
- var th = data.additionalColumns[i];
-
- $("#filterTableDataset > thead > tr").append("
" + th + " | ");
- }
- }
- /* ------------------------------------------------------------------------------------------------ */
-
- if (arrayFieldsToDisplay.length > 0)
- {
- if (data.dataset != null && $.isArray(data.dataset))
- {
- for (var i = 0; i < data.dataset.length; i++)
- {
- var record = data.dataset[i];
- var strHtml = '
';
-
- if (data.checkboxes != null && data.checkboxes != "")
- {
- strHtml += '| ';
- strHtml += '';
- strHtml += ' | ';
- }
-
- $.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
-
- if (record.hasOwnProperty(data.selectedFields[i]))
- {
- strHtml += '' + record[data.selectedFields[i]] + ' | ';
- }
- });
-
- if (data.additionalColumns != null && $.isArray(data.additionalColumns))
- {
- $.each(data.additionalColumns, function(i, additionalColumn) {
-
- if (record.hasOwnProperty(additionalColumn))
- {
- strHtml += '' + record[additionalColumn] + ' | ';
- }
-
- });
- }
-
- strHtml += '
';
-
- $("#filterTableDataset > tbody").append(strHtml);
- }
- }
- else
- {
- // console.log("No dataset!!!");
- }
- }
- else
- {
- // console.log("No fields to display!!!");
- }
- }
- else
- {
- console.log("No data!!!");
- }
-
- FHC_FilterWidget._callTableSorter();
-
- }
- }
- );
- },
-
- //------------------------------------------------------------------------------------------------------------------
- // Private methods
-
- /**
- *
- */
- _drangAndDropEvents: function() {
- $(".filter-select-field-dnd-span").draggable({
- containment: "parent",
- cursor: "move",
- opacity: 0.4,
- revert: "invalid",
- revertDuration: 200,
- drag: function(event, ui) {
-
- var padding = 20;
- var draggedElement = $(this);
-
- $(".filter-select-field-dnd-span").each(function(i, e) {
-
- if ($(this).attr('id') != draggedElement.attr('id'))
- {
- $(this).removeClass("selection-after");
- $(this).removeClass("selection-before");
-
- var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
-
- if (event.pageX > ($(this).offset().left - (padding / 2))
- && event.pageX < ($(this).offset().left + $(this).width() + (padding / 2)))
- {
- if (event.pageX > elementCenter)
- {
- $(this).addClass("selection-after");
- $(this).removeClass("selection-before");
- }
- else if (event.pageX < elementCenter)
- {
- $(this).addClass("selection-before");
- $(this).removeClass("selection-after");
- }
- }
- }
-
- });
-
- }
- });
-
- $(".filter-select-field-dnd-span").droppable({
- accept: ".filter-select-field-dnd-span",
- drop: function(event, ui) {
-
- var padding = 20;
- var elementCenter = $(this).offset().left + ((padding + $(this).width()) / 2);
- var draggedElement = ui.helper;
-
- if (event.pageX > elementCenter)
+ for (var j = 0; j < data.filters.length; j++)
{
- draggedElement.insertAfter($(this));
- }
- else if (event.pageX < elementCenter)
- {
- draggedElement.insertBefore($(this));
- }
-
- $(this).removeClass("selection-before");
- $(this).removeClass("selection-after");
-
- draggedElement.css({left: '0px', top: '10px'});
-
- var arrayDndId = [];
-
- $(".filter-select-field-dnd-span").each(function(i, e) {
-
- arrayDndId[i] = $(this).attr('id').replace('dnd', '');
-
- });
-
- //
- FHC_AjaxClient.ajaxCallPost(
- 'system/Filters/sortSelectedFields',
+ if (data.fields[i] == data.filters[j].name)
{
- selectedFieldsLst: arrayDndId,
- filter_page: FHC_FilterWidget._getFilterPage()
- },
- {
- successCallback: function(data, textStatus, jqXHR) {
- FHC_FilterWidget._resetSelectedFields();
-
- FHC_FilterWidget.renderSelectedFields();
- FHC_FilterWidget.renderTableDataset();
- }
+ toBeDisplayed = false;
+ break;
}
- );
+ }
+
+ if (toBeDisplayed == true)
+ {
+ var fieldName = data.fields[i];
+ var fieldToDisplay = data.fields[i];
+
+ if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
+ {
+ fieldToDisplay = data.columnsAliases[i];
+ }
+
+ strDropDown = '
';
+ $("#addFilter").append(strDropDown);
+ }
}
- });
- },
+ }
- /**
- *
- */
- _resetSelectedFields: function() {
- $("#filterSelectFieldsDnd").html("");
- $("#addField").html("");
- },
-
- /**
- *
- */
- _addEventsSFilters: function() {
$("#addFilter").change(function(event) {
//
FHC_AjaxClient.ajaxCallPost(
@@ -645,61 +495,68 @@ var FHC_FilterWidget = {
);
});
-
-
},
/**
*
*/
- _getSelectedFilterFields: function(metaData, activeFilters, activeFiltersOperation, activeFiltersOption) {
+ _resetSelectedFields: function() {
+ $("#dragAndDropFieldsArea").html("");
+ $("#addField").html("");
+ },
+
+ /**
+ *
+ */
+ _getSelectedFilterFields: function(metaData, appliedFilter) {
+
var html = '';
if (metaData.type.toLowerCase().indexOf("int") >= 0)
{
html = '
';
- html += ' ';
html += '
';
- html += ' ';
+ html += ' ';
html += '';
}
if (metaData.type.toLowerCase().indexOf('varchar') >= 0 || metaData.type.toLowerCase() == 'text')
{
html = '
';
- html += ' ';
- html += ' ';
- html += ' ';
+ html += ' ';
+ html += ' ';
+ html += ' ';
html += ' ';
html += '';
html += '
';
- html += ' ';
+ html += ' ';
html += '';
}
if (metaData.type.toLowerCase().indexOf('bool') >= 0)
{
html = '
';
- html += ' ';
- html += ' ';
- html += ' ';
+ html += ' ';
+ html += ' ';
+ html += ' ';
html += ' ';
html += '';
html += '
';
- html += ' ';
+ html += ' ';
html += '';
}
if (metaData.type.toLowerCase().indexOf('timestamp') >= 0 || metaData.type.toLowerCase().indexOf('date') >= 0)
{
- var classOperation = 'form-control select-filter-operation-value';
- var classOption = 'form-control select-filter-option';
+ var classOperation = 'form-control applied-filter-condition';
+ var classOption = 'form-control applied-filter-option';
var disabled = "";
- if (activeFiltersOperation == "set" || activeFiltersOperation == "nset")
+ if (appliedFilter.operation == "set" || appliedFilter.operation == "nset")
{
classOperation += ' hidden-control';
classOption += ' hidden-control';
@@ -707,20 +564,20 @@ var FHC_FilterWidget = {
}
html = '
';
- html += ' ';
- html += ' ';
- html += ' ';
- html += ' ';
- html += ' ';
+ html += ' ';
+ html += ' ';
+ html += ' ';
+ html += ' ';
+ html += ' ';
html += ' ';
html += '';
html += '
';
- html += ' ';
+ html += ' ';
html += '';
html += '
';
html += ' ';
- html += ' ';
- html += ' ';
+ html += ' ';
+ html += ' ';
html += ' ';
html += '';
}
@@ -732,6 +589,120 @@ var FHC_FilterWidget = {
return html;
},
+ /**
+ *
+ */
+ _renderTableDataset: function(data) {
+
+ FHC_FilterWidget._resetTableDataset();
+
+ if (data.hasOwnProperty('checkboxes') && data.checkboxes.trim() != '')
+ {
+ $("#filterTableDataset > thead > tr").append("
Select | ");
+ }
+
+ var arrayFieldsToDisplay = [];
+
+ if (data.hasOwnProperty('selectedFields') && $.isArray(data.selectedFields))
+ {
+ if (data.hasOwnProperty('columnsAliases') && $.isArray(data.columnsAliases))
+ {
+ for (var i = 0; i < data.selectedFields.length; i++)
+ {
+ for (var j = 0; j < data.fields.length; j++)
+ {
+ if (data.selectedFields[i] == data.fields[j])
+ {
+ arrayFieldsToDisplay[i] = data.columnsAliases[j];
+ }
+ }
+ }
+ }
+ else
+ {
+ arrayFieldsToDisplay = data.selectedFields;
+ }
+ }
+
+ for (var i = 0; i < arrayFieldsToDisplay.length; i++)
+ {
+ var th = arrayFieldsToDisplay[i];
+
+ $("#filterTableDataset > thead > tr").append("
" + th + " | ");
+ }
+
+ if (data.hasOwnProperty('additionalColumns') && $.isArray(data.additionalColumns))
+ {
+ for (var i = 0; i < data.additionalColumns.length; i++)
+ {
+ var th = data.additionalColumns[i];
+
+ $("#filterTableDataset > thead > tr").append("
" + th + " | ");
+ }
+ }
+
+ if (arrayFieldsToDisplay.length > 0)
+ {
+ if (data.hasOwnProperty('dataset') && $.isArray(data.dataset))
+ {
+ for (var i = 0; i < data.dataset.length; i++)
+ {
+ var record = data.dataset[i];
+ var strHtml = '
';
+
+ if (data.checkboxes != null && data.checkboxes != "")
+ {
+ strHtml += '| ';
+ strHtml += '';
+ strHtml += ' | ';
+ }
+
+ $.each(arrayFieldsToDisplay, function(i, fieldToDisplay) {
+
+ if (record.hasOwnProperty(data.selectedFields[i]))
+ {
+ strHtml += '' + record[data.selectedFields[i]] + ' | ';
+ }
+ });
+
+ if (data.additionalColumns != null && $.isArray(data.additionalColumns))
+ {
+ $.each(data.additionalColumns, function(i, additionalColumn) {
+
+ if (record.hasOwnProperty(additionalColumn))
+ {
+ strHtml += '' + record[additionalColumn] + ' | ';
+ }
+
+ });
+ }
+
+ strHtml += '
';
+
+ $("#filterTableDataset > tbody").append(strHtml);
+ }
+ }
+ else
+ {
+ // console.log("No dataset!!!");
+ }
+ }
+ else
+ {
+ // console.log("No fields to display!!!");
+ }
+
+ FHC_FilterWidget._callTableSorter();
+
+ },
+
+ /**
+ *
+ */
+ _getFilterPage: function() {
+ return FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method;
+ },
+
/**
*
*/
@@ -739,6 +710,44 @@ var FHC_FilterWidget = {
$("#addFilter").html("");
$("#selectedFilters").html("");
},
+
+ /**
+ *
+ */
+ _resetTableDataset: function() {
+ $("#filterTableDataset > thead > tr").html("");
+ $("#filterTableDataset > tbody").html("");
+ },
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/**
*
@@ -758,20 +767,9 @@ var FHC_FilterWidget = {
}
},
- /**
- *
- */
- _resetTableDataset: function() {
- $("#filterTableDataset > thead > tr").html("");
- $("#filterTableDataset > tbody").html("");
- },
- /**
- *
- */
- _getFilterPage: function() {
- return FHC_JS_DATA_STORAGE_OBJECT.called_path + "/" + FHC_JS_DATA_STORAGE_OBJECT.called_method;
- }
+
+
};
@@ -780,27 +778,37 @@ var FHC_FilterWidget = {
*/
$(document).ready(function() {
- $("[data-toggle='collapse']").click(function() {
-
- var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
-
- if (filterOptionsStatus != null && filterOptionsStatus == 'closed')
+ if (typeof(Storage) !== "undefined")
+ {
+ if (sessionStorage.getItem('filter-options-status') && sessionStorage.getItem('filter-options-status') == 'open')
{
- sessionStorage.setItem('filter-options-status', 'open');
+ $('.collapse').collapse("show");
}
else
{
sessionStorage.setItem('filter-options-status', 'closed');
}
+ }
+
+ $("[data-toggle='collapse']").click(function() {
+
+ if (typeof(Storage) !== "undefined")
+ {
+ if (sessionStorage.getItem('filter-options-status'))
+ {
+ if (sessionStorage.getItem('filter-options-status') == 'closed')
+ {
+ sessionStorage.setItem('filter-options-status', 'open');
+ }
+ else
+ {
+ sessionStorage.setItem('filter-options-status', 'closed');
+ }
+ }
+ }
});
- var filterOptionsStatus = sessionStorage.getItem('filter-options-status');
- if (filterOptionsStatus != null && filterOptionsStatus == 'open')
- {
- $('.collapse').collapse("show");
- }
-
$("#saveCustomFilterButton").click(function() {
if ($("#customFilterDescription").val() != '')
{