From a6fdfbb75c088d61d4044288e8a9b8f8b03bb94d Mon Sep 17 00:00:00 2001 From: pratik pandey <pratik.pandey@freestoneinfotech.com> Date: Tue, 5 Dec 2017 17:11:05 +0530 Subject: [PATCH] ATLAS-2285 : UI fix in handling of date attributes during saved searche rename Signed-off-by: Madhan Neethiraj <madhan@apache.org> --- dashboardv2/public/js/utils/CommonViewFunction.js | 38 ++++++++++++++++++++------------------ dashboardv2/public/js/views/search/QueryBuilderView.js | 2 +- dashboardv2/public/js/views/search/SearchLayoutView.js | 2 +- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/dashboardv2/public/js/utils/CommonViewFunction.js b/dashboardv2/public/js/utils/CommonViewFunction.js index 7cd617e..e35e9ee 100644 --- a/dashboardv2/public/js/utils/CommonViewFunction.js +++ b/dashboardv2/public/js/utils/CommonViewFunction.js @@ -259,8 +259,8 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum return '<div class="tagList btn-inline btn-fixed-width">' + atags + addTag + '</div>'; } CommonViewFunction.generateQueryOfFilter = function(value) { - var entityFilters = CommonViewFunction.attributeFilter.extractUrl(value.entityFilters), - tagFilters = CommonViewFunction.attributeFilter.extractUrl(value.tagFilters), + var entityFilters = CommonViewFunction.attributeFilter.extractUrl({ "value": value.entityFilters, "formatDate": true }), + tagFilters = CommonViewFunction.attributeFilter.extractUrl({ "value": value.tagFilters, "formatDate": true }), queryArray = [], objToString = function(filterObj) { var tempObj = []; @@ -348,14 +348,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum _.each(val.criterion, function(obj) { var attributeDef = _.findWhere(attributeDefs, { 'name': obj.attributeName }); if (attributeDef) { - if (attributeDef.typeName == "date") { - obj.attributeValue = moment(parseInt(obj.attributeValue)).format('MM/DD/YYYY h:mm A'); - } + obj.attributeValue = obj.attributeValue; obj['attributeType'] = attributeDef.typeName; } }); } - val = CommonViewFunction.attributeFilter.generateUrl(val.criterion); + val = CommonViewFunction.attributeFilter.generateUrl({ "value": val.criterion }); } else if (k == "entityFilters") { if (entityDefCollection) { var entityDef = entityDefCollection.fullCollection.findWhere({ 'name': value.typeName }), @@ -367,14 +365,12 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum _.each(val.criterion, function(obj) { var attributeDef = _.findWhere(attributeDefs, { 'name': obj.attributeName }); if (attributeDef) { - if (attributeDef.typeName == "date") { - obj.attributeValue = moment(parseInt(obj.attributeValue)).format('MM/DD/YYYY h:mm A'); - } + obj.attributeValue = obj.attributeValue; obj['attributeType'] = attributeDef.typeName; } }); } - val = CommonViewFunction.attributeFilter.generateUrl(val.criterion); + val = CommonViewFunction.attributeFilter.generateUrl({ "value": val.criterion }); } else if (k == "includeDE") { if (val) { val = false; @@ -389,12 +385,15 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum } } CommonViewFunction.attributeFilter = { - generateUrl: function(attrObj) { - var attrQuery = []; + generateUrl: function(options) { + var attrQuery = [], + attrObj = options.value, + formatedDateToLong = options.formatedDateToLong; if (attrObj) { _.each(attrObj, function(obj) { - var url = [(obj.id || obj.attributeName), mapApiOperatorToUI(obj.operator), _.trim(obj.value || obj.attributeValue)], - type = (obj.type || obj.attributeType); + var type = (obj.type || obj.attributeType), + value = _.trim(obj.value || obj.attributeValue), + url = [(obj.id || obj.attributeName), mapApiOperatorToUI(obj.operator), (type === 'date' && formatedDateToLong ? Date.parse(value) : value)]; if (type) { url.push(type); } @@ -436,8 +435,10 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum return oper; } }, - extractUrl: function(urlObj) { - var attrObj = []; + extractUrl: function(options) { + var attrObj = [], + urlObj = options.value, + formatDate = options.formatDate; if (urlObj && urlObj.length) { _.each(urlObj.split(":,:"), function(obj) { var temp = obj.split("::"); @@ -445,6 +446,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum if (temp[3]) { finalObj['type'] = temp[3]; } + finalObj.value = finalObj.type === 'date' && formatDate ? moment(parseInt(finalObj.value)).format('MM/DD/YYYY h:mm A') : finalObj.value; attrObj.push(finalObj); }); return attrObj; @@ -456,7 +458,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum if (url && url.length) { var parsObj = { "condition": 'AND', - "criterion": convertKeyAndExtractObj(this.extractUrl(url)) + "criterion": convertKeyAndExtractObj(this.extractUrl({ "value": url })) } return parsObj; } else { @@ -470,7 +472,7 @@ define(['require', 'utils/Utils', 'modules/Modal', 'utils/Messages', 'utils/Enum tempObj = { "attributeName": rulObj.id, "operator": mapUiOperatorToAPI(rulObj.operator), - "attributeValue": _.trim(rulObj.type === "date" ? Date.parse(rulObj.value) : rulObj.value) + "attributeValue": _.trim(rulObj.value) } convertObj.push(tempObj); }); diff --git a/dashboardv2/public/js/views/search/QueryBuilderView.js b/dashboardv2/public/js/views/search/QueryBuilderView.js index 7db4ea7..ef84c2f 100644 --- a/dashboardv2/public/js/views/search/QueryBuilderView.js +++ b/dashboardv2/public/js/views/search/QueryBuilderView.js @@ -137,7 +137,7 @@ define(['require', var that = this, filters = []; if (this.value) { - var rules_widgets = CommonViewFunction.attributeFilter.extractUrl(this.searchTableFilters[this.filterType][(this.tag ? this.value.tag : this.value.type)]); + var rules_widgets = CommonViewFunction.attributeFilter.extractUrl({ "value": this.searchTableFilters[this.filterType][(this.tag ? this.value.tag : this.value.type)], "formatDate": true }); } _.each(this.attrObj, function(obj) { var returnObj = that.getObjDef(obj, rules_widgets); diff --git a/dashboardv2/public/js/views/search/SearchLayoutView.js b/dashboardv2/public/js/views/search/SearchLayoutView.js index d11e985..434e850 100644 --- a/dashboardv2/public/js/views/search/SearchLayoutView.js +++ b/dashboardv2/public/js/views/search/SearchLayoutView.js @@ -396,7 +396,7 @@ define(['require', var rule = queryBuilderRef.queryBuilder('getRules'); } if (rule) { - var ruleUrl = CommonViewFunction.attributeFilter.generateUrl(rule.rules); + var ruleUrl = CommonViewFunction.attributeFilter.generateUrl({ "value": rule.rules, "formatedDateToLong": true }); this.searchTableFilters[filtertype][(isTag ? this.value.tag : this.value.type)] = ruleUrl; this.makeFilterButtonActive(filtertype); if (!isTag && this.value && this.value.type && this.searchTableColumns) { -- libgit2 0.27.1