This is an automated email from the ASF dual-hosted git repository. nixon pushed a commit to branch branch-2.0 in repository https://gitbox.apache.org/repos/asf/atlas.git
commit 296be6b5945ef9df2d701e00ea25aafb7d70043b Author: prasad pawar <[email protected]> AuthorDate: Thu Dec 10 18:04:29 2020 +0530 Atlas-4066: UI:- Fix Attribute Filter: 'is null' and 'is not null' does not work for user-defined properties. Signed-off-by: nixonrodrigues <[email protected]> (cherry picked from commit a4b72a00786a25e13a7453ccb199cc74cefd4aed) --- dashboardv2/public/js/views/search/QueryBuilderView.js | 11 ++++++----- dashboardv3/public/js/views/search/QueryBuilderView.js | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/dashboardv2/public/js/views/search/QueryBuilderView.js b/dashboardv2/public/js/views/search/QueryBuilderView.js index dd38cc7..49e9f20 100644 --- a/dashboardv2/public/js/views/search/QueryBuilderView.js +++ b/dashboardv2/public/js/views/search/QueryBuilderView.js @@ -193,10 +193,10 @@ define(['require', /* __customAttributes */ if (isSystemAttr && attrObj.name === "__customAttributes") { obj["input"] = function(rule) { - return rule.operator.nb_inputs ? that.getUserDefineInput() : null + return (rule && rule.operator && rule.operator.nb_inputs) ? that.getUserDefineInput() : null } obj["valueGetter"] = function(rule) { - if (rule.operator.type === "contains") { + if (rule && rule.operator && rule.operator.type === "contains") { var $el = rule.$el.find('.rule-value-container'), key = $el.find("[data-type='key']").val(), val = $el.find("[data-type='value']").val(); @@ -205,13 +205,15 @@ define(['require', } else { return new Error("Key & Value is Required"); } + } else { + return [] // in CommonviewFunction.js value is set to "" for object; } } obj["valueSetter"] = function(rule) { - if (!rule.$el.hasClass("user-define")) { + if (rule && !rule.$el.hasClass("user-define")) { rule.$el.addClass("user-define"); } - if (rule.value && !(rule.value instanceof Error)) { + if (rule && rule.value && rule.value.length && !(rule.value instanceof Error)) { var $el = rule.$el.find('.rule-value-container'), value = rule.value.split("="); if (value) { @@ -220,7 +222,6 @@ define(['require', } } } - obj.operators = ['contains', 'is_null', 'not_null']; return obj; } diff --git a/dashboardv3/public/js/views/search/QueryBuilderView.js b/dashboardv3/public/js/views/search/QueryBuilderView.js index 9e14891..c9011f2 100644 --- a/dashboardv3/public/js/views/search/QueryBuilderView.js +++ b/dashboardv3/public/js/views/search/QueryBuilderView.js @@ -193,10 +193,10 @@ define(['require', /* __customAttributes */ if (isSystemAttr && attrObj.name === "__customAttributes") { obj["input"] = function(rule) { - return rule.operator.nb_inputs ? that.getUserDefineInput() : null + return (rule && rule.operator && rule.operator.nb_inputs) ? that.getUserDefineInput() : null } obj["valueGetter"] = function(rule) { - if (rule.operator.type === "contains") { + if (rule && rule.operator && rule.operator.type === "contains") { var $el = rule.$el.find('.rule-value-container'), key = $el.find("[data-type='key']").val(), val = $el.find("[data-type='value']").val(); @@ -205,13 +205,15 @@ define(['require', } else { return new Error("Key & Value is Required"); } + } else { + return [] // in CommonviewFunction.js value is set to "" for object; } } obj["valueSetter"] = function(rule) { - if (!rule.$el.hasClass("user-define")) { + if (rule && !rule.$el.hasClass("user-define")) { rule.$el.addClass("user-define"); } - if (rule.value && !(rule.value instanceof Error)) { + if (rule && rule.value && rule.value.length && !(rule.value instanceof Error)) { var $el = rule.$el.find('.rule-value-container'), value = rule.value.split("="); if (value) { @@ -220,7 +222,6 @@ define(['require', } } } - obj.operators = ['contains', 'is_null', 'not_null']; return obj; }
